mirror of
https://github.com/lukechilds/zsh-nvm.git
synced 2025-01-30 09:47:14 +08:00
This reverts commit a0f0a2cfd0
.
This commit is contained in:
parent
c123e04fa9
commit
e293a0914f
@ -22,6 +22,20 @@ _zsh_nvm_install() {
|
|||||||
$(builtin cd "$NVM_DIR" && git checkout --quiet "$(_zsh_nvm_latest_release_tag)")
|
$(builtin cd "$NVM_DIR" && git checkout --quiet "$(_zsh_nvm_latest_release_tag)")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_zsh_nvm_global_binaries() {
|
||||||
|
|
||||||
|
# Look for global binaries
|
||||||
|
local global_binary_paths="$(echo "$NVM_DIR"/v0*/bin/*(N) "$NVM_DIR"/versions/*/*/bin/*(N))"
|
||||||
|
|
||||||
|
# If we have some, format them
|
||||||
|
if [[ -n "$global_binary_paths" ]]; then
|
||||||
|
echo "$NVM_DIR"/v0*/bin/*(N) "$NVM_DIR"/versions/*/*/bin/*(N) |
|
||||||
|
xargs -n 1 basename |
|
||||||
|
sort |
|
||||||
|
uniq
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
_zsh_nvm_load() {
|
_zsh_nvm_load() {
|
||||||
|
|
||||||
# Source nvm (check if `nvm use` should be ran after load)
|
# Source nvm (check if `nvm use` should be ran after load)
|
||||||
@ -71,7 +85,7 @@ _zsh_nvm_lazy_load() {
|
|||||||
if [[ "$NVM_NO_USE" == true ]]; then
|
if [[ "$NVM_NO_USE" == true ]]; then
|
||||||
global_binaries=()
|
global_binaries=()
|
||||||
else
|
else
|
||||||
global_binaries=("$NVM_DIR"/v0*/bin/*(N:t) "$NVM_DIR"/versions/*/*/bin/*(N:t))
|
global_binaries=($(_zsh_nvm_global_binaries))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add yarn lazy loader if it's been installed by something other than npm
|
# Add yarn lazy loader if it's been installed by something other than npm
|
||||||
@ -81,22 +95,19 @@ _zsh_nvm_lazy_load() {
|
|||||||
global_binaries+=('nvm')
|
global_binaries+=('nvm')
|
||||||
global_binaries+=($NVM_LAZY_LOAD_EXTRA_COMMANDS)
|
global_binaries+=($NVM_LAZY_LOAD_EXTRA_COMMANDS)
|
||||||
|
|
||||||
# Deduplicate
|
|
||||||
typeset -U global_binaries
|
|
||||||
|
|
||||||
# Remove any binaries that conflict with current aliases
|
# Remove any binaries that conflict with current aliases
|
||||||
local cmds
|
local cmds
|
||||||
IFS=$'\n' cmds=($(whence -w -- "${global_binaries[@]}" 2> /dev/null))
|
cmds=()
|
||||||
unset IFS
|
for bin in $global_binaries; do
|
||||||
cmds=(${cmds#*": alias"})
|
[[ "$(which $bin 2> /dev/null)" = "$bin: aliased to "* ]] || cmds+=($bin)
|
||||||
cmds=(${(@q-)cmds%": "*})
|
done
|
||||||
|
|
||||||
# Create function for each command
|
# Create function for each command
|
||||||
for cmd in $cmds; do
|
for cmd in $cmds; do
|
||||||
|
|
||||||
# When called, unset all lazy loaders, load nvm then run current command
|
# When called, unset all lazy loaders, load nvm then run current command
|
||||||
eval "$cmd(){
|
eval "$cmd(){
|
||||||
unset -f ${cmds[@]} > /dev/null 2>&1
|
unset -f $cmds > /dev/null 2>&1
|
||||||
_zsh_nvm_load
|
_zsh_nvm_load
|
||||||
$cmd \"\$@\"
|
$cmd \"\$@\"
|
||||||
}"
|
}"
|
||||||
|
Loading…
Reference in New Issue
Block a user