mirror of
https://github.com/dcarrillo/prezto.git
synced 2026-04-18 13:24:04 +00:00
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.
35 lines
1.2 KiB
Bash
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
|