mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-12-23 04:28:00 +00:00
42d9b78907
This change fixes a bug where no command can be found (e.g. `ls`) due to the $path array being set to two elements, one of them with all the previous paths separated by spaces. This makes zsh break $PATH, instead of colons there are spaces, and nothing works. The idea is to have the array be set leveraging the word splitting that we usually are told to avoid by quoting.
44 lines
1.2 KiB
Bash
44 lines
1.2 KiB
Bash
#
|
|
# Loads the Node Version Manager and enables npm completion.
|
|
#
|
|
# Authors:
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
|
#
|
|
|
|
# Load manually installed NVM into the shell session.
|
|
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
|
source "$HOME/.nvm/nvm.sh"
|
|
|
|
# Load package manager installed NVM into the shell session.
|
|
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
|
|
source $(brew --prefix nvm)/nvm.sh
|
|
|
|
# Load manually installed nodenv into the shell session.
|
|
elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then
|
|
path=("$HOME/.nodenv/bin" $path)
|
|
eval "$(nodenv init - --no-rehash zsh)"
|
|
|
|
# Load package manager installed nodenv into the shell session.
|
|
elif (( $+commands[nodenv] )); then
|
|
eval "$(nodenv init - --no-rehash zsh)"
|
|
|
|
# Return if requirements are not found.
|
|
elif (( ! $+commands[node] )); then
|
|
return 1
|
|
fi
|
|
|
|
# Load NPM completion.
|
|
if (( $+commands[npm] )); then
|
|
cache_file="${0:h}/cache.zsh"
|
|
|
|
if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
|
|
# npm is slow; cache its output.
|
|
npm completion >! "$cache_file" 2> /dev/null
|
|
fi
|
|
|
|
source "$cache_file"
|
|
|
|
unset cache_file
|
|
fi
|