API-CLI
view release on metacpan or search on metacpan
share/completion/bash/apicli.bash view on Meta::CPAN
2)
__comp_current_options || return
__apicli_dynamic_comp 'commands' 'generate'$'\t''Generate self completion'
;;
*)
# subcmds
case ${MYWORDS[2]} in
generate)
FLAGS+=('--zsh' 'for zsh' '--bash' 'for bash')
OPTIONS+=('--name' 'name of the program (optional, override name in spec)')
__apicli_handle_options_flags
case $INDEX in
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--name)
;;
esac
;;
esac
;;
esac
;;
esac
;;
pod)
FLAGS+=()
OPTIONS+=()
__apicli_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
__apicli_dynamic_comp 'commands' 'generate'$'\t''Generate self pod'
;;
*)
# subcmds
case ${MYWORDS[2]} in
generate)
FLAGS+=()
OPTIONS+=()
__apicli_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
;;
esac
;;
esac
;;
esac
;;
esac
;;
appspec)
FLAGS+=()
OPTIONS+=('--from' 'Currently only '"'"'openapi'"'"' is supported' '--out' 'Output file (default stdout)' '--name' 'appname' '--class' 'Class name (default API::CLI)')
__apicli_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
;;
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--from)
;;
--out)
;;
--name)
;;
--class)
;;
esac
;;
esac
;;
help)
FLAGS+=('--all' '')
OPTIONS+=()
__apicli_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__apicli_dynamic_comp 'commands' 'appspec'
;;
*)
# subcmds
case ${MYWORDS[1]} in
_meta)
FLAGS+=()
OPTIONS+=()
__apicli_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
__apicli_dynamic_comp 'commands' 'completion'$'\n''pod'
;;
*)
# subcmds
case ${MYWORDS[2]} in
completion)
FLAGS+=()
OPTIONS+=()
__apicli_handle_options_flags
case $INDEX in
3)
__comp_current_options || return
__apicli_dynamic_comp 'commands' 'generate'
;;
share/completion/bash/apicli.bash view on Meta::CPAN
function __apicli_handle_flags() {
local i j
declare -a copy
local last="${MYWORDS[$INDEX]}"
local max=`expr ${#MYWORDS[@]} - 1`
for ((i=0; i<$max; i++))
do
local word="${MYWORDS[$i]}"
local found=
for ((j=0; j<${#FLAGS[@]}; j+=2))
do
local flag="${FLAGS[$j]}"
if [[ "$word" == "$flag" ]]; then
found=1
break
fi
done
if [[ -n $found ]]; then
INDEX=`expr $INDEX - 1`
else
copy+=("$word")
fi
done
MYWORDS=("${copy[@]}" "$last")
}
__apicli_handle_options_flags() {
__apicli_handle_options
__apicli_handle_flags
}
__comp_current_options() {
local always="$1"
if [[ -n $always || ${MYWORDS[$INDEX]} =~ ^- ]]; then
local options_spec=''
local j=
for ((j=0; j<${#FLAGS[@]}; j+=2))
do
local name="${FLAGS[$j]}"
local desc="${FLAGS[$j+1]}"
options_spec+="$name"$'\t'"$desc"$'\n'
done
for ((j=0; j<${#OPTIONS[@]}; j+=2))
do
local name="${OPTIONS[$j]}"
local desc="${OPTIONS[$j+1]}"
options_spec+="$name"$'\t'"$desc"$'\n'
done
__apicli_dynamic_comp 'options' "$options_spec"
return 1
else
return 0
fi
}
complete -o default -F _apicli apicli
( run in 0.985 second using v1.01-cache-2.11-cpan-56fb94df46f )