diff options
Diffstat (limited to 'completions/gzip')
-rw-r--r-- | completions/gzip | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/completions/gzip b/completions/gzip index 35e5f231..8093e41e 100644 --- a/completions/gzip +++ b/completions/gzip @@ -7,11 +7,11 @@ _gzip() case $prev in -b|--blocksize|-S|--suffix|-h|--help|-V|--version) - return 0 + return ;; -p|--processes) COMPREPLY=( $( compgen -W "{1..$(_ncpus)}" -- "$cur" ) ) - return 0 + return ;; esac @@ -19,22 +19,21 @@ _gzip() COMPREPLY=( $( compgen -W '$( _parse_help "$1" ) {-1..-9}' \ -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace - return 0 + return fi local IFS=$'\n' xspec="*.@(gz|t[ag]z)" + [[ ${1##*/} == pigz ]] && xspec="*.@([gz]z|t[ag]z)" if [[ "$prev" == --* ]]; then - [[ "$prev" == --decompress || \ - "$prev" == --list || \ - "$prev" == --test ]] && xspec="!"$xspec + [[ "$prev" == --@(decompress|list|test) ]] && xspec="!"$xspec [[ "$prev" == --force ]] && xspec= elif [[ "$prev" == -* ]]; then [[ "$prev" == -*[dlt]* ]] && xspec="!"$xspec [[ "$prev" == -*f* ]] && xspec= fi - _expand || return 0 + _expand || return compopt -o filenames COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \ @@ -42,4 +41,4 @@ _gzip() } && complete -F _gzip gzip pigz -# ex: ts=4 sw=4 et filetype=sh +# ex: filetype=sh |