diff options
Diffstat (limited to 'completions/file')
-rw-r--r-- | completions/file | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/completions/file b/completions/file index 21fbd16..7b07d40 100644 --- a/completions/file +++ b/completions/file @@ -1,32 +1,34 @@ # file(1) completion -*- shell-script -*- -_file() +_comp_cmd_file() { - local cur prev words cword - _init_completion || return + local cur prev words cword comp_args + _comp_initialize -- "$@" || return + local noargopts='!(-*|*[Fmfe]*)' + # shellcheck disable=SC2254 case $prev in - --help | --version | --separator | -!(-*)[vF]) + --help | --version | --separator | -${noargopts}[vF]) return ;; - --magic-file | --files-from | -!(-*)[mf]) - _filedir + --magic-file | --files-from | -${noargopts}[mf]) + _comp_compgen_filedir return ;; - --exclude | -!(-*)e) - COMPREPLY=($(compgen -W 'apptype ascii cdf compress elf encoding - soft tar text tokens troff' -- "$cur")) + --exclude | -${noargopts}e) + _comp_compgen -- -W 'apptype ascii cdf compress elf encoding soft + tar text tokens troff' return ;; esac if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + _comp_compgen_help return fi - _filedir + _comp_compgen_filedir } && - complete -F _file file + complete -F _comp_cmd_file file # ex: filetype=sh |