util-linux/bash-completion/chsh
Ville Skyttä 396a6d7df5 bash-completion: Invoke actual commands to be completed, not basenames
Addresses partially: http://bugs.debian.org/769462
Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
2014-11-18 13:58:21 +01:00

27 lines
504 B
Plaintext

_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