summaryrefslogtreecommitdiff
path: root/.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh
diff options
context:
space:
mode:
authorPedro Pereira <pedro.hr.pereira@proton.me>2026-10-16 15:19:13 -0300
committerPedro Pereira <pedro.hr.pereira@proton.me>2026-10-16 15:19:13 -0300
commit1eb69e9a795cc19450178c07d8d382622bc7ad70 (patch)
treeb6bc60605044fe929986f31b3b6bf4fee9b56e14 /.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh
first commit
Diffstat (limited to '.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh')
-rw-r--r--.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh43
1 files changed, 43 insertions, 0 deletions
diff --git a/.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh b/.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh
new file mode 100644
index 0000000..79a4ffb
--- /dev/null
+++ b/.config/zsh/oh-my-zsh/plugins/nodenv/nodenv.plugin.zsh
@@ -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