From fd15ea0fb5f43a05647e9755f2c86aabd6ee95f8 Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Wed, 2 Aug 2000 13:45:51 +0000 Subject: 12486: new completion caching layer --- Completion/Base/_cache_invalid | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Completion/Base/_cache_invalid (limited to 'Completion/Base/_cache_invalid') diff --git a/Completion/Base/_cache_invalid b/Completion/Base/_cache_invalid new file mode 100644 index 000000000..e55381439 --- /dev/null +++ b/Completion/Base/_cache_invalid @@ -0,0 +1,21 @@ +#autoload +# +# Function to decide whether a completions cache needs rebuilding + +local _cache_ident _cache_dir _cache_path _cache_policy +_cache_ident="$1" + +# If the cache is disabled, we never want to rebuild it, so pretend +# it's valid. +zstyle -t ":completion:${curcontext}:" use-cache || return 1 + +zstyle -s ":completion:${curcontext}:" cache-path _cache_dir +: ${_cache_dir:=${ZDOTDIR:-$HOME}/.zcompcache} +_cache_path="$_cache_dir/$_cache_ident" + +# See whether the caching policy says that the cache needs rebuilding +# (the policy will return 0 if it does). +zstyle -s ":completion:${curcontext}:" cache-policy _cache_policy +[[ -n "$_cache_policy" ]] && "$_cache_policy" "$_cache_path" && return 0 + +return 1 -- cgit v1.3.1