neovim-ide/nvm.zsh.snippet

34 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

# ── nvm (added in v2.0) ───────────────────────────────────────────────────────
# Lazy-load nvm to keep shell startup fast
export NVM_DIR="$HOME/.nvm"
if [[ -s "$NVM_DIR/nvm.sh" ]]; then
# Stub functions that load nvm on first use
nvm() {
unset -f nvm node npm npx
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm "$@"
}
node() {
unset -f nvm node npm npx
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
node "$@"
}
npm() {
unset -f nvm node npm npx
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
npm "$@"
}
npx() {
unset -f nvm node npm npx
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
npx "$@"
}
# Add default node bin to PATH so node-installed CLIs work without lazy trigger
if [[ -d "$NVM_DIR/alias" ]] && [[ -f "$NVM_DIR/alias/default" ]]; then
DEFAULT_NODE="$(cat "$NVM_DIR/alias/default" 2>/dev/null)"
[[ -d "$NVM_DIR/versions/node/v$DEFAULT_NODE/bin" ]] && \
PATH="$NVM_DIR/versions/node/v$DEFAULT_NODE/bin:$PATH"
fi
fi