From a1c01ff39f627087a886b595c55f459ec8d732ee Mon Sep 17 00:00:00 2001 From: Alex Forsythe Date: Sun, 22 Mar 2026 21:22:19 -0700 Subject: [PATCH] Fix handler path for command-not-found The command-not-found plugin can't find handler.sh when HOMEBREW_REPOSITORY is set because "Library" is only included in the path when that env var is unset. Let's fix that by always including the "Library" path element. --- modules/command-not-found/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index fbe959c..601986a 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -15,9 +15,9 @@ elif [[ -s /usr/share/doc/pkgfile/command-not-found.zsh ]]; then # Load command-not-found on macOS when Homebrew is present. Check explicitly # for MacOS, since homebrew can be installed on Linux as a supplementary PM elif [[ "$OSTYPE" =~ ^darwin ]] && (( $+commands[brew] )); then - homebrew_repo=${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h/Library} + homebrew_repo=${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h} # Look for handler in Homebrew core (as of >=4.6.12), then in Taps (< 4.6.12) - for hb_cnf_handler in "$homebrew_repo"/{Homebrew/command-not-found/handler.sh,Taps/homebrew/homebrew-command-not-found/handler.sh}; do + for hb_cnf_handler in "$homebrew_repo"/{Library/Homebrew/command-not-found/handler.sh,Taps/homebrew/homebrew-command-not-found/handler.sh}; do if [ -f "$hb_cnf_handler" ]; then source "$hb_cnf_handler" unset hb_cnf_handler homebrew_repo