summaryrefslogtreecommitdiff
path: root/plugins/yarn
diff options
context:
space:
mode:
authorCarlo Sala <carlosalag@protonmail.com>2022-02-03 14:42:47 +0100
committerGitHub <noreply@github.com>2022-02-03 14:42:47 +0100
commitd9c58d5fa10a1e9911d61adf7ccfbd64b24e713f (patch)
tree63ee99f9b8fa1a8f87f2f7f213c8da34ed32e788 /plugins/yarn
parente1a9d0ce3e142003bf137e8ca3e204474b8c148f (diff)
downloadzsh-d9c58d5fa10a1e9911d61adf7ccfbd64b24e713f.tar.gz
zsh-d9c58d5fa10a1e9911d61adf7ccfbd64b24e713f.tar.bz2
zsh-d9c58d5fa10a1e9911d61adf7ccfbd64b24e713f.zip
feat(yarn): add setting to disable adding global dir to `$PATH` (#10642)
Diffstat (limited to 'plugins/yarn')
-rw-r--r--plugins/yarn/README.md9
-rw-r--r--plugins/yarn/yarn.plugin.zsh18
2 files changed, 19 insertions, 8 deletions
diff --git a/plugins/yarn/README.md b/plugins/yarn/README.md
index 9a0d1708d..9c16ff2c3 100644
--- a/plugins/yarn/README.md
+++ b/plugins/yarn/README.md
@@ -9,6 +9,15 @@ To use it, add `yarn` to the plugins array in your zshrc file:
plugins=(... yarn)
```
+## Global scripts directory
+
+It also adds `yarn` global scripts dir (commonly `~/.yarn/bin`) to the `$PATH`.
+To disable this feature, set the following style in your `.zshrc`:
+
+```zsh
+zstyle ':omz:plugins:yarn' global-path false
+```
+
## Aliases
| Alias | Command | Description |
diff --git a/plugins/yarn/yarn.plugin.zsh b/plugins/yarn/yarn.plugin.zsh
index 9ba24420a..bcb8661cf 100644
--- a/plugins/yarn/yarn.plugin.zsh
+++ b/plugins/yarn/yarn.plugin.zsh
@@ -1,12 +1,14 @@
-# Skip yarn call if default global bin dir exists
-[[ -d "$HOME/.yarn/bin" ]] && bindir="$HOME/.yarn/bin" || bindir="$(yarn global bin 2>/dev/null)"
+if zstyle -T ':omz:plugins:yarn' global-path; then
+ # Skip yarn call if default global bin dir exists
+ [[ -d "$HOME/.yarn/bin" ]] && bindir="$HOME/.yarn/bin" || bindir="$(yarn global bin 2>/dev/null)"
-# Add yarn bin directory to $PATH if it exists and not already in $PATH
-[[ $? -eq 0 ]] \
- && [[ -d "$bindir" ]] \
- && (( ! ${path[(Ie)$bindir]} )) \
- && path+=("$bindir")
-unset bindir
+ # Add yarn bin directory to $PATH if it exists and not already in $PATH
+ [[ $? -eq 0 ]] \
+ && [[ -d "$bindir" ]] \
+ && (( ! ${path[(Ie)$bindir]} )) \
+ && path+=("$bindir")
+ unset bindir
+fi
alias y="yarn"
alias ya="yarn add"