mirror of
https://github.com/tonydamage/nux-env.git
synced 2025-12-11 13:24:28 +01:00
nuxfs: Added macro support.
Signed-off-by: Tony Tkacik <tonydamage@gmail.com>
This commit is contained in:
parent
7479fb53f8
commit
6ec235ce19
4 changed files with 45 additions and 17 deletions
|
|
@ -55,17 +55,12 @@ function nux.dsl.keyword.exec {
|
|||
local ALLWAYS_NAME=.allways$func;
|
||||
|
||||
shift; shift;
|
||||
if nux.check.function $ALLWAYS_NAME; then
|
||||
nux.log trace Executing: $NC_White$ALLWAYS_NAME$NC_No "$@";
|
||||
$ALLWAYS_NAME "$@";
|
||||
fi
|
||||
nux.exec.optional $ALLWAYS_NAME "$@";
|
||||
if nux.check.function $FUNC_NAME; then
|
||||
nux.log trace Executing: $NC_White$FUNC_NAME$NC_No "$@";
|
||||
$FUNC_NAME "$@";
|
||||
nux.exec.optional $FUNC_NAME "$@";
|
||||
return $?;
|
||||
elif nux.check.function $DEFAULT_NAME; then
|
||||
nux.log trace Executing: $NC_White$DEFAULT_NAME$NC_No "$@";
|
||||
$DEFAULT_NAME "$@";
|
||||
nux.exec.optional $DEFAULT_NAME "$@";
|
||||
return $?;
|
||||
fi
|
||||
}
|
||||
|
|
@ -186,6 +181,20 @@ function nux.dsl.execute {
|
|||
"""
|
||||
}
|
||||
|
||||
.macro() {
|
||||
local keyword=$1
|
||||
nux.log trace Defining macro $NC_White"$keyword"
|
||||
nux.eval """
|
||||
${keyword}() {
|
||||
$(.arg.parser "$@")
|
||||
nux.exec.optional ${keyword}.entered \"\$@\"
|
||||
}
|
||||
end${keyword}() {
|
||||
return 0;
|
||||
}
|
||||
"""
|
||||
}
|
||||
|
||||
.keyword.virtual() {
|
||||
local keyword=$1
|
||||
.keyword "$@"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue