# ccache(1) completion -*- shell-script -*- _ccache() { local cur prev words cword split _init_completion -s || return local i for (( i=1; i <= COMP_CWORD; i++ )); do if [[ ${COMP_WORDS[i]} != -* ]]; then _command_offset $i return fi [[ ${COMP_WORDS[i]} == -*[oFM] ]] && ((i++)) done case $prev in --help|--version|--max-files|--max-size|-!(-*)[hVFM]) return ;; --set-config|-!(-*)o) if [[ $cur != *=* ]]; then COMPREPLY=( $(compgen -S = -W "$($1 -p 2>/dev/null | \ awk '$3 = "=" { print $2 }')" -- "$cur") ) [[ $COMPREPLY == *= ]] && compopt -o nospace fi return ;; esac $split && return COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) [[ $COMPREPLY == *= ]] && compopt -o nospace } && complete -F _ccache ccache # ex: filetype=sh