diff --git a/completions/Makefile.am b/completions/Makefile.am index b903f7b1..f7823ec8 100644 --- a/completions/Makefile.am +++ b/completions/Makefile.am @@ -238,6 +238,7 @@ bashcomp_DATA = 2to3 \ ntpdate \ openssl \ opera \ + optipng \ p4 \ pack200 \ passwd \ diff --git a/completions/optipng b/completions/optipng new file mode 100644 index 00000000..9749dcbc --- /dev/null +++ b/completions/optipng @@ -0,0 +1,52 @@ +# optipng(1) completion -*- shell-script -*- + +_optipng() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -'?'|-h|--help|-f) + return + ;; + -o) + COMPREPLY=( $( compgen -W '{0..7}' -- "$cur" ) ) + return + ;; + -out|-log) + _filedir + return + ;; + -dir) + _filedir -d + return + ;; + -i) + COMPREPLY=( $( compgen -W '0 1' -- "$cur" ) ) + return + ;; + -zc|-zm) + COMPREPLY=( $( compgen -W '{1..9}' -- "$cur" ) ) + return + ;; + -zw) + COMPREPLY=( $( compgen -W '256 512 1k 2k 4k 8k 16k 32k' \ + -- "$cur" ) ) + return + ;; + -strip) + COMPREPLY=( $( compgen -W 'all' -- "$cur" ) ) + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) + return + fi + + _filedir '@(png|bmp|gif|pnm|tif?(f))' +} && +complete -F _optipng optipng + +# ex: ts=4 sw=4 et filetype=sh diff --git a/test/completion/optipng.exp b/test/completion/optipng.exp new file mode 100644 index 00000000..b3207543 --- /dev/null +++ b/test/completion/optipng.exp @@ -0,0 +1 @@ +assert_source_completions optipng diff --git a/test/lib/completions/optipng.exp b/test/lib/completions/optipng.exp new file mode 100644 index 00000000..0a079190 --- /dev/null +++ b/test/lib/completions/optipng.exp @@ -0,0 +1,18 @@ +proc setup {} { + save_env +} + + +proc teardown {} { + assert_env_unmodified +} + + +setup + + +assert_complete_any "optipng " +sync_after_int + + +teardown