✨ Automatically use .nvmrc
Add function to automatically install if applicable, and use the version of Node.js specified by the .nvmrc, when entering directories with one available.
This commit is contained in:
parent
d203fe642a
commit
d85ad95bc9
1 changed files with 28 additions and 0 deletions
28
node/nvm.zsh
28
node/nvm.zsh
|
@ -2,3 +2,31 @@
|
|||
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue