_chsh_module() | |
{ | |
local cur prev OPTS | |
COMPREPLY=() | |
cur="${COMP_WORDS[COMP_CWORD]}" | |
prev="${COMP_WORDS[COMP_CWORD-1]}" | |
case $prev in | |
'-s'|'--shell') | |
COMPREPLY=( $(compgen -W "$($1 -l)" -- $cur) ) | |
return 0 | |
;; | |
'-u'|'--help'|'-v'|'--version') | |
return 0 | |
;; | |
esac | |
case $cur in | |
-*) | |
OPTS="--shell --list-shells --version --help" | |
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) | |
return 0 | |
;; | |
esac | |
COMPREPLY=( $(compgen -u -- $cur) ) | |
return 0 | |
} | |
complete -F _chsh_module chsh |