# optipng(1) completion -*- shell-script -*- proc _optipng { var cur = '', prev = '', words = '', cword = '' _init_completion || return match $prev { with -'?'|-h|--help|-f return with -o setglobal COMPREPLY = '( '$( compgen -W '{0..7}' -- "$cur" ) ) return with -out|-log _filedir return with -dir _filedir -d return with -i setglobal COMPREPLY = '( '$( compgen -W '0 1' -- "$cur" ) ) return with -zc|-zm setglobal COMPREPLY = '( '$( compgen -W '{1..9}' -- "$cur" ) ) return with -zw setglobal COMPREPLY = '( '$( compgen -W '256 512 1k 2k 4k 8k 16k 32k' \ -- "$cur" ) ) return with -strip setglobal COMPREPLY = '( '$( compgen -W 'all' -- "$cur" ) ) return } if [[ $cur == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) return } _filedir '@(png|bmp|gif|pnm|tif?(f))' } && complete -F _optipng optipng # ex: ts=4 sw=4 et filetype=sh