Parent directory

nodenv.plugin.zsh

992 bytes
 1# This plugin loads nodenv into the current shell and provides prompt info via
 2# the 'nodenv_prompt_info' function.
 3
 4FOUND_NODENV=${+commands[nodenv]}
 5
 6if [[ $FOUND_NODENV -ne 1 ]]; then
 7  nodenvdirs=(
 8    "$HOME/.nodenv"
 9    "/usr/local/nodenv"
10    "/opt/nodenv"
11    "/usr/local/opt/nodenv"
12  )
13  for dir in $nodenvdirs; do
14    if [[ -d "${dir}/bin" ]]; then
15      export PATH="$PATH:${dir}/bin"
16      FOUND_NODENV=1
17      break
18    fi
19  done
20
21  if [[ $FOUND_NODENV -ne 1 ]]; then
22    if (( $+commands[brew] )) && dir=$(brew --prefix nodenv 2>/dev/null); then
23      if [[ -d "${dir}/bin" ]]; then
24        export PATH="$PATH:${dir}/bin"
25        FOUND_NODENV=1
26      fi
27    fi
28  fi
29fi
30
31if [[ $FOUND_NODENV -eq 1 ]]; then
32  eval "$(nodenv init --no-rehash - zsh)"
33  function nodenv_prompt_info() {
34    nodenv version-name 2>/dev/null
35  }
36else
37  # fallback to system node
38  function nodenv_prompt_info() {
39    echo "system: $(node -v 2>&1 | cut -c 2-)"
40  }
41fi
42
43unset FOUND_NODENV nodenvdirs dir