mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef gzip gunzip gzcat=gunzip
 | |
| 
 | |
| local decompress expl curcontext="$curcontext" state line
 | |
| typeset -A opt_args
 | |
| 
 | |
| case "$service" in
 | |
| gunzip|zcat)
 | |
|   decompress=yes
 | |
|   ;&
 | |
| gzip)
 | |
|   _arguments -C -s -S \
 | |
|     '(--to-stdout --stdout)-c[write on standard output]' \
 | |
|     '(-c --stdout)--to-stdout[write on standard output]' \
 | |
|     '(-c --to-stdout)--stdout[write on standard output]' \
 | |
|     '(--decompress --uncompress)-d[decompress]' \
 | |
|     '(-d --uncompress)--decompress[decompress]' \
 | |
|     '(-d --decompress)--uncompress[decompress]' \
 | |
|     '(--force)-f[force overwrite]' \
 | |
|     '(-f)--force[force overwrite]' \
 | |
|     '(--help)-h[display help message]' \
 | |
|     '(-h)--help[display help message]' \
 | |
|     '(--list)-l[list compressed file contents]' \
 | |
|     '(-l)--list[list compressed file contents]' \
 | |
|     '(--license)-L[display software license]' \
 | |
|     '(-L)--license[display software license]' \
 | |
|     '(--no-name)-n[do not save or restore the original name and time stamp]' \
 | |
|     '(-n)--no-name[do not save or restore the original name and time stamp]' \
 | |
|     '(--name)-N[save or restore the original name and time stamp]' \
 | |
|     '(-N)--name[save or restore the original name and time stamp]' \
 | |
|     '(--quiet --silent)-q[suppress all warnings]' \
 | |
|     '(-q --silent)--quiet[suppress all warnings]' \
 | |
|     '(-q --quiet)--silent[suppress all warnings]' \
 | |
|     '(--recursive)-r[operate recursively on directories]' \
 | |
|     '(-r)--recursive[operate recursively on directories]' \
 | |
|     '(--suffix)-S+[specify suffix for compressed files]:suffix:' \
 | |
|     '(-S)--suffix=[specify suffix for compressed files]:suffix:' \
 | |
|     '(--test)-t[test compressed file integrity]' \
 | |
|     '(-t)--test[test compressed file integrity]' \
 | |
|     '(--verbose)-v[verbose mode]' \
 | |
|     '(-v)--verbose[verbose mode]' \
 | |
|     '(--version)-V[display version number]' \
 | |
|     '(-V)--version[display version number]' \
 | |
|     '(       -1 -2 -3 -4 -5 -6 -7 -8 -9 --best)--fast' \
 | |
|     '(--fast    -2 -3 -4 -5 -6 -7 -8 -9 --best)-1' \
 | |
|     '(--fast -1    -3 -4 -5 -6 -7 -8 -9 --best)-2' \
 | |
|     '(--fast -1 -2    -4 -5 -6 -7 -8 -9 --best)-3' \
 | |
|     '(--fast -1 -2 -3    -5 -6 -7 -8 -9 --best)-4' \
 | |
|     '(--fast -1 -2 -3 -4    -6 -7 -8 -9 --best)-5' \
 | |
|     '(--fast -1 -2 -3 -4 -5    -7 -8 -9 --best)-6' \
 | |
|     '(--fast -1 -2 -3 -4 -5 -6    -8 -9 --best)-7' \
 | |
|     '(--fast -1 -2 -3 -4 -5 -6 -7    -9 --best)-8' \
 | |
|     '(--fast -1 -2 -3 -4 -5 -6 -7 -8    --best)-9' \
 | |
|     '(--fast -1 -2 -3 -4 -5 -6 -7 -8 -9       )--best' \
 | |
|     '*:files:->files' && return 0
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| case "$state" in
 | |
| files)
 | |
|   (( $+opt_args[-d] || $+opt_args[--decompress] || $+opt_args[--uncompress] )) &&
 | |
|     decompress=yes
 | |
|   if (( $+opt_args[-r] || $+opt_args[--recursive] )); then
 | |
|     if [[ -z "$decompress" ]]; then
 | |
|       _description directories expl 'directory to compress'
 | |
|       _files "$expl[@]" -/
 | |
|     else
 | |
|       _description directories expl 'compressed directory'
 | |
|       _files "$expl[@]" -/
 | |
|     fi
 | |
|   else
 | |
|     if [[ -z "$decompress" ]]; then
 | |
|       _description files expl 'file to compress'
 | |
|       _files "$expl[@]" -g '*~*.(([tT]|)[gG]|)[zZ]'
 | |
|     else
 | |
|       _description files expl 'compressed file'
 | |
|       _files "$expl[@]" -g '*.(([tT]|)[gG]|)[zZ]'
 | |
|     fi
 | |
|   fi
 | |
|   ;;
 | |
| esac
 |