diff options
Diffstat (limited to 'completions/pwgen')
-rw-r--r-- | completions/pwgen | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/completions/pwgen b/completions/pwgen index 50d31d5..515ef1c 100644 --- a/completions/pwgen +++ b/completions/pwgen @@ -1,28 +1,30 @@ # pwgen(1) completion -*- shell-script -*- -_pwgen() +_comp_cmd_pwgen() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return + local noargopts='!(-*|*[NH]*)' + # shellcheck disable=SC2254 case $prev in - --num-passwords | --help | -!(-*)[Nh]) + --num-passwords | --help | -${noargopts}[Nh]) return ;; - --sha1 | -!(-*)H) - _filedir + --sha1 | -${noargopts}H) + _comp_compgen_filedir return ;; esac - $split && return + [[ $was_split ]] && return if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + _comp_compgen_help [[ ${COMPREPLY-} == *= ]] && compopt -o nospace return fi } && - complete -F _pwgen pwgen + complete -F _comp_cmd_pwgen pwgen # ex: filetype=sh |