1
1
Fork 0
mirror of https://github.com/tonydamage/nux-env.git synced 2025-12-11 13:24:28 +01:00

Added taskie configuration & other stuff.

Signed-off-by: Tony Tkacik <tonydamage@gmail.com>
This commit is contained in:
Tony Tkáčik 2019-01-28 06:22:49 +01:00
parent 6dafaf5b9d
commit fc1b5bbc87
19 changed files with 744 additions and 7 deletions

68
inc/nudsl/nuxdsl.inc.sh Normal file
View file

@ -0,0 +1,68 @@
nux.use nudsl/yanglike
lang.nuxdsl.strict.def() {
lang.yanglike.def
.keyword.plan() {
nudsl.process.fail "undefined keyword: $keyword";
}
.block.start.plan() {
nudsl.process.fail "undefined block: $keyword";
}
.block.end.plan() {
echo "${indent}end${keyword}";
}
.match._unmatched.plan() {
nudsl.process.fail "invalid syntax: $line";
}
}
lang.nuxdsl.def() {
lang.nuxdsl.strict.def
.keyword.plan() {
echo "$indent$keyword $args";
}
.block.start.plan() {
.keyword.plan
}
.block.end.plan() {
echo "${indent}end${keyword}";
}
.match._unmatched.plan() {
echo "$line";
}
}
.default.plan() {
echo "$indent$keyword $args";
}
.blockend.plan() {
echo "${indent}end${keyword}";
}
.block() {
eval """
.block.$1.start.plan() {
.default.plan
}
.block.$1.end.plan() {
.blockend.plan
}
.keyword.$1.plan() {
.default.plan
}
"""
}
.keyword() {
eval """
.keyword.$1.plan() {
.default.plan
}
"""
}