8a8a04f43a23f9d3f25b941293d0e9be1d3e301c

Author
Carlo Sala <carlosalag@protonmail.com>
Committer
Carlo Sala <carlosalag@protonmail.com>
Date

Message

fix(nvm): prevent duplicates in lazy_cmd

Closes #11344

Diff

 1diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh
 2index 1badbeab59eaedd39a5ebd071dc501e27ce567a5..94b6661758f77e944105339b31fb8551e29acf50 100644
 3--- a/plugins/nvm/nvm.plugin.zsh
 4+++ b/plugins/nvm/nvm.plugin.zsh
 5@@ -24,9 +24,14 @@ if zstyle -t ':omz:plugins:nvm' lazy && \
 6   ! zstyle -t ':omz:plugins:nvm' autoload; then
 7   # Call nvm when first using nvm, node, npm, pnpm, yarn or other commands in lazy-cmd
 8   zstyle -a ':omz:plugins:nvm' lazy-cmd nvm_lazy_cmd
 9+  nvm_lazy_cmd=(nvm node npm npx pnpm yarn $nvm_lazy_cmd) # default values
10   eval "
11-    function nvm node npm npx pnpm yarn $nvm_lazy_cmd {
12-      unfunction nvm node npm npx pnpm yarn $nvm_lazy_cmd
13+    function $nvm_lazy_cmd {
14+      for func in $nvm_lazy_cmd; do
15+        if (( \$+functions[\$func] )); then
16+          unfunction \$func
17+        fi
18+      done
19       # Load nvm if it exists in \$NVM_DIR
20       [[ -f \"\$NVM_DIR/nvm.sh\" ]] && source \"\$NVM_DIR/nvm.sh\"
21       \"\$0\" \"\$@\"