diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:11:20 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:11:20 +0000 |
commit | 63a8ab3ca82856bb22e97808ed34fa555fb8e1de (patch) | |
tree | 7184a7aff6af9555c6045566bbaf444752bbc72f /Completion | |
parent | 662f9450fe6b1ed0642416df4d50e193d31ea92b (diff) | |
download | zsh-63a8ab3ca82856bb22e97808ed34fa555fb8e1de.tar.gz zsh-63a8ab3ca82856bb22e97808ed34fa555fb8e1de.tar.xz zsh-63a8ab3ca82856bb22e97808ed34fa555fb8e1de.zip |
moved from Completion/Base/_retrieve_cache
Diffstat (limited to 'Completion')
-rw-r--r-- | Completion/Base/Utility/_retrieve_cache | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Completion/Base/Utility/_retrieve_cache b/Completion/Base/Utility/_retrieve_cache new file mode 100644 index 000000000..6a82cd48b --- /dev/null +++ b/Completion/Base/Utility/_retrieve_cache @@ -0,0 +1,31 @@ +#autoload +# +# Retrieval component of completions caching layer + +local _cache_ident _cache_dir _cache_path _cache_policy +_cache_ident="$1" + +if zstyle -t ":completion:${curcontext}:" use-cache; then + # Decide which directory to retrieve cache from, and ensure it exists + zstyle -s ":completion:${curcontext}:" cache-path _cache_dir + : ${_cache_dir:=${ZDOTDIR:-HOME}/.zcompcache} + if [[ ! -d "$_cache_dir" ]]; then + [[ -e "$_cache_dir" ]] && + _message "cache-dir ($_cache_dir) isn't a directory\!" + return 1 + fi + + _cache_path="$_cache_dir/$_cache_ident" + + if [[ -e "$_cache_path" ]]; then + _cache_invalid "$_cache_ident" && return 1 + + . "$_cache_path" + return 0 + else + return 1 + fi +else + return 1 +fi + |