summaryrefslogtreecommitdiff
path: root/plugins/brew
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/brew')
-rw-r--r--plugins/brew/README.md20
-rw-r--r--plugins/brew/brew.plugin.zsh11
2 files changed, 22 insertions, 9 deletions
diff --git a/plugins/brew/README.md b/plugins/brew/README.md
index 412daae63..299393b28 100644
--- a/plugins/brew/README.md
+++ b/plugins/brew/README.md
@@ -10,10 +10,12 @@ plugins=(... brew)
## Shellenv
-If `brew` is not found in the PATH, this plugin will attempt to find it in common
-locations, and execute `brew shellenv` to set the environment appropriately.
-This plugin will also export `HOMEBREW_PREFIX="$(brew --prefix)"` if not previously
-defined for convenience.
+If `brew` is not found in the PATH, this plugin will attempt to find it in common locations, and execute
+`brew shellenv` to set the environment appropriately. This plugin will also export
+`HOMEBREW_PREFIX="$(brew --prefix)"` if not previously defined for convenience.
+
+In case you installed `brew` in a non-common location, you can still set `BREW_LOCATION` variable pointing to
+the `brew` binary before sourcing `oh-my-zsh.sh` and it'll set up the environment.
## Aliases
@@ -33,7 +35,9 @@ defined for convenience.
## Completion
-With the release of Homebrew 1.0, they decided to bundle the zsh completion as part of the
-brew installation, so we no longer ship it with the brew plugin; now it only has brew
-aliases. If you find that brew completion no longer works, make sure you have your Homebrew
-installation fully up to date.
+This plugin configures paths with Homebrew's completion functions automatically, so you don't need to do it
+manually. See: https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh.
+
+With the release of Homebrew 1.0, they decided to bundle the zsh completion as part of the brew installation,
+so we no longer ship it with the brew plugin; now it only has brew aliases. If you find that brew completion
+no longer works, make sure you have your Homebrew installation fully up to date.
diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh
index f6abe0875..447036376 100644
--- a/plugins/brew/brew.plugin.zsh
+++ b/plugins/brew/brew.plugin.zsh
@@ -1,5 +1,10 @@
if (( ! $+commands[brew] )); then
- if [[ -x /opt/homebrew/bin/brew ]]; then
+ if [[ -n "$BREW_LOCATION" ]]; then
+ if [[ ! -x "$BREW_LOCATION" ]]; then
+ echo "[oh-my-zsh] $BREW_LOCATION is not executable"
+ return
+ fi
+ elif [[ -x /opt/homebrew/bin/brew ]]; then
BREW_LOCATION="/opt/homebrew/bin/brew"
elif [[ -x /usr/local/bin/brew ]]; then
BREW_LOCATION="/usr/local/bin/brew"
@@ -25,6 +30,10 @@ if [[ -z "$HOMEBREW_PREFIX" ]]; then
export HOMEBREW_PREFIX="$(brew --prefix)"
fi
+if [[ -d "$HOMEBREW_PREFIX/share/zsh/site-functions" ]]; then
+ fpath+=("$HOMEBREW_PREFIX/share/zsh/site-functions")
+fi
+
alias bcubc='brew upgrade --cask && brew cleanup'
alias bcubo='brew update && brew outdated --cask'
alias bcubc='brew upgrade --cask && brew cleanup'