diff options
Diffstat (limited to '')
-rw-r--r-- | completions/zopfli | 29 | ||||
-rw-r--r-- | completions/zopflipng | 39 |
2 files changed, 68 insertions, 0 deletions
diff --git a/completions/zopfli b/completions/zopfli new file mode 100644 index 0000000..8c02885 --- /dev/null +++ b/completions/zopfli @@ -0,0 +1,29 @@ +# bash completion for zopfli -*- shell-script -*- + +_zopfli() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -h) + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W \ + '$(_parse_help "$1" -h | command sed -e "s/#$//")' -- "$cur")) + [[ ${COMPREPLY-} == --i ]] && compopt -o nospace + return + fi + + _tilde "$cur" || return + + local IFS=$'\n' xspec="*.@(gz|t[ag]z)" + compopt -o filenames + COMPREPLY=($(compgen -f -X "$xspec" -- "$cur") $(compgen -d -- "$cur")) +} && + complete -F _zopfli zopfli + +# ex: filetype=sh diff --git a/completions/zopflipng b/completions/zopflipng new file mode 100644 index 0000000..4526cd9 --- /dev/null +++ b/completions/zopflipng @@ -0,0 +1,39 @@ +# bash completion for zopflipng -*- shell-script -*- + +_zopflipng() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + -h | --help) + return + ;; + --splitting) + COMPREPLY=($(compgen -W '{0..3}' -- "$cur")) + return + ;; + esac + + $split && return + + if [[ $cur == -* ]]; then + COMPREPLY=($(_parse_help "$1" -h)) + COMPREPLY=($(compgen -W '${COMPREPLY[@]%:}' -- "$cur")) + [[ ${COMPREPLY-} == *= ]] && compopt -o nospace + return + fi + + if [[ ${words[*]} != *\ --prefix=* ]]; then + # 2 png args only if --prefix not given + local args + _count_args + ((args < 3)) && _filedir png + else + # otherwise arbitrary number of png args + _filedir png + fi +} && + complete -F _zopflipng zopflipng + +# ex: filetype=sh |