mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-18 14:19:50 +00:00
feat(nvm)!: settings now are zstyle-based (#11335)
Co-authored-by: Marc Cornellà <hello@mcornella.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# nvm plugin
|
||||
|
||||
This plugin adds autocompletions for [nvm](https://github.com/nvm-sh/nvm) — a Node.js version manager.
|
||||
It also automatically sources nvm, so you don't need to do it manually in your `.zshrc`.
|
||||
This plugin adds autocompletions for [nvm](https://github.com/nvm-sh/nvm) — a Node.js version manager. It also
|
||||
automatically sources nvm, so you don't need to do it manually in your `.zshrc`.
|
||||
|
||||
To use it, add `nvm` to the plugins array of your zshrc file:
|
||||
|
||||
@@ -21,14 +21,32 @@ These settings should go in your zshrc file, before Oh My Zsh is sourced:
|
||||
[Homebrew is installed in `/opt/homebrew`](https://docs.brew.sh/Installation). To get the directory where
|
||||
nvm has been installed, regardless of chip architecture, use `NVM_HOMEBREW=$(brew --prefix nvm)`.
|
||||
|
||||
- **`NVM_LAZY`**: if you want the plugin to defer the load of nvm to speed-up the start of your zsh session,
|
||||
set `NVM_LAZY` to `1`. This will source nvm script only when using it, and will create a function for `node`,
|
||||
`npm`, `pnpm`, `yarn`, and the command(s) specified by `NVM_LAZY_CMD`, so when you call either of them,
|
||||
nvm will be loaded and run with default version.
|
||||
## Customization
|
||||
|
||||
- **`NVM_LAZY_CMD`**: if you want additional command(s) to trigger lazy loading of nvm, set `NVM_LAZY_CMD` to
|
||||
the command or an array of the commands.
|
||||
#### Lazy startup
|
||||
|
||||
- **`NVM_AUTOLOAD`**: if `NVM_AUTOLOAD` is set to `1`, the plugin will automatically load a node version when
|
||||
if finds a [`.nvmrc` file](https://github.com/nvm-sh/nvm#nvmrc) in the current working directory indicating
|
||||
which node version to load.
|
||||
This option will help you to defer nvm's load until you use it to speed-up your zsh startup. This will source
|
||||
nvm script only when using it, and will create a function for `node`, `npm`, `pnpm`, `yarn`, and the
|
||||
command(s) specified by `lazy-cmd` option, so when you call either of them, nvm will be loaded and run with
|
||||
default version. To enable it, you can add this snippet to your zshrc, before Oh My Zsh is sourced:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' lazy yes
|
||||
```
|
||||
|
||||
Then, to define extra commands that will also trigger nvm load, you can use a similar syntax, adding as many
|
||||
as you want:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' lazy-cmd eslint prettier typescript ...
|
||||
```
|
||||
|
||||
#### `.nvmrc` autoload
|
||||
|
||||
If set, the plugin will automatically load a node version when if finds a
|
||||
[`.nvmrc` file](https://github.com/nvm-sh/nvm#nvmrc) in the current working directory indicating which node
|
||||
version to load. This can be done, similar as previous options, adding:
|
||||
|
||||
```zsh
|
||||
zstyle ':omz:plugins:nvm' autoload true
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user