|
|
|
@ -31,6 +31,8 @@
@@ -31,6 +31,8 @@
|
|
|
|
|
- [Automatically call `nvm use`](#automatically-call-nvm-use) |
|
|
|
|
- [zsh](#zsh) |
|
|
|
|
- [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file) |
|
|
|
|
- [fish](#fish) |
|
|
|
|
- [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file-1) |
|
|
|
|
- [License](#license) |
|
|
|
|
- [Running Tests](#running-tests) |
|
|
|
|
- [Bash Completion](#bash-completion) |
|
|
|
@ -536,6 +538,45 @@ add-zsh-hook chpwd load-nvmrc
@@ -536,6 +538,45 @@ add-zsh-hook chpwd load-nvmrc
|
|
|
|
|
load-nvmrc |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
#### fish |
|
|
|
|
|
|
|
|
|
##### Calling `nvm use` automatically in a directory with a `.nvmrc` file |
|
|
|
|
This requires that you have [bass](https://github.com/edc/bass) installed. |
|
|
|
|
```fish |
|
|
|
|
# ~/.config/fish/functions/nvm.fish |
|
|
|
|
function nvm |
|
|
|
|
bass source ~/.nvm/nvm.sh --no-use ';' nvm $argv |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
# ~/.config/fish/functions/nvm_find_nvmrc.fish |
|
|
|
|
function nvm_find_nvmrc |
|
|
|
|
bass source ~/.nvm/nvm.sh --no-use ';' nvm_find_nvmrc |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
# ~/.config/fish/functions/load_nvm.fish |
|
|
|
|
function load_nvm --on-variable="PWD" |
|
|
|
|
set -l default_node_version (nvm version default) |
|
|
|
|
set -l node_version (nvm version) |
|
|
|
|
set -l nvmrc_path (nvm_find_nvmrc) |
|
|
|
|
if test -n "$nvmrc_path" |
|
|
|
|
set -l nvmrc_node_version (nvm version (cat $nvmrc_path)) |
|
|
|
|
if test "$nvmrc_node_version" = "N/A" |
|
|
|
|
nvm install $nvmrc_node_version |
|
|
|
|
else if test nvmrc_node_version != node_version |
|
|
|
|
nvm use $nvmrc_node_version |
|
|
|
|
end |
|
|
|
|
else if test "$node_version" != "$default_node_version" |
|
|
|
|
echo "Reverting to default Node version" |
|
|
|
|
nvm use default |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
# ~/.config/fish/config.fish |
|
|
|
|
# You must call it on initialization or listening to directory switching won't work |
|
|
|
|
load_nvm |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## License |
|
|
|
|
|
|
|
|
|
nvm is released under the MIT license. |
|
|
|
|