mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 05:40:08 +00:00
nvm: only lazy-load nvm if the NVM_LAZY setting is set
This commit is contained in:
parent
3e97308003
commit
a33c0cdb46
2 changed files with 13 additions and 7 deletions
|
@ -16,3 +16,7 @@ plugins=(... nvm)
|
||||||
|
|
||||||
- **`NVM_HOMEBREW`**: if you installed nvm via Homebrew, in a directory other than `/usr/local/opt/nvm`, you
|
- **`NVM_HOMEBREW`**: if you installed nvm via Homebrew, in a directory other than `/usr/local/opt/nvm`, you
|
||||||
can set `NVM_HOMEBREW` to be the directory where you installed it.
|
can set `NVM_HOMEBREW` to be the directory where you installed it.
|
||||||
|
|
||||||
|
- **`NVM_LAZY`**: if you want the plugin to defer the load of nvm to speed-up the start of your zsh session,
|
||||||
|
set `NVM_LAZY` to `1`. This will use the `--no-use` parameter when loading nvm, and will create a function
|
||||||
|
for `node`, `npm` and `yarn`, so when you call either of these three, nvm will load with `nvm use default`.
|
||||||
|
|
|
@ -12,21 +12,23 @@ which nvm &> /dev/null && return
|
||||||
|
|
||||||
if [[ -f "$NVM_DIR/nvm.sh" ]]; then
|
if [[ -f "$NVM_DIR/nvm.sh" ]]; then
|
||||||
# Load nvm if it exists in $NVM_DIR
|
# Load nvm if it exists in $NVM_DIR
|
||||||
source "$NVM_DIR/nvm.sh" --no-use
|
source "$NVM_DIR/nvm.sh" ${NVM_LAZY+"--no-use"}
|
||||||
else
|
else
|
||||||
# Otherwise try to load nvm installed via Homebrew
|
# Otherwise try to load nvm installed via Homebrew
|
||||||
# User can set this if they have an unusual Homebrew setup
|
# User can set this if they have an unusual Homebrew setup
|
||||||
NVM_HOMEBREW="${NVM_HOMEBREW:-/usr/local/opt/nvm}"
|
NVM_HOMEBREW="${NVM_HOMEBREW:-/usr/local/opt/nvm}"
|
||||||
# Load nvm from Homebrew location if it exists
|
# Load nvm from Homebrew location if it exists
|
||||||
[[ -f "$NVM_HOMEBREW/nvm.sh" ]] && source "$NVM_HOMEBREW/nvm.sh" --no-use
|
[[ -f "$NVM_HOMEBREW/nvm.sh" ]] && source "$NVM_HOMEBREW/nvm.sh" ${NVM_LAZY+"--no-use"}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Call nvm when first using node, npm or yarn
|
# Call nvm when first using node, npm or yarn
|
||||||
function node npm yarn {
|
if (( $+NVM_LAZY )); then
|
||||||
unfunction node npm yarn
|
function node npm yarn {
|
||||||
nvm use default
|
unfunction node npm yarn
|
||||||
command "$0" "$@"
|
nvm use default
|
||||||
}
|
command "$0" "$@"
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
# Load nvm bash completion
|
# Load nvm bash completion
|
||||||
for nvm_completion in "$NVM_DIR/bash_completion" "$NVM_HOMEBREW/etc/bash_completion.d/nvm"; do
|
for nvm_completion in "$NVM_DIR/bash_completion" "$NVM_HOMEBREW/etc/bash_completion.d/nvm"; do
|
||||||
|
|
Loading…
Reference in a new issue