diff options
Diffstat (limited to 'completions/luseradd')
-rw-r--r-- | completions/luseradd | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/completions/luseradd b/completions/luseradd index 4d66385..255bc91 100644 --- a/completions/luseradd +++ b/completions/luseradd @@ -1,40 +1,42 @@ # luseradd(1) and lusermod(1) completion -*- shell-script -*- -_luseradd() +_comp_cmd_luseradd() { - 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='!(-*|*[culPpdksg]*)' + # shellcheck disable=SC2254 case $prev in --help | --usage | --gecos | --uid | --login | --plainpassword | --password | \ --commonname | --givenname | --surname | --roomnumber | --telephonenumber | \ - --homephone | -!(-*)@([culPp]|[?]*)) + --homephone | -${noargopts}@([culPp]|[?]*)) return ;; - --directory | --skeleton | -!(-*)[dk]) - _filedir -d + --directory | --skeleton | -${noargopts}[dk]) + _comp_compgen_filedir -d return ;; - --shell | -!(-*)s) - _shells + --shell | -${noargopts}s) + _comp_compgen_shells return ;; - --gid | -!(-*)g) - _gids + --gid | -${noargopts}g) + _comp_compgen_gids 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 - [[ ${1##*/} == luseradd ]] || COMPREPLY=($(compgen -u -- "$cur")) + [[ ${1##*/} == luseradd ]] || _comp_compgen -- -u } && - complete -F _luseradd luseradd lusermod + complete -F _comp_cmd_luseradd luseradd lusermod # ex: filetype=sh |