util-linux/bash-completion/getopt
Ville Skyttä 0d5b9b8ab1 bash-completion: Don't offer short options where corresponding long one exists.
Users who know the short options can just hit the short option instead
of tab, and it's not likely that it would be helpful to present a list
of single character options to users who don't know them, doing so
just unnecessarily trashes the list of suggestions.

Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
2013-04-08 17:06:56 +02:00

38 lines
815 B
Plaintext

_getopt_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-l'|'--longoptions')
COMPREPLY=( $(compgen -W "longopts" -- $cur) )
return 0
;;
'-n'|'--name')
COMPREPLY=( $(compgen -W "name" -- $cur) )
return 0
;;
'-o'|'--options')
COMPREPLY=( $(compgen -W "optstring" -- $cur) )
return 0
;;
'-s'|'--shell')
COMPREPLY=( $(compgen -W "sh bash csh tcsh" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS="--alternative --help --longoptions --name --options --quiet --quiet-output --shell --test --unquoted --version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
return 0
}
complete -F _getopt_module getopt