# bash completion for ImageMagick -*- shell-script -*- proc _ImageMagick { match $prev { with -channel setglobal COMPREPLY = ''( $( compgen -W 'Red Green Blue Opacity Matte Cyan Magenta Yellow Black' -- "$cur" ) ) return 0 with -colormap setglobal COMPREPLY = ''( $( compgen -W 'shared private' -- "$cur" ) ) return 0 with -colorspace setglobal COMPREPLY = ''( $( compgen -W 'GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK' -- "$cur" ) ) return 0 with -compose setglobal COMPREPLY = ''( $( compgen -W 'Over In Out Atop Xor Plus Minus Add Subtract Difference Multiply Bumpmap Copy CopyRed CopyGreen CopyBlue CopyOpacity' -- "$cur" ) ) return 0 with -compress setglobal COMPREPLY = ''( $( compgen -W 'None BZip Fax Group4 JPEG Lossless LZW RLE Zip' -- "$cur" ) ) return 0 with -dispose setglobal COMPREPLY = ''( $( compgen -W 'Undefined None Background Previous' \ -- "$cur" ) ) return 0 with -encoding setglobal COMPREPLY = ''( $( compgen -W 'AdobeCustom AdobeExpert AdobeStandard AppleRoman BIG5 GB2312 Latin2 None SJIScode Symbol Unicode Wansung' -- "$cur" ) ) return 0 with -endian setglobal COMPREPLY = ''( $( compgen -W 'MSB LSB' -- "$cur" ) ) return 0 with -filter setglobal COMPREPLY = ''( $( compgen -W 'Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc' -- "$cur" ) ) return 0 with -format setglobal COMPREPLY = ''( $( compgen -W "$( convert -list format | awk \ '/ [r-][w-][+-] / { sub("[*]$","",$1); print tolower($1) }' )" \ -- "$cur" ) ) return 0 with -gravity setglobal COMPREPLY = ''( $( compgen -W 'Northwest North NorthEast West Center East SouthWest South SouthEast' -- "$cur" ) ) return 0 with -intent setglobal COMPREPLY = ''( $( compgen -W 'Absolute Perceptual Relative Saturation' -- "$cur" ) ) return 0 with -interlace setglobal COMPREPLY = ''( $( compgen -W 'None Line Plane Partition' -- "$cur" ) ) return 0 with -limit setglobal COMPREPLY = ''( $( compgen -W 'Disk File Map Memory' -- "$cur" ) ) return 0 with -list setglobal COMPREPLY = ''( $( compgen -W 'Delegate Format Magic Module Resource Type' -- "$cur" ) ) return 0 with -map setglobal COMPREPLY = ''( $( compgen -W 'best default gray red green blue' \ -- "$cur" ) ) _filedir return 0 with -noise setglobal COMPREPLY = ''( $( compgen -W 'Uniform Gaussian Multiplicative Impulse Laplacian Poisson' -- "$cur" ) ) return 0 with -preview setglobal COMPREPLY = ''( $( compgen -W 'Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Treshold EdgeDetect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG' -- "$cur" ) ) return 0 with -mask|-profile|-texture|-tile|-write _filedir return 0 with -type setglobal COMPREPLY = ''( $( compgen -W 'Bilevel Grayscale Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationlMatte Optimize' -- "$cur" ) ) return 0 with -units setglobal COMPREPLY = ''( $( compgen -W 'Undefined PixelsPerInch PixelsPerCentimeter' -- "$cur" ) ) return 0 with -virtual-pixel setglobal COMPREPLY = ''( $( compgen -W 'Constant Edge mirror tile' -- "$cur" ) ) return 0 with -visual setglobal COMPREPLY = ''( $( compgen -W 'StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor defaut visualid' \ -- "$cur" ) ) return 0 } return 1 } proc _convert { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+adjoin +append +compress +contrast +debug +dither +endian +gamma +label +map +mask +matte +negate +noise +page +raise +render +write' -- "$cur" ) ) } else { _filedir } } && complete -F _convert convert proc _mogrify { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+compress +contrast +debug +dither +endian +gamma +label +map +mask +matte +negate +page +raise' -- "$cur" ) ) } else { _filedir } } && complete -F _mogrify mogrify proc _display { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+compress +contrast +debug +dither +endian +gamma +label +map +matte +negate +page +raise +write' -- "$cur" ) ) } else { _filedir } } && complete -F _display display proc _animate { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+debug +dither +gamma +map +matte' \ -- "$cur" ) ) } else { _filedir } } && complete -F _animate animate proc _identify { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+debug' -- "$cur" ) ) } else { _filedir } } && complete -F _identify identify proc _montage { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+adjoin +compress +debug +dither +endian +gamma +label +matte +page' -- "$cur" ) ) } else { _filedir } } && complete -F _montage montage proc _composite { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+compress +debug +dither +endian +label +matte +negate +page +write' -- "$cur" ) ) } else { _filedir } } && complete -F _composite composite proc _compare { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+debug' -- "$cur" ) ) } else { _filedir } } && complete -F _compare compare proc _conjure { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+debug' -- "$cur" ) ) } else { _filedir } } && complete -F _conjure conjure proc _import { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+debug' -- "$cur" ) ) } else { _filedir } } && complete -F _import import proc _stream { local cur prev words cword _init_completion || return _ImageMagick && return if [[ "$cur" == -* ]] { setglobal COMPREPLY = ''( $( compgen -W '$( _parse_help "$1" -help )' -- "$cur" ) ) } elif [[ "$cur" == +* ]] { setglobal COMPREPLY = ''( $( compgen -W '+debug' -- "$cur" ) ) } else { _filedir } } && complete -F _stream stream # ex: ts=4 sw=4 et filetype=sh