Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–3415 unchanged (3415 lines)
3416 *)
3417 PATTERN="${PATTERN:-${1}}"
3418 ;;
3419 esac
3420 shift
3421 done
3422 case "${PATTERN}" in
3423 'lts/*')
3424 NVM_LTS='*'
3425 unset PATTERN
3426 ;;
3427 lts/*)
3428 NVM_LTS="${PATTERN##lts/}"
…lines 3429–3585 unchanged (157 lines)

After

…lines 1–3415 unchanged (3415 lines)
3416 *)
3417 PATTERN="${PATTERN:-${1}}"
3418 ;;
3419 esac
3420 shift
3421 done
3422 case "${PATTERN-}" in
3423 'lts/*')
3424 NVM_LTS='*'
3425 unset PATTERN
3426 ;;
3427 lts/*)
3428 NVM_LTS="${PATTERN##lts/}"
…lines 3429–3585 unchanged (157 lines)

Before

program
comment "# Node Version Manager"
comment "# Implemented as a POSIX-compliant function"
comment "# Should work on sh, dash, bash, ksh, zsh"
comment "# To use source this file from your bash profile"
comment "#"
comment "# Implemented by Tim Caswell <tim@creationix.com>"
comment "# with much bash help from Matthew Ranney"
comment "# \"local\" warning, quote expansion warning"
comment "# shellcheck disable=SC2039,SC2016,SC2001"
compound_statement
{ "{"
comment "# this ensures the entire script is downloaded #"
variable_assignment
variable_name "NVM_SCRIPT_SOURCE"
= "="
string
" "\""
simple_expansion
$ "$"
special_variable_name "_"
" "\""
function_definition
word "nvm_is_zsh"
( "("
) ")"
compound_statement
{ "{"
test_command
[ "["
unary_expression
test_operator "-n"
string
" "\""
expansion
${ "${"
variable_name "ZSH_VERSION"
- "-"
} "}"
" "\""
] "]"
} "}"
function_definition (+23 nodes collapsed)
function_definition
word "nvm_cd"
( "("
) ")"
compound_statement
{ "{"
comment "# shellcheck disable=SC1001,SC2164"
command
command_name
word "\\cd"
string
" "\""
simple_expansion
$ "$"
special_variable_name "@"
" "\""
} "}"
function_definition
word "nvm_err"
( "("
) ")"
compound_statement
{ "{"
command
file_redirect
>& ">&"
number "2"
command_name
word "nvm_echo"
string
" "\""
simple_expansion
$ "$"
special_variable_name "@"
" "\""
} "}"
function_definition (+21 nodes collapsed)
function_definition (+26 nodes collapsed)
function_definition (+33 nodes collapsed)
function_definition (+28 nodes collapsed)
function_definition (+314 nodes collapsed)
function_definition (+57 nodes collapsed)
function_definition (+34 nodes collapsed)
function_definition (+26 nodes collapsed)
function_definition (+159 nodes collapsed)
function_definition (+112 nodes collapsed)
function_definition (+38 nodes collapsed)
function_definition (+38 nodes collapsed)
function_definition (+49 nodes collapsed)
function_definition (+40 nodes collapsed)
function_definition (+780 nodes collapsed)
comment "# Make zsh glob matching behave same as bash"
comment "# This fixes the \"zsh: no matches found\" errors"
if_statement (+24 nodes collapsed)
if_statement
if "if"
command
command_name
word "nvm_is_zsh"
; ";"
then "then"
variable_assignment
variable_name "NVM_CD_FLAGS"
= "="
string
" "\""
string_content "-q"
" "\""
fi "fi"
comment "# Auto detect the NVM_DIR when not set"
if_statement (+145 nodes collapsed)
redirected_statement
unset_command
unset "unset"
variable_name "NVM_SCRIPT_SOURCE"
file_redirect
file_descriptor "2"
> ">"
word "/dev/null"
function_definition (+221 nodes collapsed)
comment "# Traverse up in directory tree to find containing folder"
function_definition (+82 nodes collapsed)
function_definition (+52 nodes collapsed)
comment "# Obtain nvm version from rc file"
function_definition (+147 nodes collapsed)
function_definition (+24 nodes collapsed)
function_definition (+24 nodes collapsed)
function_definition (+31 nodes collapsed)
function_definition (+31 nodes collapsed)
function_definition (+140 nodes collapsed)
function_definition (+21 nodes collapsed)
function_definition (+140 nodes collapsed)
function_definition (+242 nodes collapsed)
comment "# Expand a version using the version cache"
function_definition (+215 nodes collapsed)
function_definition (+244 nodes collapsed)
function_definition (+493 nodes collapsed)
function_definition (+108 nodes collapsed)
function_definition (+21 nodes collapsed)
function_definition (+76 nodes collapsed)
function_definition (+103 nodes collapsed)
function_definition (+125 nodes collapsed)
function_definition (+146 nodes collapsed)
function_definition (+317 nodes collapsed)
function_definition (+29 nodes collapsed)
function_definition (+513 nodes collapsed)
function_definition (+192 nodes collapsed)
function_definition (+118 nodes collapsed)
function_definition (+124 nodes collapsed)
function_definition (+493 nodes collapsed)
function_definition (+104 nodes collapsed)
function_definition (+167 nodes collapsed)
function_definition (+414 nodes collapsed)
function_definition (+125 nodes collapsed)
function_definition
word "nvm_iojs_prefix"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_echo"
raw_string "'iojs'"
} "}"
function_definition
word "nvm_node_prefix"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_echo"
raw_string "'node'"
} "}"
function_definition (+31 nodes collapsed)
function_definition (+43 nodes collapsed)
function_definition (+64 nodes collapsed)
function_definition (+1200 nodes collapsed)
function_definition (+218 nodes collapsed)
function_definition (+31 nodes collapsed)
comment "# args flavor, type, version"
function_definition (+585 nodes collapsed)
function_definition (+157 nodes collapsed)
function_definition (+370 nodes collapsed)
function_definition (+218 nodes collapsed)
comment "# args: flavor, type, version, slug, compression"
function_definition (+192 nodes collapsed)
function_definition (+485 nodes collapsed)
function_definition (+490 nodes collapsed)
function_definition (+99 nodes collapsed)
function_definition (+688 nodes collapsed)
function_definition (+88 nodes collapsed)
function_definition (+216 nodes collapsed)
function_definition (+175 nodes collapsed)
function_definition (+115 nodes collapsed)
function_definition
word "nvm_is_merged_node_version"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_version_greater_than_or_equal_to"
string
" "\""
simple_expansion
$ "$"
variable_name "1"
" "\""
word "v4.0.0"
} "}"
function_definition (+67 nodes collapsed)
comment "# args: flavor, type, version, reinstall"
function_definition (+576 nodes collapsed)
comment "# args: flavor, kind, version"
function_definition (+269 nodes collapsed)
comment "# args: flavor, kind, type, version"
function_definition (+862 nodes collapsed)
function_definition (+293 nodes collapsed)
comment "# args: flavor, type, version, make jobs, additional"
function_definition (+883 nodes collapsed)
function_definition (+49 nodes collapsed)
function_definition (+138 nodes collapsed)
function_definition (+87 nodes collapsed)
function_definition (+141 nodes collapsed)
function_definition (+430 nodes collapsed)
comment "# Succeeds if $IOJS_VERSION represents an io.js version that"...
comment "# Solaris binary, fails otherwise."
comment "# Currently, only io.js 3.3.1 has a Solaris binary available"...
comment "# latest io.js version available. The expectation is that an"...
comment "# version later than v3.3.1 will also have Solaris binaries."
function_definition (+78 nodes collapsed)
comment "# Succeeds if $NODE_VERSION represents a node version that h"...
comment "# Solaris binary, fails otherwise."
comment "# Currently, node versions starting from v0.8.6 have a Solar"...
comment "# available."
function_definition (+96 nodes collapsed)
comment "# Succeeds if $VERSION represents a version (node, io.js or "...
comment "# Solaris binary, fails otherwise."
function_definition (+67 nodes collapsed)
function_definition (+144 nodes collapsed)
function_definition (+81 nodes collapsed)
comment "# Check version dir permissions"
function_definition (+161 nodes collapsed)
function_definition
word "nvm_cache_dir"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_echo"
string
" "\""
expansion
${ "${"
variable_name "NVM_DIR"
} "}"
string_content "/.cache"
" "\""
} "}"
function_definition
word "nvm"
( "("
) ")"
compound_statement
{ "{"
if_statement (+21 nodes collapsed)
declaration_command
local "local"
variable_name "DEFAULT_IFS"
variable_assignment (+21 nodes collapsed)
if_statement (+49 nodes collapsed)
declaration_command
local "local"
variable_name "COMMAND"
variable_assignment
variable_name "COMMAND"
= "="
string
" "\""
expansion
${ "${"
variable_name "1"
- "-"
} "}"
" "\""
command
command_name
word "shift"
comment "# initialize local variables"
declaration_command
local "local"
variable_name "VERSION"
declaration_command
local "local"
variable_name "ADDITIONAL_PARAMETERS"
case_statement
case "case"
simple_expansion
$ "$"
variable_name "COMMAND"
in "in"
case_item (+307 nodes collapsed)
case_item (+112 nodes collapsed)
case_item (+681 nodes collapsed)
case_item (+1971 nodes collapsed)
case_item (+664 nodes collapsed)
case_item (+280 nodes collapsed)
case_item (+989 nodes collapsed)
case_item (+664 nodes collapsed)
case_item (+615 nodes collapsed)
case_item (+205 nodes collapsed)
case_item (+310 nodes collapsed)
case_item
string
" "\""
string_content "current"
" "\""
) ")"
command
command_name
word "nvm_version"
word "current"
;; ";;"
case_item (+398 nodes collapsed)
case_item (+438 nodes collapsed)
case_item (+191 nodes collapsed)
case_item (+35 nodes collapsed)
case_item (+413 nodes collapsed)
case_item (+37 nodes collapsed)
case_item
string
" "\""
string_content "version"
" "\""
) ")"
command
command_name
word "nvm_version"
string
" "\""
expansion
${ "${"
variable_name "1"
} "}"
" "\""
;; ";;"
case_item
string
" "\""
string_content "version-remote"
" "\""
) ")"
declaration_command
local "local"
variable_name "NVM_LTS"
declaration_command
local "local"
variable_name "PATTERN"
while_statement (+97 nodes collapsed)
case_statement
case "case"
string
" "\""
expansion
${ "${"
variable_name "PATTERN"
} "}"
" "\""
in "in"
case_item
raw_string "'lts/*'"
) ")"
variable_assignment
variable_name "NVM_LTS"
= "="
raw_string "'*'"
unset_command
unset "unset"
variable_name "PATTERN"
;; ";;"
case_item
extglob_pattern "lts/*"
) ")"
variable_assignment
variable_name "NVM_LTS"
= "="
string
" "\""
expansion
${ "${"
variable_name "PATTERN"
## "##"
regex "lts/"
} "}"
" "\""
unset_command
unset "unset"
variable_name "PATTERN"
;; ";;"
esac "esac"
command (+27 nodes collapsed)
;; ";;"
case_item
string
" "\""
string_content "--version"
" "\""
) ")"
command
command_name
word "nvm_echo"
raw_string "'0.33.11'"
;; ";;"
case_item (+144 nodes collapsed)
case_item
extglob_pattern "*"
) ")"
command
file_redirect
>& ">&"
number "2"
command_name
word "nvm"
word "--help"
command
command_name
word "return"
number "127"
;; ";;"
esac "esac"
} "}"
function_definition (+56 nodes collapsed)
function_definition (+40 nodes collapsed)
function_definition (+215 nodes collapsed)
function_definition (+308 nodes collapsed)
function_definition (+74 nodes collapsed)
command
command_name
word "nvm_process_parameters"
string
" "\""
simple_expansion
$ "$"
special_variable_name "@"
" "\""
} "}"
comment "# this ensures the entire script is downloaded #"

After

program
comment "# Node Version Manager"
comment "# Implemented as a POSIX-compliant function"
comment "# Should work on sh, dash, bash, ksh, zsh"
comment "# To use source this file from your bash profile"
comment "#"
comment "# Implemented by Tim Caswell <tim@creationix.com>"
comment "# with much bash help from Matthew Ranney"
comment "# \"local\" warning, quote expansion warning"
comment "# shellcheck disable=SC2039,SC2016,SC2001"
compound_statement
{ "{"
comment "# this ensures the entire script is downloaded #"
variable_assignment
variable_name "NVM_SCRIPT_SOURCE"
= "="
string
" "\""
simple_expansion
$ "$"
special_variable_name "_"
" "\""
function_definition
word "nvm_is_zsh"
( "("
) ")"
compound_statement
{ "{"
test_command
[ "["
unary_expression
test_operator "-n"
string
" "\""
expansion
${ "${"
variable_name "ZSH_VERSION"
- "-"
} "}"
" "\""
] "]"
} "}"
function_definition (+23 nodes collapsed)
function_definition
word "nvm_cd"
( "("
) ")"
compound_statement
{ "{"
comment "# shellcheck disable=SC1001,SC2164"
command
command_name
word "\\cd"
string
" "\""
simple_expansion
$ "$"
special_variable_name "@"
" "\""
} "}"
function_definition
word "nvm_err"
( "("
) ")"
compound_statement
{ "{"
command
file_redirect
>& ">&"
number "2"
command_name
word "nvm_echo"
string
" "\""
simple_expansion
$ "$"
special_variable_name "@"
" "\""
} "}"
function_definition (+21 nodes collapsed)
function_definition (+26 nodes collapsed)
function_definition (+33 nodes collapsed)
function_definition (+28 nodes collapsed)
function_definition (+314 nodes collapsed)
function_definition (+57 nodes collapsed)
function_definition (+34 nodes collapsed)
function_definition (+26 nodes collapsed)
function_definition (+159 nodes collapsed)
function_definition (+112 nodes collapsed)
function_definition (+38 nodes collapsed)
function_definition (+38 nodes collapsed)
function_definition (+49 nodes collapsed)
function_definition (+40 nodes collapsed)
function_definition (+780 nodes collapsed)
comment "# Make zsh glob matching behave same as bash"
comment "# This fixes the \"zsh: no matches found\" errors"
if_statement (+24 nodes collapsed)
if_statement
if "if"
command
command_name
word "nvm_is_zsh"
; ";"
then "then"
variable_assignment
variable_name "NVM_CD_FLAGS"
= "="
string
" "\""
string_content "-q"
" "\""
fi "fi"
comment "# Auto detect the NVM_DIR when not set"
if_statement (+145 nodes collapsed)
redirected_statement
unset_command
unset "unset"
variable_name "NVM_SCRIPT_SOURCE"
file_redirect
file_descriptor "2"
> ">"
word "/dev/null"
function_definition (+221 nodes collapsed)
comment "# Traverse up in directory tree to find containing folder"
function_definition (+82 nodes collapsed)
function_definition (+52 nodes collapsed)
comment "# Obtain nvm version from rc file"
function_definition (+147 nodes collapsed)
function_definition (+24 nodes collapsed)
function_definition (+24 nodes collapsed)
function_definition (+31 nodes collapsed)
function_definition (+31 nodes collapsed)
function_definition (+140 nodes collapsed)
function_definition (+21 nodes collapsed)
function_definition (+140 nodes collapsed)
function_definition (+242 nodes collapsed)
comment "# Expand a version using the version cache"
function_definition (+215 nodes collapsed)
function_definition (+244 nodes collapsed)
function_definition (+493 nodes collapsed)
function_definition (+108 nodes collapsed)
function_definition (+21 nodes collapsed)
function_definition (+76 nodes collapsed)
function_definition (+103 nodes collapsed)
function_definition (+125 nodes collapsed)
function_definition (+146 nodes collapsed)
function_definition (+317 nodes collapsed)
function_definition (+29 nodes collapsed)
function_definition (+513 nodes collapsed)
function_definition (+192 nodes collapsed)
function_definition (+118 nodes collapsed)
function_definition (+124 nodes collapsed)
function_definition (+493 nodes collapsed)
function_definition (+104 nodes collapsed)
function_definition (+167 nodes collapsed)
function_definition (+414 nodes collapsed)
function_definition (+125 nodes collapsed)
function_definition
word "nvm_iojs_prefix"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_echo"
raw_string "'iojs'"
} "}"
function_definition
word "nvm_node_prefix"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_echo"
raw_string "'node'"
} "}"
function_definition (+31 nodes collapsed)
function_definition (+43 nodes collapsed)
function_definition (+64 nodes collapsed)
function_definition (+1200 nodes collapsed)
function_definition (+218 nodes collapsed)
function_definition (+31 nodes collapsed)
comment "# args flavor, type, version"
function_definition (+585 nodes collapsed)
function_definition (+157 nodes collapsed)
function_definition (+370 nodes collapsed)
function_definition (+218 nodes collapsed)
comment "# args: flavor, type, version, slug, compression"
function_definition (+192 nodes collapsed)
function_definition (+485 nodes collapsed)
function_definition (+490 nodes collapsed)
function_definition (+99 nodes collapsed)
function_definition (+688 nodes collapsed)
function_definition (+88 nodes collapsed)
function_definition (+216 nodes collapsed)
function_definition (+175 nodes collapsed)
function_definition (+115 nodes collapsed)
function_definition
word "nvm_is_merged_node_version"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_version_greater_than_or_equal_to"
string
" "\""
simple_expansion
$ "$"
variable_name "1"
" "\""
word "v4.0.0"
} "}"
function_definition (+67 nodes collapsed)
comment "# args: flavor, type, version, reinstall"
function_definition (+576 nodes collapsed)
comment "# args: flavor, kind, version"
function_definition (+269 nodes collapsed)
comment "# args: flavor, kind, type, version"
function_definition (+862 nodes collapsed)
function_definition (+293 nodes collapsed)
comment "# args: flavor, type, version, make jobs, additional"
function_definition (+883 nodes collapsed)
function_definition (+49 nodes collapsed)
function_definition (+138 nodes collapsed)
function_definition (+87 nodes collapsed)
function_definition (+141 nodes collapsed)
function_definition (+430 nodes collapsed)
comment "# Succeeds if $IOJS_VERSION represents an io.js version that"...
comment "# Solaris binary, fails otherwise."
comment "# Currently, only io.js 3.3.1 has a Solaris binary available"...
comment "# latest io.js version available. The expectation is that an"...
comment "# version later than v3.3.1 will also have Solaris binaries."
function_definition (+78 nodes collapsed)
comment "# Succeeds if $NODE_VERSION represents a node version that h"...
comment "# Solaris binary, fails otherwise."
comment "# Currently, node versions starting from v0.8.6 have a Solar"...
comment "# available."
function_definition (+96 nodes collapsed)
comment "# Succeeds if $VERSION represents a version (node, io.js or "...
comment "# Solaris binary, fails otherwise."
function_definition (+67 nodes collapsed)
function_definition (+144 nodes collapsed)
function_definition (+81 nodes collapsed)
comment "# Check version dir permissions"
function_definition (+161 nodes collapsed)
function_definition
word "nvm_cache_dir"
( "("
) ")"
compound_statement
{ "{"
command
command_name
word "nvm_echo"
string
" "\""
expansion
${ "${"
variable_name "NVM_DIR"
} "}"
string_content "/.cache"
" "\""
} "}"
function_definition
word "nvm"
( "("
) ")"
compound_statement
{ "{"
if_statement (+21 nodes collapsed)
declaration_command
local "local"
variable_name "DEFAULT_IFS"
variable_assignment (+21 nodes collapsed)
if_statement (+49 nodes collapsed)
declaration_command
local "local"
variable_name "COMMAND"
variable_assignment
variable_name "COMMAND"
= "="
string
" "\""
expansion
${ "${"
variable_name "1"
- "-"
} "}"
" "\""
command
command_name
word "shift"
comment "# initialize local variables"
declaration_command
local "local"
variable_name "VERSION"
declaration_command
local "local"
variable_name "ADDITIONAL_PARAMETERS"
case_statement
case "case"
simple_expansion
$ "$"
variable_name "COMMAND"
in "in"
case_item (+307 nodes collapsed)
case_item (+112 nodes collapsed)
case_item (+681 nodes collapsed)
case_item (+1971 nodes collapsed)
case_item (+664 nodes collapsed)
case_item (+280 nodes collapsed)
case_item (+989 nodes collapsed)
case_item (+664 nodes collapsed)
case_item (+615 nodes collapsed)
case_item (+205 nodes collapsed)
case_item (+310 nodes collapsed)
case_item
string
" "\""
string_content "current"
" "\""
) ")"
command
command_name
word "nvm_version"
word "current"
;; ";;"
case_item (+398 nodes collapsed)
case_item (+438 nodes collapsed)
case_item (+191 nodes collapsed)
case_item (+35 nodes collapsed)
case_item (+413 nodes collapsed)
case_item (+37 nodes collapsed)
case_item
string
" "\""
string_content "version"
" "\""
) ")"
command
command_name
word "nvm_version"
string
" "\""
expansion
${ "${"
variable_name "1"
} "}"
" "\""
;; ";;"
case_item
string
" "\""
string_content "version-remote"
" "\""
) ")"
declaration_command
local "local"
variable_name "NVM_LTS"
declaration_command
local "local"
variable_name "PATTERN"
while_statement (+97 nodes collapsed)
case_statement
case "case"
string
" "\""
expansion
${ "${"
variable_name "PATTERN"
- "-"
} "}"
" "\""
in "in"
case_item
raw_string "'lts/*'"
) ")"
variable_assignment
variable_name "NVM_LTS"
= "="
raw_string "'*'"
unset_command
unset "unset"
variable_name "PATTERN"
;; ";;"
case_item
extglob_pattern "lts/*"
) ")"
variable_assignment
variable_name "NVM_LTS"
= "="
string
" "\""
expansion
${ "${"
variable_name "PATTERN"
## "##"
regex "lts/"
} "}"
" "\""
unset_command
unset "unset"
variable_name "PATTERN"
;; ";;"
esac "esac"
command (+27 nodes collapsed)
;; ";;"
case_item
string
" "\""
string_content "--version"
" "\""
) ")"
command
command_name
word "nvm_echo"
raw_string "'0.33.11'"
;; ";;"
case_item (+144 nodes collapsed)
case_item
extglob_pattern "*"
) ")"
command
file_redirect
>& ">&"
number "2"
command_name
word "nvm"
word "--help"
command
command_name
word "return"
number "127"
;; ";;"
esac "esac"
} "}"
function_definition (+56 nodes collapsed)
function_definition (+40 nodes collapsed)
function_definition (+215 nodes collapsed)
function_definition (+308 nodes collapsed)
function_definition (+74 nodes collapsed)
command
command_name
word "nvm_process_parameters"
string
" "\""
simple_expansion
$ "$"
special_variable_name "@"
" "\""
} "}"
comment "# this ensures the entire script is downloaded #"