summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorCarlo Sala <carlosalag@protonmail.com>2023-09-13 10:48:16 +0200
committerCarlo Sala <carlosalag@protonmail.com>2023-09-13 10:48:41 +0200
commit7e4c26860d74a01cd6d91fd10fcc28fccd740ddd (patch)
tree9c180418f1b3ad1557c06844b00c64b9f5cf62ae /plugins
parent01f55123118601a935f28ff6c49e625448bdd32d (diff)
downloadzsh-7e4c26860d74a01cd6d91fd10fcc28fccd740ddd.tar.gz
zsh-7e4c26860d74a01cd6d91fd10fcc28fccd740ddd.tar.bz2
zsh-7e4c26860d74a01cd6d91fd10fcc28fccd740ddd.zip
feat(brew): add support for custom `BREW_LOCATION`
Fixes #11888 Co-authored-by: Matt Cable <github@curiousstranger.org>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/brew/README.md20
-rw-r--r--plugins/brew/brew.plugin.zsh7
2 files changed, 17 insertions, 10 deletions
diff --git a/plugins/brew/README.md b/plugins/brew/README.md
index 4730194bc..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,9 +35,9 @@ defined for convenience.
## Completion
-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.
+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.
+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 b52664a39..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"