浏览代码

feat(nvm): add `silent-autoload` setting (#11363)

Co-authored-by: Michał Regulski <regulskimichal@outlook.com>

Closes #10942
Carlo 2 年之前
父节点
当前提交
64bc22aee4
共有 2 个文件被更改,包括 16 次插入6 次删除
  1. 9 1
      plugins/nvm/README.md
  2. 7 5
      plugins/nvm/nvm.plugin.zsh

+ 9 - 1
plugins/nvm/README.md

@@ -48,5 +48,13 @@ If set, the plugin will automatically load a node version when if finds a
 version to load. This can be done, similar as previous options, adding:
 
 ```zsh
-zstyle ':omz:plugins:nvm' autoload true
+zstyle ':omz:plugins:nvm' autoload yes
 ```
+
+To remove the output generated by NVM when autoloading, you can set the following option:
+
+```zsh
+zstyle ':omz:plugins:nvm' silent-autoload yes
+```
+
+Note: _this will not remove regular `nvm` output_

+ 7 - 5
plugins/nvm/nvm.plugin.zsh

@@ -24,11 +24,11 @@ if (( ${+NVM_LAZY} + ${+NVM_LAZY_CMD} + ${+NVM_AUTOLOAD} )); then
   # Nicely print the list in the style `var1, var2 and var3`
   echo "${fg[yellow]}[nvm plugin] Variable-style settings are deprecated. Instead of ${(j:, :)used_vars[1,-2]}${used_vars[-2]+ and }${used_vars[-1]}, use:\n"
   if (( $+NVM_AUTOLOAD )); then
-    echo "  zstyle ':omz:plugins:nvm' autoload true"
+    echo "  zstyle ':omz:plugins:nvm' autoload yes"
     zstyle ':omz:plugins:nvm' autoload yes
   fi
   if (( $+NVM_LAZY )); then
-    echo "  zstyle ':omz:plugins:nvm' lazy true"
+    echo "  zstyle ':omz:plugins:nvm' lazy yes"
     zstyle ':omz:plugins:nvm' lazy yes
   fi
   if (( $+NVM_LAZY_CMD )); then
@@ -61,9 +61,11 @@ fi
 # Autoload nvm when finding a .nvmrc file in the current directory
 # Adapted from: https://github.com/nvm-sh/nvm#zsh
 if zstyle -t ':omz:plugins:nvm' autoload; then
-  load-nvmrc() {
+  function load-nvmrc {
     local node_version="$(nvm version)"
     local nvmrc_path="$(nvm_find_nvmrc)"
+    local nvm_silent=""
+    zstyle -t ':omz:plugins:nvm' silent-autoload && _nvm_silent="--silent"
 
     if [[ -n "$nvmrc_path" ]]; then
       local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
@@ -71,11 +73,11 @@ if zstyle -t ':omz:plugins:nvm' autoload; then
       if [[ "$nvmrc_node_version" = "N/A" ]]; then
         nvm install
       elif [[ "$nvmrc_node_version" != "$node_version" ]]; then
-        nvm use
+        nvm use $nvm_silent
       fi
     elif [[ "$node_version" != "$(nvm version default)" ]]; then
       echo "Reverting to nvm default version"
-      nvm use default
+      nvm use default $nvm_silent
     fi
   }