mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-05 01:46:46 +01:00
feat(nodenv): add plugin for nodenv (#9880)
Co-authored-by: Matthew Boston <matthew@matthewboston.com>
This commit is contained in:
parent
16050ab80e
commit
21bdb18b2d
2 changed files with 63 additions and 0 deletions
43
plugins/nodenv/nodenv.plugin.zsh
Normal file
43
plugins/nodenv/nodenv.plugin.zsh
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# This plugin loads nodenv into the current shell and provides prompt info via
|
||||
# the 'nodenv_prompt_info' function.
|
||||
|
||||
FOUND_NODENV=${+commands[nodenv]}
|
||||
|
||||
if [[ $FOUND_NODENV -ne 1 ]]; then
|
||||
nodenvdirs=(
|
||||
"$HOME/.nodenv"
|
||||
"/usr/local/nodenv"
|
||||
"/opt/nodenv"
|
||||
"/usr/local/opt/nodenv"
|
||||
)
|
||||
for dir in $nodenvdirs; do
|
||||
if [[ -d "${dir}/bin" ]]; then
|
||||
export PATH="$PATH:${dir}/bin"
|
||||
FOUND_NODENV=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ $FOUND_NODENV -ne 1 ]]; then
|
||||
if (( $+commands[brew] )) && dir=$(brew --prefix nodenv 2>/dev/null); then
|
||||
if [[ -d "${dir}/bin" ]]; then
|
||||
export PATH="$PATH:${dir}/bin"
|
||||
FOUND_NODENV=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $FOUND_NODENV -eq 1 ]]; then
|
||||
eval "$(nodenv init --no-rehash - zsh)"
|
||||
function nodenv_prompt_info() {
|
||||
nodenv version-name 2>/dev/null
|
||||
}
|
||||
else
|
||||
# fallback to system node
|
||||
function nodenv_prompt_info() {
|
||||
echo "system: $(node -v 2>&1 | cut -c 2-)"
|
||||
}
|
||||
fi
|
||||
|
||||
unset FOUND_NODENV nodenvdirs dir
|
||||
Loading…
Add table
Add a link
Reference in a new issue