Marley Rae
d85ad95bc9
Add function to automatically install if applicable, and use the version of Node.js specified by the .nvmrc, when entering directories with one available.
32 lines
787 B
Bash
32 lines
787 B
Bash
#!/usr/bin/env zsh
|
|
|
|
export NVM_COMPLETION=true
|
|
source ~/.zsh-plugins/zsh-nvm/zsh-nvm.plugin.zsh
|
|
|
|
# Call nvm use automatically whenever a directory containing .nvmrc is entered.
|
|
autoload -U add-zsh-hook
|
|
|
|
function load-nvmrc()
|
|
{
|
|
local nvmrc_path
|
|
nvmrc_path="$(nvm_find_nvmrc)"
|
|
|
|
if [[ -n "$nvmrc_path" ]]; then
|
|
local nvmrc_node_version
|
|
nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
|
|
|
|
if [[ "$nvmrc_node_version" == "N/A" ]]; then
|
|
nvm install
|
|
elif [[ "$nvmrc_node_version" != "$(nvm version)" ]]; then
|
|
nvm use
|
|
fi
|
|
|
|
elif [[ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ]] \
|
|
&& [[ "$(nvm version)" != "$(nvm version default)" ]]; then
|
|
echo "Reverting to nvm default version"
|
|
nvm use default
|
|
fi
|
|
}
|
|
|
|
add-zsh-hook chpwd load-nvmrc
|
|
load-nvmrc
|