1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
# ccache(1) completion -*- shell-script -*-
_comp_cmd_ccache()
{
local cur prev words cword was_split comp_args
_comp_initialize -s -- "$@" || return
local i
for ((i = 1; i <= cword; i++)); do
if [[ ${words[i]} != -* ]]; then
_comp_command_offset $i
return
fi
[[ ${words[i]} == -*[oFM] ]] && ((i++))
done
local noargopts='!(-*|*[FMo]*)'
# shellcheck disable=SC2254
case $prev in
--help | --version | --max-files | --max-size | -${noargopts}[hVFM])
return
;;
--set-config | -${noargopts}o)
if [[ $cur != *=* ]]; then
_comp_compgen_split -S = -- "$("$1" -p 2>/dev/null |
_comp_awk '$3 = "=" { print $2 }')"
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
fi
return
;;
esac
[[ $was_split ]] && return
_comp_compgen_help
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
} &&
complete -F _comp_cmd_ccache ccache
# ex: filetype=sh
|