mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-10-14 04:29:09 +00:00
As of Homebrew 4.6.12, command-not-found is built into Homebrew core and the tap is deprecated, causing Homebrew to print deprecation warnings on init until the tap is uninstalled, after which prezto can't find the helper in its new location. * Added logic to look first in the new location for handler.sh in the core Homebrew repository, *then* check in Taps. * Added an OSTYPE check for MacOS to prevent this from accidentally engaging on Linux systems using Homebrew as a third party package manager
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/Library}
|
|
# 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
|
|
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
|