dotfiles/node/nvm.zsh

33 lines
787 B
Bash
Raw Normal View History

#!/usr/bin/env zsh
2024-01-23 20:51:10 -08:00
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