Adding nvm_resolve_alias

This commit is contained in:
Jordan Harband
2014-10-22 01:30:19 -07:00
parent 08aa09e664
commit 7a339bdd3c
2 changed files with 56 additions and 7 deletions

35
nvm.sh
View File

@@ -270,6 +270,32 @@ nvm_ls_current() {
fi
}
nvm_resolve_alias() {
if [ -z "$1" ]; then
return 1
fi
local PATTERN
PATTERN="$1"
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then
nvm_version "$(nvm_alias "$PATTERN" 2> /dev/null)"
return 0
fi
if nvm_validate_implicit_alias "$PATTERN" 2> /dev/null ; then
local IMPLICIT
IMPLICIT="$(nvm_print_implicit_alias local "$PATTERN" 2> /dev/null)"
if [ -n "$IMPLICIT" ]; then
nvm_version "$IMPLICIT"
return $?
fi
return 3
fi
return 2
}
nvm_ls() {
local PATTERN
PATTERN=$1
@@ -280,10 +306,10 @@ nvm_ls() {
return
fi
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then
nvm_version "$(nvm_alias "$PATTERN" 2> /dev/null)"
if nvm_resolve_alias "$PATTERN"; then
return
fi
# If it looks like an explicit version, don't do anything funny
PATTERN=$(nvm_ensure_version_prefix $PATTERN)
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
@@ -292,11 +318,6 @@ nvm_ls() {
fi
else
if [ "_$PATTERN" != "_system" ]; then
if nvm_validate_implicit_alias "$PATTERN" 2> /dev/null ; then
nvm_ls "$(nvm_print_implicit_alias local "$PATTERN" 2> /dev/null)"
return $?
fi
local NUM_VERSION_GROUPS
NUM_VERSION_GROUPS="$(nvm_num_version_groups "$PATTERN")"
if [ "_$NUM_VERSION_GROUPS" = "_2" ] || [ "_$NUM_VERSION_GROUPS" = "_1" ]; then