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

Nuweb drop

Signed-off-by: root <root@tdm-cloud.(none)>
This commit is contained in:
root 2019-03-09 12:32:11 +01:00
parent ee9a720f67
commit a7b55553ad
62 changed files with 1772 additions and 608 deletions

50
inc/nux/meta.nuxsh.sh Executable file
View file

@ -0,0 +1,50 @@
nux_meta_backends="func file"
@namespace nux.meta {
function :add-impl impl {
nux_meta_backends="$impl $nux_meta_backends"
}
function :get filename name default {
for backend in $nux_meta_backends; do
#nux.log debug "Invoking $backend nux.meta.impl.$backend.get $(declare -f nux.meta.impl.$backend.get)";
local value=$(nux.meta.impl.$backend.get "$filename" "$name");
if [ -n "$value" ] {
echo "$value"
return 0;
}
done
if [ -z "$default" ] {
return 1;
}
echo "$default"
}
}
@namespace nux.meta.impl.file {
function :get filename name {
if [ -e "$filename/.nux.meta" ] {
grep "^$name " "$filename/.nux.meta" | cut -d " " -f2-
}
}
function :add filename name value {
local meta="$filename/.nux.meta";
local metaline="$name $value";
if ! ( [ -e "$meta" ] && grep "^$metaline\$" "$meta" > /dev/null ) {
nux.log debug "Writing pin to $meta"
echo "$metaline" >> "$meta"
}
}
}
@namespace nux.meta.impl.func {
function :get filename name {
local funcspec="${name//:/.}"
nux.exec.optional "nux.meta.impl.func.$funcspec" "$filename"
}
}