# bash complete completion -*- shell-script -*- proc _complete { local cur prev words cword _init_completion || return match $prev { with -o setglobal COMPREPLY = ''( $( compgen -W 'bashdefault default dirnames filenames nospace plusdirs' -- "$cur" ) ) return 0 with -A setglobal COMPREPLY = ''( $( compgen -W 'alias arrayvar binding builtin command directory disabled enabled export file function group helptopic hostname job keyword running service setopt shopt signal stopped user variable' -- "$cur" ) ) return 0 with -C setglobal COMPREPLY = ''( $( compgen -A command -- "$cur" ) ) return 0 with -F setglobal COMPREPLY = ''( $( compgen -A function -- "$cur" ) ) return 0 with -p|-r setglobal COMPREPLY = ''( $( complete -p | sed -e 's|.* ||' ) ) setglobal COMPREPLY = ''( $( compgen -W '${COMPREPLY[@]}' -- "$cur" ) ) return 0 } if [[ "$cur" == -* ]] { # relevant options completion local opts="-a -b -c -d -e -f -g -j -k -o -s -u -v -A -G -W -P -S -X" [[ $1 != compgen ]] && setglobal opts = '" -F -C'" setglobal COMPREPLY = ''( $( compgen -W "$opts" -- "$cur" ) ) } else { setglobal COMPREPLY = ''( $( compgen -A command -- "$cur" ) ) } } && complete -F _complete compgen complete # ex: ts=4 sw=4 et filetype=sh