about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-05-12 14:03:26 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-05-12 14:03:26 +0000
commit453df705675869123675ba399f08e92ca658aa2f (patch)
tree798f662aa7409f830c84f4bc8897d92f88fe57a6 /Completion
parentfa09beea011a6d5727f917d84dd55bd9f86e5f28 (diff)
downloadzsh-453df705675869123675ba399f08e92ca658aa2f.tar.gz
zsh-453df705675869123675ba399f08e92ca658aa2f.tar.xz
zsh-453df705675869123675ba399f08e92ca658aa2f.zip
merge changes from 4.1
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/.distfiles2
-rw-r--r--Completion/Unix/Command/_chown2
-rw-r--r--Completion/Unix/Command/_imagemagick451
-rw-r--r--Completion/Unix/Command/_renice21
-rw-r--r--Completion/Unix/Command/_sh15
-rw-r--r--Completion/Unix/Type/_perl_basepods32
-rw-r--r--Completion/Unix/Type/_perl_builtin_funcs9
7 files changed, 530 insertions, 2 deletions
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles
index 5f970c5a9..304b63d79 100644
--- a/Completion/Unix/Command/.distfiles
+++ b/Completion/Unix/Command/.distfiles
@@ -19,5 +19,5 @@ _user_admin   _rsync        _arping	  _spamassassin _mtools	      _fsh
 _chkconfig    _cdcd         _irssi	  _sccs         _texinfo      _ant
 _global       _global_tags  _figlet       _ifconfig     _last         _larch
 _lsof         _mt           _xmlsoft      _elinks       _tidy         _python
-_antiword
+_antiword     _renice
 '
diff --git a/Completion/Unix/Command/_chown b/Completion/Unix/Command/_chown
index 599e09d14..2e55209c5 100644
--- a/Completion/Unix/Command/_chown
+++ b/Completion/Unix/Command/_chown
@@ -5,7 +5,7 @@ local suf usr grp req expl line
 line=( "${(@)words[2,CURRENT-1]:#-*}" )
 
 if [[ -prefix - ]]; then
-  _message -e options option
+  _message option
 elif [[ $#line -eq 0 ]]; then
   if [[ $service = chgrp ]] || compset -P '*[:.]'; then
     if (( EGID && $+commands[groups] )); then  # except for root
diff --git a/Completion/Unix/Command/_imagemagick b/Completion/Unix/Command/_imagemagick
new file mode 100644
index 000000000..fe874bd36
--- /dev/null
+++ b/Completion/Unix/Command/_imagemagick
@@ -0,0 +1,451 @@
+#compdef display animate import identify montage convert combine mogrify xtp
+
+local state line expl formats curcontext="$curcontext"
+typeset -A opt_args
+
+# Things that could be improved:
+#
+# - file names and types ($formats)
+# - the -draw option
+# - urls for xtp
+#
+# and certainly many other things...
+
+formats=jpg:jpeg:tiff:miff:ras:bmp:cgm:dcx:ps:eps:fig:fits:fpx:gif:mpeg:pbm:pgm:ppm:pcd:pcl:pdf:pcx:png:rad:rgb:rgba:rle:sgi:html:shtml:tga:ttf:uil:xwd:xbm:xpm:yuv
+
+if (( $# )); then
+  _files "$@" "$expl[@]" -g '*.(#i)(${~format//:/|})'
+  return
+fi
+
+case "$service" in
+display)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '*-backdrop[use full screen]' \
+      '*-border:border size (<width>x<height>):' \
+      '*-colormap:colormap type:(Shared Private)' \
+      '*-colors:preferred number of colors:' \
+      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '*-comment:comment string:' \
+      '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
+      '*-contrast[enhance contrast]' \
+      '*+contrast[reduce contrast]' \
+      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
+      '*-delay:delay for next image (1/100ths of a second):' \
+      '*-density:resolution in pixels of image (<width>x<height>):' \
+      '*-despeckle[reduce speckles in image]' \
+      '*-display:display:_x_display' \
+      '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
+      '*-dither[apply dithering]' \
+      '*-edge:edge detection factor (0.0 - 99.9%):' \
+      '*-enhance[enhance noisy image]' \
+      '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
+      '*-flip[vertical mirror image]' \
+      '*-flop[horizontal mirror image]' \
+      '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \
+      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '*-immutable[disallow image modifications]' \
+      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '*-label:label string:' \
+      '*-map:colormap type for display:(best default gray red green blue)' \
+      '*-matte[store matte channel]' \
+      '*-monochrome[transform to black and white]' \
+      '*-negate[invert image]' \
+      '*+negate[invert only grayscale]' \
+      '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
+      '*-quality:JPEG/MIFF/PNG compression level:' \
+      '*-raise:3-D edges (raised):' \
+      '*+raise:3-D edges (lowered):' \
+      '*-remote:remote command (file name):_imagemagick' \
+      '*-roll:image roll offset ({+-}<x>{+-}<y>):' \
+      '*-rotate:rotation (degrees{<}{>}):' \
+      '*-sample:scale factors (<width>x<height>):' \
+      '*-scene:image scene number:' \
+      '*-segment:cluster pixel number:' \
+      '*-sharpen:sharpening factor (0.0 - 99.9%):' \
+      '*-size:image size (<width>x<height>+<offset>):' \
+      '*-texture:background texture image:_imagemagick' \
+      '*-update:redisplay test time (seconds):' \
+      '*-title:image title:' \
+      '*-treedepth:color reduction tree depth:' \
+      '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \
+      '*-window:window ID to display image in:_x_window' \
+      '*-write:output filename:_files' \
+      '*:picture file:_imagemagick' && return
+  ;;
+
+animate)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '*-backdrop[use full screen]' \
+      '*-colormap:colormap type:(Shared Private)' \
+      '*-colors:preferred number of colors:' \
+      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
+      '*-delay:delay for next image (1/100ths of a second):' \
+      '*-density:resolution in pixels of image (<width>x<height>):' \
+      '*-display:display:_x_display' \
+      '*-dither[apply dithering]' \
+      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '*-map:colormap type for display:(best default gray red green blue)' \
+      '*-monochrome[transform to black and white]' \
+      '*-remote:remote command (file name):_imagemagick' \
+      '*-rotate:rotation (degrees{<}{>}):' \
+      '*-scene:image scene number:' \
+      '*-size:image size (<width>x<height>+<offset>):' \
+      '*-title:image title:' \
+      '*-treedepth:color reduction tree depth:' \
+      '*-verbose[print image information]' \
+      '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \
+      '*-window:window ID to display image in:_x_window' \
+      '*:picture file:_imagemagick' && return
+  ;;
+
+import)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '-adjoin[join images]' \
+      '-border:border size (<width>x<height>):' \
+      '-colors:preferred number of colors:' \
+      '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '-comment:comment string:' \
+      '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
+      '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
+      '-delay:delay for next image (1/100ths of a second):' \
+      '-density:resolution in pixels of image (<width>x<height>):' \
+      '-descend[descend window hierarchy]' \
+      '-display:display:_x_display' \
+      '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
+      '-dither[apply dithering]' \
+      '-frame[include window manager frame]' \
+      '-geometry:image geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '-monochrome[transform to black and white]' \
+      '-negate[invert image]' \
+      '+negate[invert only grayscale]' \
+      '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
+      '-pointsize:Postscript font size:' \
+      '-quality:JPEG/MIFF/PNG compression level:' \
+      '-rotate:rotation (degrees{<}{>}):' \
+      '-scene:number of screen snapshots:' \
+      '-screen[get root window]' \
+      '-silent[be quiet]' \
+      '-transparency:transparent color:_x_color' \
+      '-treedepth:color reduction tree depth:' \
+      '-verbose[print image information]' \
+      '-window:window ID to get:_x_window' \
+      ':output file:_files' && return
+  ;;
+
+montage)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '*-adjoin[join images]' \
+      '*-blur:blur factor (0.0 - 99.9%):' \
+      '*-colors:preferred number of colors:' \
+      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '*-comment:comment string:' \
+      '*-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \
+      '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
+      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
+      '*-density:resolution in pixels of image (<width>x<height>):' \
+      '*-display:display:_x_display' \
+      '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
+      '*-dither[apply dithering]' \
+      '*+dither[render Postscript without aliasing]' \
+      '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
+      '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
+      '*-frame[draw frame around image]' \
+      '*-frame[don'\''t draw frame around image]' \
+      '*-font:annotation font:_x_font' \
+      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
+      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '*-label:label string:' \
+      '*-matte[store matte channel]' \
+      '*-mode:montage type:(Frame Unframe Concatenate)' \
+      '*-monochrome[transform to black and white]' \
+      '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
+      '*-pen:font color:_x_color' \
+      '*-pointsize:Postscript font size:' \
+      '*-quality:JPEG/MIFF/PNG compression level:' \
+      '*-rotate:rotation (degrees{<}{>}):' \
+      '*-scene:image scene number:' \
+      '*-shadow[add shadow]' \
+      '*-sharpen:sharpening factor (0.0 - 99.9%):' \
+      '*-size:image size (<width>x<height>+<offset>):' \
+      '*-texture:background texture image:_imagemagick' \
+      '*-tile:number of tiles (<width>x<height>):' \
+      '*-transparency:transparent color:_x_color' \
+      '*-treedepth:color reduction tree depth:' \
+      '*-verbose[print image information]' \
+      '*:picture file:_imagemagick' && return
+  ;;
+
+convert)
+  _arguments -C -M 'm:{a-z}={A-Z}' \
+      '-adjoin[join images]' \
+      '-antialias[remove pixel aliasing]' \
+      '-append[append image sequence]' \
+      '-average[average image sequence]' \
+      '-blur:blur factor (0.0 - 99.9%):' \
+      '-border:border size (<width>x<height>):' \
+      '-bordercolor:border color:_x_color' \
+      '-box:annotation bounding box color:_x_color' \
+      '-charcoal:charcoal drawing factor:' \
+      '-coalesce[merge image sequence]:' \
+      '-colorize:colorization amount (<num> or <red>/<green>/<blue>):' \
+      '-colors:preferred number of colors:' \
+      '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '-comment:comment string:' \
+      '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
+      '-contrast[enhance contrast]' \
+      '+contrast[reduce contrast]' \
+      '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
+      '-cycle:image colormap shift:' \
+      '-deconstruct[break down image sequence into parts]' \
+      '-delay:delay for next image (1/100ths of a second):' \
+      '-density:resolution in pixels of image (<width>x<height>):' \
+      '-depth:image depth:(8 16)' \
+      '-despeckle[reduce speckles in image]' \
+      '-display:display:_x_display' \
+      '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
+      '-dither[apply dithering]' \
+      '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
+      '-edge:edge detection factor (0.0 - 99.9%):' \
+      '-emboss[emboss image]' \
+      '-enhance[enhance image]' \
+      '-equalize[histogram equalization]' \
+      '-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
+      '-flip[vertical mirror image]' \
+      '-flop[horizontal mirror image]' \
+      '-font:annotation font:_x_font' \
+      '-frame:border dimensions (<width>x<height>+<out>+<in>)' \
+      '-fuzz:maximum distance for equal colors:' \
+      '-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
+      '-implode:implosion factor (0.0 - 99.9%):' \
+      '-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '-label:label string:' \
+      '-layer:layer type:(Red Green Blue Matte)' \
+      '-linewidth:line width:' \
+      '-loop:number of iterations (GIF animation):' \
+      '-map[single image colormap file]:picture file for colors:_imagemagick' \
+      '+map[all images colormap file]:picture file for colors:_imagemagick' \
+      '-matte[store matte channel]' \
+      '-modulate:<brightness>,<saturation>,<hue>:' \
+      '-monochrome[transform to black and white]' \
+      '-morph[morph image sequence]' \
+      '-negate[invert image]' \
+      '+negate[invert only grayscale]' \
+      '-noise[noise peak elimination]' \
+      '+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \
+      '-normalize[use full color value range]' \
+      '-opaque:image pen color:_x_color' \
+      '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
+      '-paint:oil painting radius:' \
+      '-pen:font color:_x_color' \
+      '-pointsize:Postscript font size:' \
+      '-preview:image preview type:(Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Threshold Edge Detect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG)' \
+      '-profile:information profile:->profile' \
+      '-quality:JPEG/MIFF/PNG compression level:' \
+      '-raise:lighten or darken edges (<width>x<height>):' \
+      '-region:image region (<width>x<height>{+-}<x>{+-}<y>):' \
+      '-roll:image roll offset ({+-}<x>{+-}<y>):' \
+      '-rotate:rotation (degrees{<}{>}):' \
+      '-sample:scale factors (<width>x<height>):' \
+      '-scene:image scene number:' \
+      '-seed:random number seed:' \
+      '-segment:segment thresholds (<cluster>x<smoothing>):' \
+      '-shade:image shading (<azimuth>x<elevation>):' \
+      '-sharpen:sharpening factor (0.0 - 99.9%):' \
+      '-shear:shearing angles (<x>x<y> in degrees):' \
+      '-size:image size (<width>x<height>+<offset>):' \
+      '-solarize:solarization threshold:' \
+      '-spread:neighborhood size:' \
+      '-swirl:swirl tightness:' \
+      '-texture:background texture image:_imagemagick' \
+      '-threshold:threshold for maximum intensity:' \
+      '-transparency:transparent color:_x_color' \
+      '-treedepth:color reduction tree depth:' \
+      '-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \
+      '-verbose[print image information]' \
+      '-view:FlashPix viewing parameters:' \
+      '-wave:sine wave parameters (<amplitude>x<wavelength>):' \
+      '*:picture file:_imagemagick' && return 0
+
+    if [[ "$state" = profile ]]; then
+      if compset -P '*:'; then
+	_files
+      else
+	_wanted prefixes expl 'profile type' compadd icc: iptc:
+      fi
+      return
+    fi
+  ;;
+
+combine)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '-blend:blending factor (0.0 - 99.9%):' \
+      '-colors:preferred number of colors:' \
+      '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '-comment:comment string:' \
+      '-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \
+      '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
+      '-density:resolution in pixels of image (<width>x<height>):' \
+      '-displace:displacements scales (<horizontal>x<vertical>):' \
+      '-display:display:_x_display' \
+      '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
+      '-dither[apply dithering]' \
+      '+dither[render Postscript without aliasing]' \
+      '-font:normal text font:_x_font' \
+      '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
+      '-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '-label:label string:' \
+      '-matte[store matte channel]' \
+      '-monochrome[transform to black and white]' \
+      '-negate[invert image]' \
+      '+negate[invert only grayscale]' \
+      '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
+      '-quality:JPEG/MIFF/PNG compression level:' \
+      '-scene:image scene number:' \
+      '-stegano:watermark offset:' \
+      '-stereo[create stereo anaglyph]' \
+      '-tile[repeat composite operation]' \
+      '-treedepth:color reduction tree depth:' \
+      '-verbose[print image information]' \
+      ':image file:_imagemagick' \
+      ':composite file:_imagemagick' \
+      ':mask or combined file:_imagemagick' \
+      ':combined file:_files' && return
+  ;;
+
+mogrify)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '*-antialias[remove pixel aliasing]' \
+      '*-blur:blur factor (0.0 - 99.9%):' \
+      '*-border:border size (<width>x<height>):' \
+      '*-bordercolor:border color:_x_color' \
+      '*-box:annotation bounding box color:_x_color' \
+      '*-charcoal:charcoal drawing factor:' \
+      '*-colorize:colorization amount (<num> or <red>/<green>/<blue>):' \
+      '*-colors:preferred number of colors:' \
+      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
+      '*-comment:comment string:' \
+      '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
+      '*-contrast[enhance contrast]' \
+      '*+contrast[reduce contrast]' \
+      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
+      '*-cycle:image colormap shift:' \
+      '*-delay:delay for next image (1/100ths of a second):' \
+      '*-density:resolution in pixels of image (<width>x<height>):' \
+      '*-depth:image depth:(8 16)' \
+      '*-despeckle[reduce speckles in image]' \
+      '*-display:display:_x_display' \
+      '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
+      '*-dither[apply dithering]' \
+      '*+dither[render Postscript without aliasing]' \
+      '*-draw:drawing primitive:compadd -S "\\ " - point line rectangle fillRectangle circle fillCircle ellipse fillEllipse polygon fillPolygon color matte text image' \
+      '*-edge:edge detection factor (0.0 - 99.9%):' \
+      '*-emboss[emboss image]' \
+      '*-enhance[enhance image]' \
+      '*-equalize[histogram equalization]' \
+      '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
+      '*-flip[vertical mirror image]' \
+      '*-flop[horizontal mirror image]' \
+      "*-format:output file format:(${formats//:/ })" \
+      '*-font:annotation font:_x_font' \
+      '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \
+      '*-fuzz:maximum distance for equal colors:' \
+      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
+      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
+      '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
+      '*-implode:implosion factor (0.0 - 99.9%):' \
+      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
+      '*-layer:layer type:(Red Green Blue Matte)' \
+      '*-linewidth:line width:' \
+      '*-loop:number of iterations (GIF animation):' \
+      '*-map[single image colormap file]:picture file for colors:_imagemagick' \
+      '*+map[all images colormap file]:picture file for colors:_imagemagick' \
+      '*-matte[store matte channel]' \
+      '*-modulate:<brightness>,<saturation>,<hue>:' \
+      '*-monochrome[transform to black and white]' \
+      '*-negate[invert image]' \
+      '*+negate[invert only grayscale]' \
+      '*-noise[noise peak elimination]' \
+      '*+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \
+      '*-normalize[use full color value range]' \
+      '*-opaque:image pen color:_x_color' \
+      '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
+      '*-paint:oil painting radius:' \
+      '*-pen:font color:_x_color' \
+      '*-pointsize:Postscript font size:' \
+      '*-quality:JPEG/MIFF/PNG compression level:' \
+      '*-raise:lighten or darken edges (<width>x<height>):' \
+      '*-region:image region (<width>x<height>{+-}<x>{+-}<y>):' \
+      '*-roll:image roll offset ({+-}<x>{+-}<y>):' \
+      '*-rotate:rotation (degrees{<}{>}):' \
+      '*-sample:scale factors (<width>x<height>):' \
+      '*-scene:image scene number:' \
+      '*-seed:random number seed:' \
+      '*-segment:segment thresholds (<cluster>x<smoothing>):' \
+      '*-shade:image shading (<azimuth>x<elevation>):' \
+      '*-sharpen:sharpening factor (0.0 - 99.9%):' \
+      '*-shear:shearing angles (<x>x<y> in degrees):' \
+      '*-size:image size (<width>x<height>+<offset>):' \
+      '*-solarize:solarization threshold:' \
+      '*-spread:neighborhood size:' \
+      '*-swirl:swirl tightness:' \
+      '*-texture:background texture image:_imagemagick' \
+      '*-threshold:threshold for maximum intensity:' \
+      '*-transparency:transparent color:_x_color' \
+      '*-treedepth:color reduction tree depth:' \
+      '*-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \
+      '*-verbose[print image information]' \
+      '*-view:FlashPix viewing parameters:' \
+      '*-wave:sine wave parameters (<amplitude>x<wavelength>):' \
+      '*:picture file:_imagemagick' && return
+  ;;
+
+xtp)
+  _arguments -M 'm:{a-z}={A-Z}' \
+      '-account:password:' \
+      '-binary[retrieve files as binary]' \
+      '-directory[list directory]' \
+      '-exclude:regular expression for exclusion:' \
+      '-file:output file:_files' \
+      '-get[get files]' \
+      '-port:port: _ports' \
+      '-proxy:host of proxy ftp deamon:_hosts' \
+      '-print[print files]' \
+      '-prune[process files from remote directory]' \
+      '-put[put files]' \
+      '-retrieve[retrieve matching files]' \
+      '-timeout:maximum timeout:' \
+      '-type:remote system type:(UNIX VMS other)' \
+      ':url: _urls' && return
+  ;;
+
+identify)
+  _arguments \
+      '*-density:resolution in pixels of image (<width>x<height>):' \
+      '*-depth[specify image depth]:image depth:(8 16)' \
+      '*-size:image size (<width>x<height>+<offset>):' \
+      '*-verbose[print more detailed info about image]' \
+      '*-noop[disable effect of preceding options]' \
+      '*:picture file:_imagemagick' && return
+ ;;
+
+*)
+  _message 'eh?'
+esac
+
+return 1
diff --git a/Completion/Unix/Command/_renice b/Completion/Unix/Command/_renice
new file mode 100644
index 000000000..256ef5694
--- /dev/null
+++ b/Completion/Unix/Command/_renice
@@ -0,0 +1,21 @@
+#compdef renice
+
+if [[ $CURRENT = 2 ]]; then
+  _message priority
+else
+  local opts ret=1
+  opts=(
+    '-g:interpret args as process group IDs'
+    '-u:interpret args as user names'
+    '-p:interpret args as process IDs'
+  )
+  _describe -o option opts && ret=0
+
+  case ${(v)words[(I)-?]} in
+    -g) _message 'process group ID' && ret=0 ;;
+    -u) _users && ret=0 ;;
+    *)  _pids && ret=0;;
+  esac
+fi
+
+return ret
diff --git a/Completion/Unix/Command/_sh b/Completion/Unix/Command/_sh
new file mode 100644
index 000000000..cc2139d7f
--- /dev/null
+++ b/Completion/Unix/Command/_sh
@@ -0,0 +1,15 @@
+#compdef sh ksh bash zsh csh tcsh rc
+
+if (( CURRENT == ${words[(i)-c]} + 1 )); then
+  compset -q
+  _normal
+else
+  local n=${words[(b:2:i)[^-]*]}
+  if (( n <= CURRENT )); then
+    compset -n $n
+    _alternative \
+      'files:file:_files' \
+      'commands:command:_normal' && return 0
+  fi
+  _default
+fi
diff --git a/Completion/Unix/Type/_perl_basepods b/Completion/Unix/Type/_perl_basepods
new file mode 100644
index 000000000..1dbd92551
--- /dev/null
+++ b/Completion/Unix/Type/_perl_basepods
@@ -0,0 +1,32 @@
+#autoload
+#
+# _perl_basepods - zsh completion function
+#
+# Adam Spiers <adam@spiers.net>
+#
+# Calculate all installed Perl base pods (perlfunc, perlfaq etc.).
+# The result is cached for future use.
+#
+
+if (( ! $+_perl_basepods )); then
+  typeset -agU _perl_basepods
+
+  if (( ${+commands[basepods]} )); then
+    _perl_basepods=( ${$(basepods):t:r} )
+  else
+    local podpath
+
+    podpath=$(perl -MConfig -e 'print "$Config{installprivlib}/pod"')
+
+    if [[ ! -e $podpath/perl.pod ]]; then
+      _message "can't find perl.pod from Config.pm; giving up"
+      return 1
+    else
+      _perl_basepods=( ${podpath}/*.pod(:r:t) )
+    fi
+  fi
+fi
+
+local expl
+
+_wanted pods expl 'perl base pods' compadd -a - _perl_basepods
diff --git a/Completion/Unix/Type/_perl_builtin_funcs b/Completion/Unix/Type/_perl_builtin_funcs
new file mode 100644
index 000000000..829a53e60
--- /dev/null
+++ b/Completion/Unix/Type/_perl_builtin_funcs
@@ -0,0 +1,9 @@
+#autoload
+
+local expl
+
+: ${(A)_perl_builtin_funcs:=${(u)${${(M)${(f)"$(_call_program functions \
+    perldoc -u perlfunc 2>/dev/null)"}:#\=item [a-z]*}#* }%%[^a-z]*}}
+
+_wanted functions expl 'perl built-in function' compadd "$@" -a - \
+    _perl_builtin_funcs