1
1
Fork 0
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:
Tony Tkáčik 2017-06-11 00:17:56 +02:00
parent 7479fb53f8
commit 6ec235ce19
4 changed files with 45 additions and 17 deletions

View file

@ -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 "$@"