# bash complete completion -*- shell-script -*- _complete() { local cur prev words cword _init_completion || return case $prev in -*o) COMPREPLY=($(compgen -W 'bashdefault default dirnames filenames nospace plusdirs' -- "$cur")) return ;; -*A) 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 ;; -*C) COMPREPLY=($(compgen -A command -- "$cur")) return ;; -*F) COMPREPLY=($(compgen -A function -- "$cur")) return ;; -*p | -*r) COMPREPLY=($(complete -p | command sed -e 's|.* ||')) COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur")) return ;; esac if [[ $cur == -* ]]; then # 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 ]] && opts+=" -F -C" COMPREPLY=($(compgen -W "$opts" -- "$cur")) else COMPREPLY=($(compgen -A command -- "$cur")) fi } && complete -F _complete compgen complete # ex: filetype=sh