From c0823149cc117b94c1c0948c473fe739a7a53f05 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Fri, 13 Jan 2017 17:15:12 -0800 Subject: [PATCH] Add autoloading correct nvm version in .nvmrc --- plugins/nvm/nvm.plugin.zsh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh index 9dde3a266..44ebb65ab 100644 --- a/plugins/nvm/nvm.plugin.zsh +++ b/plugins/nvm/nvm.plugin.zsh @@ -3,3 +3,25 @@ # Load nvm if it exists [[ -f "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh" + +# Taken from: https://github.com/creationix/nvm#zsh +autoload -U add-zsh-hook +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 + elif [ "$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 +} +add-zsh-hook chpwd load-nvmrc +load-nvmrc#