dots2/.antidote/functions/__antidote_parse_bundles

41 lines
864 B
Bash

#!/bin/zsh
### Parse antidote's bundle DSL.
#function __antidote_parse_bundles {
emulate -L zsh; setopt local_options $_adote_funcopts
$__adote_awkcmd '
BEGIN { RS="[\r\n]" }
# skip comments and empty lines
/^ *$/ || /^ *#/ {next}
# strip trailing comments
{ sub(/[ \t]#.*$/,"",$0) }
# escape leading $ variables
{ sub(/^\$/,"\\$",$0) }
# handle extension functionality (eg :use ohmyzsh)
$1~/^:/ {
sub(/^:/,"",$1)
printf "antidote-script-" $1
for (i=2; i<=NF; i++) {
printf " %s",$i
}
printf "\n"
next
}
# move flags to front and call antidote-script
{
sub(/ #.*$/,"",$0)
printf "antidote-script"
for (i=2; i<=NF; i++) {
sub(/^/,"--",$i)
sub(/:/," ",$i)
printf " %s",$i
}
printf " %s\n",$1
}
' "$@"
#}