Diff
1diff --git a/plugins/nvm/README.md b/plugins/nvm/README.md
2index fe91cc3b2c17e0da9c5f661ff390cc97b558d24a..1245f66dbccff38a8908822a3efa6df6bfeb61f8 100644
3--- a/plugins/nvm/README.md
4+++ b/plugins/nvm/README.md
5@@ -42,6 +42,8 @@ as you want:
6 zstyle ':omz:plugins:nvm' lazy-cmd eslint prettier typescript ...
7 ```
8
9+There will be a function `_omz_nvm_load` available to load `nvm` without executing any other trigger command.
10+
11 #### `.nvmrc` autoload
12
13 Note: _if used at the same time as `lazy`, `autoload` will start working only after nvm has been lazy-loaded_
14diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh
15index a00c2e1172a47de4f0206885a131d8860f0a0c8b..682bddc478f8c9793af78bfa7afa4f117859d671 100644
16--- a/plugins/nvm/nvm.plugin.zsh
17+++ b/plugins/nvm/nvm.plugin.zsh
18@@ -20,7 +20,7 @@ if [[ -z "$NVM_DIR" ]] || [[ ! -f "$NVM_DIR/nvm.sh" ]]; then
19 return
20 fi
21
22-function _omz_load_nvm_completion {
23+function _omz_nvm_setup_completion {
24 local _nvm_completion
25 # Load nvm bash completion
26 for _nvm_completion in "$NVM_DIR/bash_completion" "$NVM_HOMEBREW/etc/bash_completion.d/nvm"; do
27@@ -33,12 +33,12 @@ function _omz_load_nvm_completion {
28 break
29 fi
30 done
31- unfunction _omz_load_nvm_completion
32+ unfunction _omz_nvm_setup_completion
33 }
34
35-function _omz_setup_autoload {
36+function _omz_nvm_setup_autoload {
37 if ! zstyle -t ':omz:plugins:nvm' autoload; then
38- unfunction _omz_setup_autoload
39+ unfunction _omz_nvm_setup_autoload
40 return
41 fi
42
43@@ -68,13 +68,13 @@ function _omz_setup_autoload {
44 add-zsh-hook chpwd load-nvmrc
45
46 load-nvmrc
47- unfunction _omz_setup_autoload
48+ unfunction _omz_nvm_setup_autoload
49 }
50
51 if zstyle -t ':omz:plugins:nvm' lazy; then
52 # Call nvm when first using nvm, node, npm, pnpm, yarn, corepack or other commands in lazy-cmd
53 zstyle -a ':omz:plugins:nvm' lazy-cmd nvm_lazy_cmd
54- nvm_lazy_cmd=(nvm node npm npx pnpm pnpx yarn corepack $nvm_lazy_cmd) # default values
55+ nvm_lazy_cmd=(_omz_nvm_load nvm node npm npx pnpm pnpx yarn corepack $nvm_lazy_cmd) # default values
56 eval "
57 function $nvm_lazy_cmd {
58 for func in $nvm_lazy_cmd; do
59@@ -84,14 +84,16 @@ if zstyle -t ':omz:plugins:nvm' lazy; then
60 done
61 # Load nvm if it exists in \$NVM_DIR
62 [[ -f \"\$NVM_DIR/nvm.sh\" ]] && source \"\$NVM_DIR/nvm.sh\"
63- _omz_load_nvm_completion
64- _omz_setup_autoload
65- \"\$0\" \"\$@\"
66+ _omz_nvm_setup_completion
67+ _omz_nvm_setup_autoload
68+ if [[ \"\$0\" != _omz_nvm_load ]]; then
69+ \"\$0\" \"\$@\"
70+ fi
71 }
72 "
73 unset nvm_lazy_cmd
74 else
75 source "$NVM_DIR/nvm.sh"
76- _omz_load_nvm_completion
77- _omz_setup_autoload
78+ _omz_nvm_setup_completion
79+ _omz_nvm_setup_autoload
80 fi