diff options
Diffstat (limited to 'completions/config_list')
-rw-r--r-- | completions/config_list | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/completions/config_list b/completions/config_list index 1807e33..d75ef2e 100644 --- a/completions/config_list +++ b/completions/config_list @@ -1,27 +1,30 @@ # mailman config_list completion -*- shell-script -*- -_config_list() +_comp_cmd_config_list() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return case $prev in -i | -o | --inputfile | --outputfile) - _filedir + _comp_compgen_filedir return ;; esac - $split && return + [[ $was_split ]] && return if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '--inputfile --outputfile --checkonly - --verbose --help' -- "$cur")) + _comp_compgen -- -W '--inputfile --outputfile --checkonly + --verbose --help' else - _xfunc list_lists _mailman_lists + # Prefer `list_lists` in the same dir as command + local pathcmd + pathcmd=$(type -P "$1") && local PATH=${pathcmd%/*}:$PATH + _comp_xfunc list_lists mailman_lists fi } && - complete -F _config_list config_list + complete -F _comp_cmd_config_list config_list # ex: filetype=sh |