# unpack200(1) completion -*- shell-script -*- proc _unpack200 { var cur = '', prev = '', words = '', cword = '', split = '' _init_completion -s || return match $prev { with '-?'|-h|--help|-V|--version|-J return 0 with -H|--deflate-hint setglobal COMPREPLY = '( '$( compgen -W 'true false keep' -- "$cur" ) ) return 0 with -l|--log-file setglobal COMPREPLY = '( '$( compgen -W '-' -- "$cur" ) ) _filedir log return 0 } $split && return # Check if a pack or a jar was already given. var i = '', pack = 'false', jar = 'false' for (( i=0; i < ${#words[@]}-1; i++ )) ; do case ${words[i]} in *.pack|*.pack.gz) pack=true ;; *.jar) jar=true ;; esac done if ! $pack { if [[ "$cur" == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '--deflate-hint= --remove-pack-file --verbose --quiet --log-file= --help --version' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace } else { _filedir 'pack?(.gz)' } } elif ! $jar { _filedir jar } } && complete -F _unpack200 unpack200 # ex: ts=4 sw=4 et filetype=sh