# unpack200(1) completion -*- shell-script -*- _unpack200() { local cur prev words cword split _init_completion -s || return case $prev in --help | --version | -!(-*)[?hVJ]) return ;; --deflate-hint | -!(-*)H) COMPREPLY=($(compgen -W 'true false keep' -- "$cur")) return ;; --log-file | -!(-*)l) COMPREPLY=($(compgen -W '-' -- "$cur")) _filedir log return ;; esac $split && return # Check if a pack or a jar was already given. local word pack=false jar=false for word in "${words[@]:1}"; do case $word in *.pack | *.pack.gz) pack=true ;; *.jar) jar=true ;; esac done if ! $pack; then if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W '--deflate-hint= --remove-pack-file --verbose --quiet --log-file= --help --version' -- "$cur")) [[ ${COMPREPLY-} == *= ]] && compopt -o nospace else _filedir 'pack?(.gz)' fi elif ! $jar; then _filedir jar fi } && complete -F _unpack200 unpack200 # ex: filetype=sh