summaryrefslogtreecommitdiff
path: root/plugins/nvm/nvm.plugin.zsh
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2022-11-05 14:55:11 -0700
committerTuowen Zhao <ztuowen@gmail.com>2022-11-05 14:55:11 -0700
commit04b8c052e5b624873b352889423c753ed1baf9c4 (patch)
tree78e14fe69e61d69709f31f91b7ae29fe8bc74477 /plugins/nvm/nvm.plugin.zsh
parent1a6dcd017dbf564058a729032de3db139fcf9c7e (diff)
parent80fdbc9b91a9acca42fb90065b5e64a9722978a7 (diff)
downloadzsh-04b8c052e5b624873b352889423c753ed1baf9c4.tar.gz
zsh-04b8c052e5b624873b352889423c753ed1baf9c4.tar.bz2
zsh-04b8c052e5b624873b352889423c753ed1baf9c4.zip
Merge remote-tracking branch 'github/master'
Diffstat (limited to 'plugins/nvm/nvm.plugin.zsh')
-rw-r--r--plugins/nvm/nvm.plugin.zsh38
1 files changed, 16 insertions, 22 deletions
diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh
index 630854a71..1fb4d238b 100644
--- a/plugins/nvm/nvm.plugin.zsh
+++ b/plugins/nvm/nvm.plugin.zsh
@@ -4,39 +4,33 @@ if [[ -z "$NVM_DIR" ]]; then
export NVM_DIR="$HOME/.nvm"
elif [[ -d "${XDG_CONFIG_HOME:-$HOME/.config}/nvm" ]]; then
export NVM_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/nvm"
+ elif (( $+commands[brew] )); then
+ NVM_HOMEBREW="${NVM_HOMEBREW:-${HOMEBREW_PREFIX:-$(brew --prefix)}/opt/nvm}"
+ if [[ -d "$NVM_HOMEBREW" ]]; then
+ export NVM_DIR="$NVM_HOMEBREW"
+ fi
fi
fi
# Don't try to load nvm if command already available
# Note: nvm is a function so we need to use `which`
-! which nvm &>/dev/null || return
+which nvm &>/dev/null && return
-if [[ -f "$NVM_DIR/nvm.sh" ]]; then
+if (( $+NVM_LAZY )); then
+ # Call nvm when first using nvm, node, npm, pnpm, yarn or $NVM_LAZY_CMD
+ function nvm node npm pnpm yarn $NVM_LAZY_CMD {
+ unfunction nvm node npm pnpm yarn $NVM_LAZY_CMD
+ # Load nvm if it exists in $NVM_DIR
+ [[ -f "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh"
+ "$0" "$@"
+ }
+elif [[ -f "$NVM_DIR/nvm.sh" ]]; then
# Load nvm if it exists in $NVM_DIR
- source "$NVM_DIR/nvm.sh" ${NVM_LAZY+"--no-use"}
-elif (( $+commands[brew] )); then
- # Otherwise try to load nvm installed via Homebrew
- # User can set this if they have an unusual Homebrew setup
- NVM_HOMEBREW="${NVM_HOMEBREW:-${HOMEBREW_PREFIX:-$(brew --prefix)}/opt/nvm}"
- # Load nvm from Homebrew location if it exists
- if [[ -f "$NVM_HOMEBREW/nvm.sh" ]]; then
- source "$NVM_HOMEBREW/nvm.sh" ${NVM_LAZY+"--no-use"}
- else
- return
- fi
+ source "$NVM_DIR/nvm.sh"
else
return
fi
-# Call nvm when first using node, npm or yarn
-if (( $+NVM_LAZY )); then
- function node npm yarn $NVM_LAZY_CMD {
- unfunction node npm yarn $NVM_LAZY_CMD
- nvm use default
- command "$0" "$@"
- }
-fi
-
# Autoload nvm when finding a .nvmrc file in the current directory
# Adapted from: https://github.com/nvm-sh/nvm#zsh
if (( $+NVM_AUTOLOAD )); then