Introduce nvm use --print-paths

It will print all paths that have been changed by nvm use. These paths are exported for all later nvm commands and need to be applied to the environment of other shells (in this case fish), therefore they are printed with the option.
This commit is contained in:
LoveIsGrief 2014-11-15 22:26:37 +01:00
parent e28a257f23
commit 1a0f939993

39
nvm.sh
View File

@ -535,7 +535,7 @@ nvm() {
echo " nvm --version Print out the latest released version of nvm" echo " nvm --version Print out the latest released version of nvm"
echo " nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available" echo " nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available"
echo " nvm uninstall <version> Uninstall a version" echo " nvm uninstall <version> Uninstall a version"
echo " nvm use <version> Modify PATH to use <version>. Uses .nvmrc if available" echo " nvm [--print-paths] use <version> Modify PATH (and optionally print it) to use <version>. Uses .nvmrc if available"
echo " nvm run <version> [<args>] Run <version> with <args> as arguments. Uses .nvmrc if available for <version>" echo " nvm run <version> [<args>] Run <version> with <args> as arguments. Uses .nvmrc if available for <version>"
echo " nvm current Display currently activated version" echo " nvm current Display currently activated version"
echo " nvm ls List installed versions" echo " nvm ls List installed versions"
@ -794,20 +794,35 @@ nvm() {
fi fi
;; ;;
"use" ) "use" )
shift # start treating the args given to "use"
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
nvm help
return 127
fi
if [ $# -eq 1 ]; then
nvm_rc_version nvm_rc_version
if [ -n "$NVM_RC_VERSION" ]; then if [ -n "$NVM_RC_VERSION" ]; then
VERSION=`nvm_version $NVM_RC_VERSION` VERSION=`nvm_version $NVM_RC_VERSION`
fi fi
elif [ "_$2" != '_system' ]; then
VERSION="$(nvm_version "$2")"
else else
VERSION="$2" # Handle options
while [[ $# > 0 ]]; do
key="$1"
shift
case $key in
--print-paths)
PRINT_PATHS=true
;;
*)
if [ "_$key" != '_system' ]; then
VERSION="$(nvm_version "$key")"
else
VERSION="$key"
fi fi
break
;;
esac
done
fi
if [ -z "$VERSION" ]; then if [ -z "$VERSION" ]; then
nvm help nvm help
return 127 return 127
@ -822,7 +837,7 @@ nvm() {
return 127 return 127
fi fi
elif [ "_$VERSION" = "_∞" ]; then elif [ "_$VERSION" = "_∞" ]; then
echo "The alias \"$2\" leads to an infinite loop. Aborting." >&2 echo "The alias \"$1\" leads to an infinite loop. Aborting." >&2
return 8 return 8
fi fi
@ -858,6 +873,12 @@ nvm() {
if [ "$NVM_SYMLINK_CURRENT" = true ]; then if [ "$NVM_SYMLINK_CURRENT" = true ]; then
rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current" rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
fi fi
if [ $PRINT_PATHS ]; then
echo PATH=$PATH
echo NODE_PATH=$NODE_PATH
echo NVM_PATH=$NVM_PATH
echo NVM_BIN=$NVM_BIN
fi
echo "Now using node $VERSION" echo "Now using node $VERSION"
;; ;;
"run" ) "run" )