From 775f14d0c383ddc06c086e1632a9b377a5d0950c Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 8 Apr 2024 20:37:23 -0500 Subject: [PATCH] homebrew: Simplify caching `brew shellenv` Avoid checking age of cache file and just test for its existence. While this is simpler, this also avoids depending on having `EXTENDED_GLOB` enabled. --- modules/homebrew/init.zsh | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index a6fca815..dd2b5658 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -22,18 +22,15 @@ fi # variables as they are already handled in standard zsh configuration. if (( $+commands[brew] )); then cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/brew-shellenv-cache.zsh" - if [[ "${commands[brew]}" -nt "$cache_file" \ + 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}" + || ! -s "$cache_file" ]]; then + mkdir -p "$cache_file:h" + # Cache the result. + echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "$cache_file" 2> /dev/null fi - source "${cache_file}" + + source "$cache_file" unset cache_file fi