mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	zsh-workers/7789
This commit is contained in:
		
							parent
							
								
									4c1f4b1fc8
								
							
						
					
					
						commit
						c7916dd663
					
				
					 1 changed files with 203 additions and 0 deletions
				
			
		
							
								
								
									
										203
									
								
								Completion/User/_tiff
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								Completion/User/_tiff
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,203 @@ | |||
| #compdef -P (tiff*|*2tiff|pal2rgb) | ||||
| 
 | ||||
| local pat expl ret=1 | ||||
| 
 | ||||
| if [[ "$words[1]" = *2tiff ]]; then | ||||
|   pat="*.(#i)${words[1]%%2tiff}" | ||||
| else | ||||
|   pat="*.(#i)tiff" | ||||
| fi | ||||
| 
 | ||||
| if [[ $# -ne 0 || $+_in_tiff -ne 0 ]]; then | ||||
|   if (( ! $# )); then | ||||
|     _description expl 'picture file' | ||||
|     set -- "$expl[@]" | ||||
|   fi | ||||
|   _path_files "$@" -g "$pat" || _files "$@" -g '*.(#i)tiff' | ||||
|   return | ||||
| fi | ||||
| 
 | ||||
| local _in_tiff=yes | ||||
| 
 | ||||
| local state line ret=1 | ||||
| typeset -A options | ||||
| 
 | ||||
| case "$words[1]" in | ||||
| tiff2bw) | ||||
|   _arguments \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-R[specify percentage of red channel]:percentage of red channel:' \ | ||||
|     '-G[specify percentage of green channel]:percentage of green channel:' \ | ||||
|     '-B[specify percentage of blue channel]:percentage of blue channel:' \ | ||||
|     ':input file:_files -g \*.\(\#i\)tiff' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| tiff2ps) | ||||
|   _arguments \ | ||||
|     '-1[generate PostScript Level I output]' \ | ||||
|     '-2[generate PostScript Level II output]' \ | ||||
|     '-a[generate output for all IFDs]' \ | ||||
|     '-d[set initial TIFF directory]:initial TIFF directory:' \ | ||||
|     '(-p)-e[generate Encapsulated PostScript]' \ | ||||
|     '-o[set initial TIFF directory (file offset)]:file offset:' \ | ||||
|     '(-e)-p[generate non-Encapsulated PostScript]' \ | ||||
|     '-h[set page height]:page height:' \ | ||||
|     '-w[set page width]:page width:' \ | ||||
|     '-8[disable use of ASCII85 encoding]' \ | ||||
|     '-D[print two pages per sheet]' \ | ||||
|     '-O[specify output file]:output file:_files -g \*.\(\#i\)' \ | ||||
|     '-s[generate output for a single image]' \ | ||||
|     '-T[print pages for top edge binding]' \ | ||||
|     '*:input TIFF file:_files -g \*.\(\#i\)' && ret=0 | ||||
|   ;; | ||||
| tiffcmp) | ||||
|   _arguments \ | ||||
|     '-l[list all differing bytes]' \ | ||||
|     '-t[ignore differences in directories]' \ | ||||
|     ':first input TIFF file:_files -g \*.\(\#i\)' \ | ||||
|     ':second input TIFF file:_files -g \*.\(\#i\)' && ret=0 | ||||
|   ;; | ||||
| tiffcp) | ||||
|   _arguments \ | ||||
|     '-B[write output in bin-endian byte order]' \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     '-o[set initial TIFF directory (file offset)]:file offset:' \ | ||||
|     '-p[set sample packing]:sample packing:(contig separate)' \ | ||||
|     '(-t)-s[write output in strips]' \ | ||||
|     '(-s)-t[write output in tiles]' \ | ||||
|     '-i[ignore read errors]' \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-w[specify output tile width]:output tile width:' \ | ||||
|     '-l[specify output tile length]:output tile length:' \ | ||||
|     '-f[specify fill order]:fill order:(lsb2msb msb2lsb)' \ | ||||
|     '*:input TIFF file:_files -g \*.\(\#i\)' && ret=0 | ||||
|   ;; | ||||
| tiffdither) | ||||
|   _arguments \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     '-f[specify fill order]:fill order:(lsb2msb msb2lsb)' \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-t[set threshold for dithering]:dither threshold value:' \ | ||||
|     ':input file:_files -g \*.\(\#i\)tiff' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| tiffdump) | ||||
|   _arguments \ | ||||
|     '-o[set initial TIFF directory (file offset)]:file offset:' \ | ||||
|     '-h[print numbers in hexadecimal]' \ | ||||
|     '*:input TIFF file:_files -g \*.\(\#i\)' && ret=0 | ||||
|   ;; | ||||
| tiffinfo) | ||||
|   _arguments \ | ||||
|     '-c[display colormap and color/gray response curves]' \ | ||||
|     '-D[read and decompress data]' \ | ||||
|     '-d[print decompressed data]' \ | ||||
|     '-j[display JPEG-related tags]' \ | ||||
|     '-o[set initial TIFF directory (file offset)]:file offset:' \ | ||||
|     '-s[display offsets and byte counts for all data strips]' \ | ||||
|     '-i[ignore read errors]' \ | ||||
|     '-f[force fill order]:fill order:(lsb2msb msb2lsb)' \ | ||||
|     '-w[display raw data in words]' \ | ||||
|     '*:input TIFF file:_files -g \*.\(\#i\)' && ret=0 | ||||
|   ;; | ||||
| tiffmedian) | ||||
|   _arguments \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-C[specify number of colormap entries]:number of colormap entries:' \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     '-f[use Floyd-Steinberg dithering]' \ | ||||
|     ':input file:_files -g \*.\(\#i\)tiff' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| tiffsplit) | ||||
|   _arguments \ | ||||
|     ':input file:_files -g \*.\(\#i\)tiff' \ | ||||
|     ':output file prefix:' && ret=0 | ||||
|   ;; | ||||
| fax2tiff) | ||||
|   _arguments \ | ||||
|     '(-1 -4)-2[input is Group 3, 2d encoded]' \ | ||||
|     '(-2 -4)-1[input is Group 3, 1d encoded]' \ | ||||
|     '(-1 -2)-4[input is Group 4 encoded]' \ | ||||
|     '(-W)-B[0 in input is black]' \ | ||||
|     '(-B)-W[0 in input is white]' \ | ||||
|     '(-M)-L[input is lsb-to-msb]' \ | ||||
|     '(-L)-M[input is msb-to-lsb]' \ | ||||
|     '-R[specify resolution]:resolution (lines per inch):' \ | ||||
|     '-o[specify output file]:output file:_files -g \*.\(\#i\)' \ | ||||
|     '(-f)-c[generate `classic'"'"' TIFF format]' \ | ||||
|     '(-c)-f[generate TIFF Class F format]' \ | ||||
|     '-m[output in msb-to-lsb order]' \ | ||||
|     '-p[don'"'"'t align EOL codes]' \ | ||||
|     '-s[duplicate all rows]' \ | ||||
|     '-v[verbose mode]' \ | ||||
|     ':FAX input file:_files -g \*.\(\#i\)\(g\[34\]\|fax\)' && ret=0 | ||||
|   ;; | ||||
| gif2tiff) | ||||
|   _arguments \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     ':input GIF file:_files -g \*.\(\#i\)gif' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| ppm2tiff) | ||||
|   _arguments \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     '-R[specify resolution]:resolution:' \ | ||||
|     ':input GIF file:_files -g \*.\(\#i\)ppm' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| ras2tiff) | ||||
|   _arguments \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     ':input raster image file:_files -g \*.\(\#i\)ras\(\|t\)' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| pal2rgb) | ||||
|   _arguments \ | ||||
|     '-C[specify number of bits for colormap entries]:bits for colormap entries:(8 16)' \ | ||||
|     '-p[set sample packing]:sample packing:(contig separate)' \ | ||||
|     '-c[specify compression scheme]:compression scheme:->compress' \ | ||||
|     '-r[specify rows per strip]:rows per strip:' \ | ||||
|     ':input file:_files -g \*.\(\#i\)tiff' \ | ||||
|     ':output file:_files -g \*.\(\#i\)tiff' && ret=0 | ||||
|   ;; | ||||
| *) | ||||
|   _description expl 'picture file' | ||||
|   _files "$expl[@]" -g "$pat" && ret=0 | ||||
| esac | ||||
| 
 | ||||
| if [[ -n "$state" ]]; then | ||||
|   if [[ "$PREFIX" = *:* ]]; then | ||||
|     local scheme="${PREFIX%%:*}" | ||||
| 
 | ||||
|     compset -P 1 '*:' | ||||
| 
 | ||||
|     case "$scheme" in | ||||
|     g3) | ||||
|       _values -s : 'FAX Group 3 options' \ | ||||
|         '(2d)1d[use 1D-encoding]' \ | ||||
|         '(1d)2d[use 2D-encoding]' \ | ||||
| 	'fill[byte-align EOL codes]' && ret=0 | ||||
|       ;; | ||||
|     jpeg) | ||||
|       _message 'compression quality (0-100), or `r'"'"' (output RGB)' | ||||
|       ret=0 | ||||
|       ;; | ||||
|     lzw|zip) | ||||
|       _values 'LZW and deflate options' \ | ||||
|         '1[without differencing]' \ | ||||
|         '2[with differencing]' && ret=0 | ||||
|       ;; | ||||
|     esac | ||||
|   else | ||||
|     _description expl 'compression scheme' | ||||
|     compadd "$expl[@]" - none g4 packbits && ret=0 | ||||
|     compadd "$expl[@]" -qS: - lzw zip jpeg g3 && ret=0 | ||||
|   fi | ||||
| fi | ||||
| 
 | ||||
| return ret | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue