1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-02-12 05:49:47 +08:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Zeragamba
fc44c49cca
fix(nvm): trim non-printable chars from .nvmrc (#10997) 2022-12-01 19:49:41 +01:00
Carlo
64bc22aee4
feat(nvm): add silent-autoload setting (#11363)
Co-authored-by: Michał Regulski <regulskimichal@outlook.com>

Closes #10942
2022-12-01 19:44:48 +01:00
2 changed files with 17 additions and 7 deletions

View File

@ -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_

View File

@ -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,21 +61,23 @@ 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}")")
local nvmrc_node_version=$(nvm version $(cat "$nvmrc_path" | tr -dc '[:print:]'))
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
}