diff --git a/plugins/nvm/_nvm b/plugins/nvm/_nvm index a95c9e375..5707c7594 100644 --- a/plugins/nvm/_nvm +++ b/plugins/nvm/_nvm @@ -1,7 +1,7 @@ #compdef nvm #autoload -[[ -s ~/.nvm/nvm.sh ]] || return 0 +[[ -s $NVM_DIR/nvm.sh ]] || return 0 local -a _1st_arguments _1st_arguments=( @@ -23,4 +23,4 @@ _arguments -C '*:: :->subcmds' && return 0 if (( CURRENT == 1 )); then _describe -t commands "nvm subcommand" _1st_arguments return -fi \ No newline at end of file +fi diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh index 9709719fe..0763fae26 100644 --- a/plugins/nvm/nvm.plugin.zsh +++ b/plugins/nvm/nvm.plugin.zsh @@ -1,3 +1,25 @@ -# The addition 'nvm install' attempts in ~/.profile +_homebrew-installed() { + type brew &> /dev/null +} -[[ -s ~/.nvm/nvm.sh ]] && . ~/.nvm/nvm.sh +_nvm-from-homebrew-installed() { + brew --prefix nvm &> /dev/null +} + +FOUND_NVM=0 +nvmdirs=("$HOME/.nvm" "/usr/local/nvm" "/opt/nvm" "/usr/local/opt/nvm") +if _homebrew-installed && _nvm-from-homebrew-installed ; then + nvmdirs=($(brew --prefix nvm) "${rbenvdirs[@]}") +fi + +for nvmdir in "${nvmdirs[@]}" ; do + if [ -s $nvmdir/nvm.sh -a $FOUND_NVM -eq 0 ]; then + FOUND_NVM=1 + if [[ $NVM_DIR = '' ]]; then + NVM_DIR=$nvmdir + fi + export NVM_DIR + source $nvmdir/nvm.sh + fi +done +unset nvmdir