From b256f11335eb1bed9ef0edd815b26db6338fedad Mon Sep 17 00:00:00 2001 From: Rafael Antonio Lucio Date: Sun, 10 Dec 2017 00:09:25 -0200 Subject: [PATCH] Add load node version when exists .nvmrc file in path --- plugins/nvm/nvm.plugin.zsh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh index 9dde3a266..ed0b6d220 100644 --- a/plugins/nvm/nvm.plugin.zsh +++ b/plugins/nvm/nvm.plugin.zsh @@ -3,3 +3,37 @@ # Load nvm if it exists [[ -f "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" + +# Auto load version node if exists .nvmrc +[[ -n "$ZSH_NVM_AUTOLOAD" ]] || ZSH_NVM_AUTOLOAD=false + +load-nvmrc() { + local node_version="$(nvm version)" + local nvmrc_path="$(nvm_find_nvmrc)" + + if [ -n "$nvmrc_path" ] + then + local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")") + + if [ "$nvmrc_node_version" = "N/A" ] + then + nvm install + fi + + if [ "$nvmrc_node_version" != "$node_version" ] + then + nvm use + fi + elif [ "$node_version" != "$(nvm version default)" ] + then + echo "Reverting to nvm default version" + nvm use default + fi +} + +if [[ "$ZSH_NVM_AUTOLOAD" == "true" ]] +then + autoload -U add-zsh-hook + add-zsh-hook chpwd load-nvmrc + load-nvmrc +fi \ No newline at end of file