start environment variable completion
This commit is contained in:
parent
543c22cb63
commit
66f1f211b9
126
src/_ccache
126
src/_ccache
|
@ -1,4 +1,5 @@
|
|||
#compdef ccache
|
||||
#compdef ccache -P -value-,CCACHE_*,-default-
|
||||
|
||||
# zsh completion script for ccache
|
||||
|
||||
# Copyright 2018 CERN for the benefit of the LHCb Collaboration.
|
||||
|
@ -46,6 +47,129 @@ _ccache_compilers() {
|
|||
_command_names -e
|
||||
}
|
||||
|
||||
_ccache_booleans() {
|
||||
_message 'There are no "false" values, unset variable to disable'
|
||||
local description; description=${1:-boolean}
|
||||
local booleans; booleans=(
|
||||
'true'
|
||||
'yes'
|
||||
)
|
||||
_describe -t booeans "$description" booleans
|
||||
}
|
||||
|
||||
if [[ "$service" = -value-* ]]; then
|
||||
case $service in
|
||||
*CCACHE_*DIR*)
|
||||
# CCACHE_BASEDIR: relative to which top level paths are hashed
|
||||
# CCACHE_DIR: where the cache and config are kept
|
||||
# CCACHE_TEMPDIR: where temporary files are kept
|
||||
# all: a single path
|
||||
_path_files -/
|
||||
;;
|
||||
*CCACHE_NLEVELS*)
|
||||
local -a one_eight
|
||||
one_eight=(1 2 3 4 5 6 7 8)
|
||||
_describe -t onetoeight "directory levels in the cache directory" one_eight
|
||||
;;
|
||||
*CCACHE_CC*)
|
||||
_ccache_compilers
|
||||
;;
|
||||
*CCACHE_COMPILERCHECK*)
|
||||
local -a compiler_check_values
|
||||
compiler_check_values=(
|
||||
'content: the actual compiler binary'
|
||||
'mtime: mtime and size of the compiler'
|
||||
'none: ignore compiler for hashing'
|
||||
'string\:: any hard coded string (pre-computed version)'
|
||||
'%compiler%\ -v:any compiler invocation output'
|
||||
)
|
||||
_describe -t compilerchecks "compiler information included in the hash" compiler_check_values
|
||||
;;
|
||||
*CCACHE_*COMPRESS*)
|
||||
_ccache_booleans "write compressed cache"
|
||||
;;
|
||||
*CCACHE_COMPRESSLEVEL*)
|
||||
local -a one_nine
|
||||
one_nine=(1 2 3 4 5 6 7 8 9)
|
||||
_describe -t onetonine "compression level (if using compression)" one_nine
|
||||
;;
|
||||
*CCACHE_EXTENSION*)
|
||||
# FIXME
|
||||
;;
|
||||
*CCACHE_*DIRECT*)
|
||||
_ccache_booleans "use direct mode"
|
||||
;;
|
||||
*CCACHE_*DISABLE*)
|
||||
_ccache_booleans "disable cache usage"
|
||||
;;
|
||||
*CCACHE_EXTRAFILES*)
|
||||
local sep=:
|
||||
compset -P "*${sep}"
|
||||
compset -S "${sep}*" || suf="$sep"
|
||||
|
||||
_files "" -r "${sep}"' /\t\t\-' "$@"
|
||||
;;
|
||||
*CCACHE_*HARDLINK*)
|
||||
_ccache_booleans "create hard links rather than copies"
|
||||
;;
|
||||
*CCACHE_*HASHDIR*)
|
||||
_ccache_booleans "include the cwd in the hash"
|
||||
;;
|
||||
*CCACHE_IGNOREHEADERS*)
|
||||
_dir_list
|
||||
;;
|
||||
*CCACHE_*COMMENTS*)
|
||||
_ccache_booleans "consider comments in hashing"
|
||||
;;
|
||||
*CCACHE_LIMIT_MULTIPLE*)
|
||||
_alternative ":clean up down to level (e.g. 0.8): "
|
||||
;;
|
||||
*CCACHE_LOGFILE*)
|
||||
_path_files -g "*(/) *.log"
|
||||
;;
|
||||
*CCACHE_MAXFILES*)
|
||||
_alternative ":maximum number of files in the cache (0= no limit): "
|
||||
;;
|
||||
*CCACHE_MAXSIZE*)
|
||||
;;
|
||||
*CCACHE_PATH*)
|
||||
_alternative ':PATH for compiler lookup (instead of $PATH):_dir_list'
|
||||
;;
|
||||
*CCACHE_PREFIX*)
|
||||
# FIXME
|
||||
;;
|
||||
*CCACHE_PREFIX_CPP*)
|
||||
# FIXME
|
||||
;;
|
||||
*CCACHE_*READONLY*)
|
||||
_ccache_booleans "treat cache as read-only"
|
||||
;;
|
||||
*CCACHE_*READONLY_DIRECT*)
|
||||
_ccache_booleans "retrieve from read-only cache in direct mode"
|
||||
;;
|
||||
*CCACHE_*RECACHE*)
|
||||
_ccache_booleans "use cache in write-only mode"
|
||||
;;
|
||||
*CCACHE_*CPP2*)
|
||||
_ccache_booleans "pass originial rather than preprocessed source code to compiler"
|
||||
;;
|
||||
*CCACHE_SLOPPINESS*)
|
||||
# FIXME
|
||||
;;
|
||||
*CCACHE_*STATS*)
|
||||
_ccache_booleans "update statistics counters"
|
||||
;;
|
||||
*CCACHE_UMASK*)
|
||||
# FIXME
|
||||
;;
|
||||
*CCACHE_*UNIFY*)
|
||||
_ccache_booleans "normalise sources prior to processing"
|
||||
;;
|
||||
esac
|
||||
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ $words[2] == -* ]]; then
|
||||
# if the first argument starts with -, we are in configure-ccache mode
|
||||
# for this, _gnu_generic is okayish:
|
||||
|
|
Loading…
Reference in New Issue