@@ -58,7 +58,7 @@ function _available-methods () {
5858
5959# Dispatches CLI Methods
6060function _handle () {
61- METHOD=$( _available-methods | grep -Eoh " ^${1} \$ " )
61+ METHOD=$( _available-methods 2> /dev/null | grep -Eoh " ^${1} \$ " )
6262 if [ " x${METHOD} " != " x" ]; then ${METHOD} ${@: 2} ; exit 0
6363 else
6464 # Call a Catch-All method
@@ -70,7 +70,7 @@ function _handle () {
7070
7171# Generate Autocomplete Script
7272function _generate-autocomplete () {
73- SCRIPT=" $( echo ${SCRIPT_NAME} | sed -E ' s/[ ]+/-/' ) "
73+ SCRIPT=" $( printf " %s " ${SCRIPT_NAME} | sed -E ' s/[ ]+/-/' ) "
7474 ACS=" function __ac-${SCRIPT} -prompt() {"
7575 ACS+=" local cur"
7676 ACS+=" COMPREPLY=()"
@@ -116,16 +116,16 @@ ARGS=(); EXPORTS=(); while test $# -gt 0; do
116116 generate-autocomplete) _generate-autocomplete ;;
117117 * ) # Where the Magic Happens!
118118 if [ ${# SCRIPT_OPTS[@]} -gt 0 ]; then for OPT in ${SCRIPT_OPTS[@]} ; do SUBOPTS=(" ${1} " ); LAST_SUBOPT=" ${1} "
119- if [[ " ${1} " =~ ^-[^-]{2,} ]]; then SUBOPTS=$( echo " ${1} " | sed ' s/-//' | grep -o .) ; LAST_SUBOPT=" -${1: -1} " ; fi
120- for SUBOPT in ${SUBOPTS[@]} ; do SUBOPT=" $( echo ${SUBOPT} | sed -E ' s/^([^-]+)/-\1/' ) "
121- OPT_MATCH=$( echo ${OPT} | grep -Eoh " ^.*?:" | sed ' s/://' )
122- OPT_KEY=$( echo ${OPT} | grep -Eoh " :.*?$" | sed ' s/://' )
119+ if [[ " ${1} " =~ ^-[^-]{2,} ]]; then SUBOPTS=$( printf " %s " " ${1} " | sed ' s/-//' | grep -o .) ; LAST_SUBOPT=" -${1: -1} " ; fi
120+ for SUBOPT in ${SUBOPTS[@]} ; do SUBOPT=" $( printf " %s " ${SUBOPT} | sed -E ' s/^([^-]+)/-\1/' ) "
121+ OPT_MATCH=$( printf " %s " ${OPT} | grep -Eoh " ^.*?:" | sed ' s/://' )
122+ OPT_KEY=$( printf " %s " ${OPT} | grep -Eoh " :.*?$" | sed ' s/://' )
123123 OPT_VARNAME=" OPTS_${OPT_KEY} "
124124 if [ -z " ${OPT_VARNAME} " ]; then echo " Invalid Option Definition, missing VARNAME: ${OPT} " 1>&2 ; exit 1; fi
125125 if [[ " ${SUBOPT} " =~ ^${OPT_MATCH} $ ]]; then
126126 OPT_VAL=" ${OPT_VARNAME} " ; OPT_MATCHED=$(( OPT_MATCHED+ 1 ))
127127 if [[ " ${SUBOPT} " =~ ^${LAST_SUBOPT} $ ]]; then
128- if [ -n " ${2} " -a $# -gt 2 ] && [[ ! " ${2} " =~ ^-+ ]]; then OPT_VAL=" ${2} " ; shift ; fi ; fi
128+ if [ -n " ${2} " -a $# -ge 2 ] && [[ ! " ${2} " =~ ^-+ ]]; then OPT_VAL=" ${2} " ; shift ; fi ; fi
129129 if [ -n " ${! OPT_VARNAME} " ]; then OPT_VAL=" ${! OPT_VARNAME} ;${OPT_VAL} " ; fi
130130 declare " ${OPT_VARNAME} =${OPT_VAL} "
131131 EXPORTS+=(" ${OPT_VARNAME} " )
0 commit comments