mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 21:44:11 +01:00
moved from Completion/User/_compress
This commit is contained in:
parent
c5bae69b17
commit
8a74bb5480
48
Completion/Unix/Command/_compress
Normal file
48
Completion/Unix/Command/_compress
Normal file
@ -0,0 +1,48 @@
|
||||
#compdef compress uncompress
|
||||
|
||||
local expl state line bits common_args1 common_args2 decompress
|
||||
local curcontext="$curcontext"
|
||||
typeset -A opt_args
|
||||
bits=( {9..16} )
|
||||
|
||||
common_args1=( \
|
||||
'-n[omit compressed file header from compressed file]' \
|
||||
'-V[display current version and compile options]' \
|
||||
'*:files:->files')
|
||||
common_args2=( \
|
||||
'-c[write on standard output]' \
|
||||
'(-F)-f[force overwrite]' \
|
||||
'(-f)-F[force overwrite]' \
|
||||
'(-v)-q[suppress display of compression statistics]' \
|
||||
'(-q)-v[display compression statistics]' \
|
||||
"${common_args1[@]}" )
|
||||
|
||||
case "$service" in
|
||||
compress)
|
||||
_arguments -C -s \
|
||||
"-b[specify maximum number of bits used to replace common substring]:bits:(${bits[*]})" \
|
||||
'-C[produce output compatible with BSD 2.0]' \
|
||||
'(-b -C)-d[decompress]' \
|
||||
"${common_args2[@]}" && return 0
|
||||
;;
|
||||
uncompress)
|
||||
_arguments -C -s "${common_args2[@]}" && return 0
|
||||
decompress=yes
|
||||
;;
|
||||
zcat)
|
||||
_arguments -C -s "${common_args1[@]}" && return 0
|
||||
decompress=yes
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$state" = files ]]; then
|
||||
if [[ -z "$decompress" ]] || (( $+opt_args[-d] )); then
|
||||
_description files expl 'file to compress'
|
||||
_files "$expl[@]" -g '*~*.Z' && return 0
|
||||
else
|
||||
_description files expl 'compressed file'
|
||||
_files "$expl[@]" -g '*.Z' && return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
return 1
|
Loading…
Reference in New Issue
Block a user