1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2026-04-18 11:04:05 +00:00
Files
prezto/modules/command-not-found/init.zsh
Alex Forsythe a1c01ff39f 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.
2026-03-23 00:37:27 -05:00

35 lines
1.2 KiB
Bash

#
# Displays installation information for not found commands.
#
# Authors:
# Joseph Jon Booker <joe@neoturbine.net>
# Indrajit Raychaudhuri <irc+code@indrajit.com>
#
# Load command-not-found on Debian-based distributions.
if [[ -s /etc/zsh_command_not_found ]]; then
source /etc/zsh_command_not_found
# Load command-not-found on Arch Linux-based distributions.
elif [[ -s /usr/share/doc/pkgfile/command-not-found.zsh ]]; then
source /usr/share/doc/pkgfile/command-not-found.zsh
# 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}
# Look for handler in Homebrew core (as of >=4.6.12), then in Taps (< 4.6.12)
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
break
fi
done
if [ -n "$hb_cnf_handler" ]; then
unset hb_cnf_handler homebrew_repo
return 1
fi
# Return if requirements are not found.
else
return 1
fi