@ -1,25 +1,32 @@
#
#
# Loads the Node Version Manager and enables npm completion.
# Configures Node local installation, loads version managers, and defines
# variables and aliases.
#
#
# Authors:
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Zeh Rizzatti <zehrizzatti@gmail.com>
# Zeh Rizzatti <zehrizzatti@gmail.com>
#
#
# Possible lookup locations.
local_nvm_paths = ( { $NVM_DIR ,{ $XDG_CONFIG_HOME /,$HOME /.} nvm} /nvm.sh( N) )
local_nodenv_paths = ( { $NODENV_ROOT ,{ $XDG_CONFIG_HOME /,$HOME /.} nodenv} /bin/nodenv( N) )
# Load manually installed NVM into the shell session.
# Load manually installed NVM into the shell session.
if [ [ -s " ${ NVM_DIR : = $HOME /.nvm } /nvm.sh " ] ] ; then
if [ [ -s ${ local_nvm : : = $local_nvm_paths [1] } ] ] ; then
source " ${ NVM_DIR } /nvm.sh "
source " $local_nvm --no-use "
unset local_nvm{ ,_paths}
# Load package manager installed NVM into the shell session.
# Load package manager installed NVM into the shell session.
elif ( ( $+commands[ brew] ) ) && \
elif ( ( $+commands[ brew] ) ) \
[ [ -d " ${ nvm_prefix : : = " $( brew --prefix nvm 2> /dev/null) " } " ] ] ; then
&& [ [ -d " ${ nvm_prefix : : = " $( brew --prefix nvm 2> /dev/null) " } " ] ] ; then
source " ${ nvm_prefix } /nvm.sh"
source " $ nvm_prefix /nvm.sh --no-use "
unset nvm_prefix
unset nvm_prefix
# Load manually installed nodenv into the shell session.
# Load manually installed nodenv into the shell session.
elif [ [ -s " ${ NODENV_ROOT : = $HOME /.nodenv } /bin/nodenv " ] ] ; then
elif [ [ -s ${ local_nodenv : : = $local_nodenv_paths [1] } ] ] ; then
path = ( " ${ NODENV_ROOT } /bin " $path )
path = ( " $local_nodenv :h " $path )
eval " $( nodenv init - --no-rehash zsh) "
eval " $( nodenv init - --no-rehash zsh) "
unset local_nodenv{ ,_paths}
# Load package manager installed nodenv into the shell session.
# Load package manager installed nodenv into the shell session.
elif ( ( $+commands[ nodenv] ) ) ; then
elif ( ( $+commands[ nodenv] ) ) ; then
@ -31,22 +38,22 @@ elif (( ! $+commands[node] )); then
fi
fi
# Load NPM and known helper completions.
# Load NPM and known helper completions.
typeset -A compl_commands = (
typeset -A _ compl_commands= (
npm 'npm completion'
npm 'npm completion'
grunt 'grunt --completion=zsh'
grunt 'grunt --completion=zsh'
gulp 'gulp --completion=zsh'
gulp 'gulp --completion=zsh'
)
)
for compl_command in " ${ (k)compl_commands[@] } " ; do
for _ compl_command in " ${ (k)_ compl_commands[@] } " ; do
if ( ( $+commands[ $compl_command ] ) ) ; then
if ( ( $+commands[ $_ compl_command ] ) ) ; then
cache_file = " ${ XDG_CACHE_HOME :- $HOME /.cache } /prezto/ $compl_command -cache.zsh "
cache_file = " ${ XDG_CACHE_HOME :- $HOME /.cache } /prezto/ ${ _compl_command } -cache.zsh "
# Completion commands are slow; cache their output if old or missing.
# Completion commands are slow; cache their output if old or missing.
if [ [ " $commands [ $compl_command ] " -nt " $cache_file " \
if [ [ " $commands [ $_ compl_command ] " -nt " $cache_file " \
|| " ${ ZDOTDIR :- $HOME } /.zpreztorc " -nt " $cache_file " \
|| " ${ ZDOTDIR :- $HOME } /.zpreztorc " -nt " $cache_file " \
|| ! -s " $cache_file " ] ] ; then
|| ! -s " $cache_file " ] ] ; then
mkdir -p " $cache_file :h "
mkdir -p " $cache_file :h "
command ${ =compl_commands[ $compl_command ] } >! " $cache_file " 2> /dev/null
command ${ =_ compl_commands[ $_ compl_command ] } >! " $cache_file " 2> /dev/null
fi
fi
source " $cache_file "
source " $cache_file "
@ -55,4 +62,4 @@ for compl_command in "${(k)compl_commands[@]}"; do
fi
fi
done
done
unset compl_command{ s,}
unset _ compl_command{ s,}