mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-12-22 12:48:01 +00:00
Cache brew shellenv results
This could sometimes be slow (as with any external command execution) but the result should almost never change.
This commit is contained in:
parent
a79c3b4943
commit
005709d120
@ -21,7 +21,20 @@ fi
|
|||||||
# Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related
|
# Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related
|
||||||
# variables as they are already handled in standard zsh configuration.
|
# variables as they are already handled in standard zsh configuration.
|
||||||
if (( $+commands[brew] )); then
|
if (( $+commands[brew] )); then
|
||||||
eval "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}"
|
cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/brew-shellenv-cache.zsh"
|
||||||
|
if [[ "${commands[brew]}" -nt "$cache_file" \
|
||||||
|
|| "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \
|
||||||
|
|| ( ! -n ${cache_file}(#qNmw-1) ) ]]; then
|
||||||
|
# Rebuild cache if either
|
||||||
|
# 1. brew is newer than the cache file
|
||||||
|
# 2. .zpreztorc is newer than the cache file
|
||||||
|
# 3. cache file doesn't exist
|
||||||
|
# 4. cache file is older than a week
|
||||||
|
mkdir -p "${cache_file:h}"
|
||||||
|
echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "${cache_file}"
|
||||||
|
fi
|
||||||
|
source "${cache_file}"
|
||||||
|
unset cache_file
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user