API-CLI
view release on metacpan or search on metacpan
examples/bash/metacpancl.bash view on Meta::CPAN
#!bash
# http://stackoverflow.com/questions/7267185/bash-autocompletion-add-description-for-possible-completions
_metacpancl() {
COMPREPLY=()
local program=metacpancl
local cur=${COMP_WORDS[$COMP_CWORD]}
# echo "COMP_CWORD:$COMP_CWORD cur:$cur" >>/tmp/comp
declare -a FLAGS
declare -a OPTIONS
declare -a MYWORDS
local INDEX=`expr $COMP_CWORD - 1`
MYWORDS=("${COMP_WORDS[@]:1:$COMP_CWORD}")
FLAGS=('--debug' 'debug' '-d' 'debug' '--verbose' 'verbose' '-v' 'verbose' '--help' 'Show command help' '-h' 'Show command help')
OPTIONS=('--data-file' 'File with data for POST/PUT/PATCH/DELETE requests')
__metacpancl_handle_options_flags
case $INDEX in
0)
__comp_current_options || return
__metacpancl_dynamic_comp 'commands' 'GET'$'\t''GET call'$'\n''POST'$'\t''POST call'$'\n''help'$'\t''Show command help'
;;
*)
# subcmds
case ${MYWORDS[0]} in
GET)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__metacpancl_dynamic_comp 'commands' '/author/:author'$'\t''Author information'$'\n''/distribution/:distribution'$'\t''Distribution information not specific to a version...'$'\n''/module/:module'$'\t''Module information'$'\n''/pod/:module...
;;
*)
# subcmds
case ${MYWORDS[1]} in
/author/:author)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
esac
;;
esac
;;
/distribution/:distribution)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
esac
( run in 0.780 second using v1.01-cache-2.11-cpan-0068ddc7af1 )