_newgrp_module() { local cur prev OPTS COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" case $prev in '-h'|'--help'|'-V'|'--version') return 0 ;; '-c'|'--command') COMPREPLY=( $(compgen -c -- $cur) ) return 0 ;; esac case $cur in -*) OPTS="--version --help --command" COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 ;; esac if (( COMP_CWORD == 1 )) || [[ " ${COMP_WORDS[@]}" =~ " "-?-c ]]; then COMPREPLY=( $(compgen -g -- $cur) ) else COMPREPLY=( $(compgen -c -- $cur) ) fi return 0 } complete -F _newgrp_module newgrp