diff options
Diffstat (limited to '')
-rw-r--r-- | completions/id | 15 | ||||
-rw-r--r-- | completions/idn | 22 |
2 files changed, 19 insertions, 18 deletions
diff --git a/completions/id b/completions/id index a07e51d..e91ad61 100644 --- a/completions/id +++ b/completions/id @@ -1,18 +1,17 @@ # id(1) completion -*- shell-script -*- -_id() +_comp_cmd_id() { - local cur prev words cword - _init_completion || return + local cur prev words cword comp_args + _comp_initialize -- "$@" || return if [[ $cur == -* ]]; then - local opts=$(_parse_help "$1") - [[ $opts ]] || opts="-G -g -u" # POSIX fallback - COMPREPLY=($(compgen -W "$opts" -- "$cur")) + _comp_compgen_help || + _comp_compgen -- -W '-G -g -u' # POSIX fallback else - COMPREPLY=($(compgen -u "$cur")) + _comp_compgen -- -u fi } && - complete -F _id id + complete -F _comp_cmd_id id # ex: filetype=sh diff --git a/completions/idn b/completions/idn index 8023f8f..1a61479 100644 --- a/completions/idn +++ b/completions/idn @@ -1,26 +1,28 @@ # idn(1) completion -*- shell-script -*- -_idn() +_comp_cmd_idn() { - 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='!(-*|*[p]*)' + # shellcheck disable=SC2254 case $prev in - --help | --version | -!(-*)[hV]) + --help | --version | -${noargopts}[hV]) return ;; - --profile | -!(-*)p) - COMPREPLY=($(compgen -W 'Nameprep iSCSI Nodeprep Resourceprep - trace SASLprep' -- "$cur")) + --profile | -${noargopts}p) + _comp_compgen -- -W 'Nameprep iSCSI Nodeprep Resourceprep trace + SASLprep' return ;; esac - if ! $split && [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + if [[ ! $was_split && $cur == -* ]]; then + _comp_compgen_help [[ ${COMPREPLY-} == *= ]] && compopt -o nospace fi } && - complete -F _idn idn + complete -F _comp_cmd_idn idn # ex: filetype=sh |