mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	[New] nvm ls/nvm ls-remote/nvm alias: add --no-colors
				
					
				
			This commit is contained in:
		
							
								
								
									
										77
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -473,7 +473,7 @@ nvm_print_formatted_alias() { | |||||||
|   fi |   fi | ||||||
|   local ARROW |   local ARROW | ||||||
|   ARROW='->' |   ARROW='->' | ||||||
|   if nvm_has_colors; then |   if [ -z "${NVM_NO_COLORS}" ] && nvm_has_colors; then | ||||||
|     ARROW='\033[0;90m->\033[0m' |     ARROW='\033[0;90m->\033[0m' | ||||||
|     if [ "_${DEFAULT}" = '_true' ]; then |     if [ "_${DEFAULT}" = '_true' ]; then | ||||||
|       NEWLINE=" \033[0;37m(default)\033[0m\n" |       NEWLINE=" \033[0;37m(default)\033[0m\n" | ||||||
| @@ -497,6 +497,8 @@ nvm_print_formatted_alias() { | |||||||
|     if [ "_${DEST%/*}" = "_lts" ]; then |     if [ "_${DEST%/*}" = "_lts" ]; then | ||||||
|       DEST_FORMAT='\033[1;33m%s\033[0m' |       DEST_FORMAT='\033[1;33m%s\033[0m' | ||||||
|     fi |     fi | ||||||
|  |   elif [ "_$VERSION" != '_∞' ] && [ "_$VERSION" != '_N/A' ]; then | ||||||
|  |     VERSION_FORMAT='%s *' | ||||||
|   fi |   fi | ||||||
|   if [ "${DEST}" = "${VERSION}" ]; then |   if [ "${DEST}" = "${VERSION}" ]; then | ||||||
|     command printf -- "${ALIAS_FORMAT} ${ARROW} ${VERSION_FORMAT}${NEWLINE}" "${ALIAS}" "${DEST}" |     command printf -- "${ALIAS_FORMAT} ${ARROW} ${VERSION_FORMAT}${NEWLINE}" "${ALIAS}" "${DEST}" | ||||||
| @@ -523,7 +525,7 @@ nvm_print_alias_path() { | |||||||
|   local DEST |   local DEST | ||||||
|   DEST="$(nvm_alias "${ALIAS}" 2> /dev/null || return 0)" |   DEST="$(nvm_alias "${ALIAS}" 2> /dev/null || return 0)" | ||||||
|   if [ -n "${DEST}" ]; then |   if [ -n "${DEST}" ]; then | ||||||
|     NVM_LTS="${NVM_LTS-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${DEST}" |     NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_LTS="${NVM_LTS-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${DEST}" | ||||||
|   fi |   fi | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -537,7 +539,7 @@ nvm_print_default_alias() { | |||||||
|   local DEST |   local DEST | ||||||
|   DEST="$(nvm_print_implicit_alias local "${ALIAS}")" |   DEST="$(nvm_print_implicit_alias local "${ALIAS}")" | ||||||
|   if [ -n "${DEST}" ]; then |   if [ -n "${DEST}" ]; then | ||||||
|     DEFAULT=true nvm_print_formatted_alias "${ALIAS}" "${DEST}" |     NVM_NO_COLORS="${NVM_NO_COLORS-}" DEFAULT=true nvm_print_formatted_alias "${ALIAS}" "${DEST}" | ||||||
|   fi |   fi | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -569,19 +571,19 @@ nvm_list_aliases() { | |||||||
|  |  | ||||||
|   local ALIAS_PATH |   local ALIAS_PATH | ||||||
|   for ALIAS_PATH in "${NVM_ALIAS_DIR}/${ALIAS}"*; do |   for ALIAS_PATH in "${NVM_ALIAS_DIR}/${ALIAS}"*; do | ||||||
|     NVM_CURRENT="${NVM_CURRENT}" nvm_print_alias_path "${NVM_ALIAS_DIR}" "${ALIAS_PATH}" |     NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT}" nvm_print_alias_path "${NVM_ALIAS_DIR}" "${ALIAS_PATH}" | ||||||
|   done |   done | ||||||
|  |  | ||||||
|   local ALIAS_NAME |   local ALIAS_NAME | ||||||
|   for ALIAS_NAME in "$(nvm_node_prefix)" "stable" "unstable" "$(nvm_iojs_prefix)"; do |   for ALIAS_NAME in "$(nvm_node_prefix)" "stable" "unstable" "$(nvm_iojs_prefix)"; do | ||||||
|     if [ ! -f "${NVM_ALIAS_DIR}/${ALIAS_NAME}" ] && ([ -z "${ALIAS}" ] || [ "${ALIAS_NAME}" = "${ALIAS}" ]); then |     if [ ! -f "${NVM_ALIAS_DIR}/${ALIAS_NAME}" ] && ([ -z "${ALIAS}" ] || [ "${ALIAS_NAME}" = "${ALIAS}" ]); then | ||||||
|       NVM_CURRENT="${NVM_CURRENT}" nvm_print_default_alias "${ALIAS_NAME}" |       NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT}" nvm_print_default_alias "${ALIAS_NAME}" | ||||||
|     fi |     fi | ||||||
|   done |   done | ||||||
|  |  | ||||||
|   local LTS_ALIAS |   local LTS_ALIAS | ||||||
|   for ALIAS_PATH in "${NVM_ALIAS_DIR}/lts/${ALIAS}"*; do |   for ALIAS_PATH in "${NVM_ALIAS_DIR}/lts/${ALIAS}"*; do | ||||||
|     LTS_ALIAS="$(NVM_LTS=true nvm_print_alias_path "${NVM_ALIAS_DIR}" "${ALIAS_PATH}")" |     LTS_ALIAS="$(NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_LTS=true nvm_print_alias_path "${NVM_ALIAS_DIR}" "${ALIAS_PATH}")" | ||||||
|     if [ -n "${LTS_ALIAS}" ]; then |     if [ -n "${LTS_ALIAS}" ]; then | ||||||
|       nvm_echo "${LTS_ALIAS}" |       nvm_echo "${LTS_ALIAS}" | ||||||
|     fi |     fi | ||||||
| @@ -1053,7 +1055,7 @@ nvm_print_versions() { | |||||||
|   local NVM_CURRENT |   local NVM_CURRENT | ||||||
|   NVM_CURRENT=$(nvm_ls_current) |   NVM_CURRENT=$(nvm_ls_current) | ||||||
|   local NVM_HAS_COLORS |   local NVM_HAS_COLORS | ||||||
|   if nvm_has_colors; then |   if [ -z "${NVM_NO_COLORS-}" ] && nvm_has_colors; then | ||||||
|     NVM_HAS_COLORS=1 |     NVM_HAS_COLORS=1 | ||||||
|   fi |   fi | ||||||
|   local LTS_LENGTH |   local LTS_LENGTH | ||||||
| @@ -1870,6 +1872,8 @@ nvm() { | |||||||
|       nvm_echo "  - default (built-in) aliases: $NVM_NODE_PREFIX, stable, unstable, $NVM_IOJS_PREFIX, system" |       nvm_echo "  - default (built-in) aliases: $NVM_NODE_PREFIX, stable, unstable, $NVM_IOJS_PREFIX, system" | ||||||
|       nvm_echo '  - custom aliases you define with `nvm alias foo`' |       nvm_echo '  - custom aliases you define with `nvm alias foo`' | ||||||
|       nvm_echo |       nvm_echo | ||||||
|  |       nvm_echo ' Any options that produce colorized output should respect the `--no-colors` option.' | ||||||
|  |       nvm_echo | ||||||
|       nvm_echo 'Usage:' |       nvm_echo 'Usage:' | ||||||
|       nvm_echo '  nvm --help                                Show this message' |       nvm_echo '  nvm --help                                Show this message' | ||||||
|       nvm_echo '  nvm --version                             Print out the latest released version of nvm' |       nvm_echo '  nvm --version                             Print out the latest released version of nvm' | ||||||
| @@ -2151,6 +2155,7 @@ nvm() { | |||||||
|       local PATTERN |       local PATTERN | ||||||
|       PATTERN="${1-}" |       PATTERN="${1-}" | ||||||
|       case "${PATTERN-}" in |       case "${PATTERN-}" in | ||||||
|  |         --) ;; | ||||||
|         --lts) |         --lts) | ||||||
|           VERSION="$(nvm_match_version lts/*)" |           VERSION="$(nvm_match_version lts/*)" | ||||||
|         ;; |         ;; | ||||||
| @@ -2256,6 +2261,7 @@ nvm() { | |||||||
|         case "$1" in |         case "$1" in | ||||||
|           --silent) NVM_USE_SILENT=1 ;; |           --silent) NVM_USE_SILENT=1 ;; | ||||||
|           --delete-prefix) NVM_DELETE_PREFIX=1 ;; |           --delete-prefix) NVM_DELETE_PREFIX=1 ;; | ||||||
|  |           --) ;; | ||||||
|           --lts) NVM_LTS='*' ;; |           --lts) NVM_LTS='*' ;; | ||||||
|           --lts=*) NVM_LTS="${1##--lts=}" ;; |           --lts=*) NVM_LTS="${1##--lts=}" ;; | ||||||
|           --*) ;; |           --*) ;; | ||||||
| @@ -2520,13 +2526,34 @@ nvm() { | |||||||
|       NODE_VERSION="$VERSION" "$NVM_DIR/nvm-exec" "$@" |       NODE_VERSION="$VERSION" "$NVM_DIR/nvm-exec" "$@" | ||||||
|     ;; |     ;; | ||||||
|     "ls" | "list" ) |     "ls" | "list" ) | ||||||
|  |       local PATTERN | ||||||
|  |       local NVM_NO_COLORS | ||||||
|  |       while [ $# -gt 0 ] | ||||||
|  |       do | ||||||
|  |         case "${1}" in | ||||||
|  |           --) ;; | ||||||
|  |           --no-colors) NVM_NO_COLORS="${1}" ;; | ||||||
|  |           --*) | ||||||
|  |             nvm_err "Unsupported option \"${1}\"." | ||||||
|  |             return 55; | ||||||
|  |           ;; | ||||||
|  |           *) | ||||||
|  |             PATTERN="${PATTERN:-$1}" | ||||||
|  |           ;; | ||||||
|  |         esac | ||||||
|  |         shift | ||||||
|  |       done | ||||||
|       local NVM_LS_OUTPUT |       local NVM_LS_OUTPUT | ||||||
|       local NVM_LS_EXIT_CODE |       local NVM_LS_EXIT_CODE | ||||||
|       NVM_LS_OUTPUT=$(nvm_ls "${1-}") |       NVM_LS_OUTPUT=$(nvm_ls "${PATTERN-}") | ||||||
|       NVM_LS_EXIT_CODE=$? |       NVM_LS_EXIT_CODE=$? | ||||||
|       nvm_print_versions "${NVM_LS_OUTPUT}" |       NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_LS_OUTPUT" | ||||||
|       if [ $# -eq 0 ]; then |       if [ -z "${PATTERN-}" ]; then | ||||||
|         nvm alias |         if [ -n "${NVM_NO_COLORS-}" ]; then | ||||||
|  |           nvm alias --no-colors | ||||||
|  |         else | ||||||
|  |           nvm alias | ||||||
|  |         fi | ||||||
|       fi |       fi | ||||||
|       return $NVM_LS_EXIT_CODE |       return $NVM_LS_EXIT_CODE | ||||||
|     ;; |     ;; | ||||||
| @@ -2538,27 +2565,28 @@ nvm() { | |||||||
|       NVM_NODE_PREFIX="$(nvm_node_prefix)" |       NVM_NODE_PREFIX="$(nvm_node_prefix)" | ||||||
|       local PATTERN |       local PATTERN | ||||||
|       local NVM_FLAVOR |       local NVM_FLAVOR | ||||||
|  |       local NVM_NO_COLORS | ||||||
|       while [ $# -gt 0 ] |       while [ $# -gt 0 ] | ||||||
|       do |       do | ||||||
|         case "${1-}" in |         case "${1-}" in | ||||||
|           --lts) |           --) ;; | ||||||
|             LTS='*' |           --lts) LTS='*' ;; | ||||||
|           ;; |  | ||||||
|           --lts=*) |           --lts=*) | ||||||
|             LTS="${1##--lts=}" |             LTS="${1##--lts=}" | ||||||
|             NVM_FLAVOR="${NVM_NODE_PREFIX}" |             NVM_FLAVOR="${NVM_NODE_PREFIX}" | ||||||
|           ;; |           ;; | ||||||
|  |           --no-colors) NVM_NO_COLORS="${1}" ;; | ||||||
|           --*) |           --*) | ||||||
|             nvm_err "Unsupported option \"${1}\"." |             nvm_err "Unsupported option \"${1}\"." | ||||||
|             return 55; |             return 55; | ||||||
|           ;; |           ;; | ||||||
|           *) |           *) | ||||||
|             if [ -z "${PATTERN}" ]; then |             if [ -z "$PATTERN" ]; then | ||||||
|               PATTERN="${1-}" |               PATTERN="${1-}" | ||||||
|               if [ -z "${NVM_FLAVOR}" ]; then |               if [ -z "$NVM_FLAVOR" ]; then | ||||||
|                 case "_${PATTERN}" in |                 case "_$PATTERN" in | ||||||
|                   "_${NVM_IOJS_PREFIX}" | "_${NVM_NODE_PREFIX}") |                   "_$NVM_IOJS_PREFIX" | "_$NVM_NODE_PREFIX") | ||||||
|                     NVM_FLAVOR="${PATTERN}" |                     NVM_FLAVOR="$PATTERN" | ||||||
|                     PATTERN="" |                     PATTERN="" | ||||||
|                   ;; |                   ;; | ||||||
|                 esac |                 esac | ||||||
| @@ -2598,10 +2626,10 @@ nvm() { | |||||||
| $NVM_LS_REMOTE_IOJS_OUTPUT | $NVM_LS_REMOTE_IOJS_OUTPUT | ||||||
| $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')" | $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')" | ||||||
|       if [ -n "$NVM_OUTPUT" ]; then |       if [ -n "$NVM_OUTPUT" ]; then | ||||||
|         nvm_print_versions "$NVM_OUTPUT" |         NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_OUTPUT" | ||||||
|         return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE |         return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE | ||||||
|       else |       else | ||||||
|         nvm_print_versions "N/A" |         NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "N/A" | ||||||
|         return 3 |         return 3 | ||||||
|       fi |       fi | ||||||
|     ;; |     ;; | ||||||
| @@ -2664,13 +2692,15 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')" | |||||||
|       command mkdir -p "${NVM_ALIAS_DIR}/lts" |       command mkdir -p "${NVM_ALIAS_DIR}/lts" | ||||||
|  |  | ||||||
|       local ALIAS |       local ALIAS | ||||||
|       ALIAS='--' |  | ||||||
|       local TARGET |       local TARGET | ||||||
|  |       local NVM_NO_COLORS | ||||||
|  |       ALIAS='--' | ||||||
|       TARGET='--' |       TARGET='--' | ||||||
|       while [ $# -gt 0 ] |       while [ $# -gt 0 ] | ||||||
|       do |       do | ||||||
|         case "${1-}" in |         case "${1-}" in | ||||||
|           --) ;; |           --) ;; | ||||||
|  |           --no-colors) NVM_NO_COLORS="${1}" ;; | ||||||
|           --*) |           --*) | ||||||
|             nvm_err "Unsupported option \"${1}\"." |             nvm_err "Unsupported option \"${1}\"." | ||||||
|             return 55 |             return 55 | ||||||
| @@ -2702,7 +2732,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')" | |||||||
|           nvm_err "! WARNING: Version '${TARGET}' does not exist." |           nvm_err "! WARNING: Version '${TARGET}' does not exist." | ||||||
|         fi |         fi | ||||||
|         nvm_make_alias "${ALIAS}" "${TARGET}" |         nvm_make_alias "${ALIAS}" "${TARGET}" | ||||||
|         NVM_CURRENT="${NVM_CURRENT-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${TARGET}" "$VERSION" |         NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${TARGET}" "$VERSION" | ||||||
|       else |       else | ||||||
|         if [ "${ALIAS-}" = '--' ]; then |         if [ "${ALIAS-}" = '--' ]; then | ||||||
|           unset ALIAS |           unset ALIAS | ||||||
| @@ -2788,6 +2818,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | nvm_grep -v "N/A" | command sed '/^$/d')" | |||||||
|       while [ $# -gt 0 ] |       while [ $# -gt 0 ] | ||||||
|       do |       do | ||||||
|         case "${1-}" in |         case "${1-}" in | ||||||
|  |           --) ;; | ||||||
|           --lts) |           --lts) | ||||||
|             NVM_LTS='*' |             NVM_LTS='*' | ||||||
|           ;; |           ;; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user