1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-10-14 02:09:10 +00:00

Merge upstream/master

This commit is contained in:
2025-10-12 17:36:26 +02:00
4 changed files with 33 additions and 14 deletions

2
.gitmodules vendored
View File

@@ -21,7 +21,7 @@
url = https://github.com/sindresorhus/pure.git
[submodule "modules/fasd/external"]
path = modules/fasd/external
url = https://github.com/clvv/fasd.git
url = https://github.com/whjvenyl/fasd.git
[submodule "modules/prompt/external/async"]
path = modules/prompt/external/async
url = https://github.com/mafredri/zsh-async.git

View File

@@ -6,18 +6,26 @@ install command.
Debian and Arch Linux based distributions use the [`command-not-found`][1] tool.
macOS uses Homebrew's [`command-not-found` clone][2]. Note that unless you have
a recent version of Homebrew installed, you might also need to tap the
`command-not-found` Homebrew repository [following the instructions][3].
macOS uses Homebrew's [`command-not-found` clone][2]. This module will
automatically load it without needing to manually source `handler.sh` from
`.zshrc` per the [instructions][3].
Note: Prior to [Homebrew 4.6.12][4], you may have also needed to tap the
[`command-not-found` Homebrew repository][5]. This will still work as a
fallback when the `command-not-found` handler can't be detected in Homebrew
core, but the repository has been deprecated and may print a warning. After
upgrading Homebrew, it can be untapped.
## Authors
_The authors of this module should be contacted via the [issue tracker][4]._
_The authors of this module should be contacted via the [issue tracker][6]._
- [Joseph Booker](https://github.com/sargas)
- [Indrajit Raychaudhuri](https://github.com/indrajitr)
[1]: https://code.launchpad.net/command-not-found
[2]: https://github.com/Homebrew/homebrew-command-not-found
[3]: https://github.com/Homebrew/homebrew-command-not-found#install
[4]: https://github.com/sorin-ionescu/prezto/issues
[2]: https://docs.brew.sh/Command-Not-Found
[3]: https://docs.brew.sh/Command-Not-Found#install
[4]: https://github.com/Homebrew/brew/releases/tag/4.6.12
[5]: https://github.com/Homebrew/homebrew-command-not-found
[6]: https://github.com/sorin-ionescu/prezto/issues

View File

@@ -12,11 +12,22 @@ if [[ -s /etc/zsh_command_not_found ]]; then
# 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 tap is configured.
elif (( $+commands[brew] )) \
&& [[ -s ${hb_cnf_handler::="${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}/Library/Taps/homebrew/homebrew-command-not-found/handler.sh"} ]]; then
source "$hb_cnf_handler"
unset hb_cnf_handler
# 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