fix(core): use $HOME/.cache if default cache dir is non-writable (#10193)

Fixes #10193
This commit is contained in:
Marc Cornellà 2021-09-15 20:38:54 +02:00
parent eb2eacaf0c
commit 8784e88552
No known key found for this signature in database
GPG Key ID: 0314585E776A9C1B

View File

@ -7,7 +7,12 @@ if [[ -z "$ZSH_CACHE_DIR" ]]; then
ZSH_CACHE_DIR="$ZSH/cache"
fi
# Create completions cache dir and add to $fpath
# Make sure $ZSH_CACHE_DIR is writable, otherwise use a directory in $HOME
if [[ ! -w "$ZSH_CACHE_DIR" ]]; then
ZSH_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/ohmyzsh"
fi
# Create cache and completions dir and add to $fpath
mkdir -p "$ZSH_CACHE_DIR/completions"
(( ${fpath[(Ie)$ZSH_CACHE_DIR/completions]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)