tree 8216456ed25c0f1e585207246dc0c2b8a9c8e18a
parent 16b75b7333f988279195f75dcf1ec8217ceb43df
author Yash-Singh1 <53054099+Yash-Singh1@users.noreply.github.com> 1596932866 -0700
committer Jordan Harband <ljharb@gmail.com> 1596932866 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 Comment: GPGTools - https://gpgtools.org
 
 iQIcBAABCgAGBQJfNcXgAAoJEJ9qaB4174tWI7QQAJcUgHKEOSxmXF4N7xNzXFIg
 2Zt0+jsBAbvVqQf2NF2XStHv5iW657ctjOIbKCKD9VlfDfbvT1m7NM04Dd6RdhHm
 Rc27471nP6kZ04EkT3klxeslm6iIXDMeTjVjG26QhpjXlNYVKD0OXucZDRtVcnDE
 H+NtuNFDPBAEuMV7d0erjgShJrb3OD9Zp/l8QK+1DQk9u/1w7Xe3jWKMwlNsBXfM
 s+8d0mq3tfEDAEyTzDhxThmqjuhXvm5cQU+vnf02+zXK1d5DGLHNNbLtJCOzAoaA
 ToS/VsXPeYrqJ0ZY3VYQx47S11WSRK9Z05xje197i0dioFx+sQ2V5fSITia7RHMO
 C4fIeTh2ckDcQFqFwadpyzEThL3go7CsrGS20zK0ffkF8G9A39+RErZxB+4qmRbO
 pfGhQG09DF7UbZXRInFtE6BcOSKRl4cFmwdO7j7TOEknn4oQ+g28xFYt9A67q1yp
 D50I+TDR3QtiQtUgXL5fBpvU2ePVI8ClpZsOJ0RubOkI3XUex1rRJmUAdAJ9Xztt
 d2Xr4NPmy2nfkee3x/oPAES5DsFYZ2dt6lXiRkPE+zBnyFdrYQdhakSy7LjN5geP
 mH4rUwEsAyvy5BTsYQCHlB9lclubqXdbdhKSCN1thSbsDgFS/5/DmIoRAVmBkRRv
 yQ3dK6Xpr34LJcCEaMAK
 =5UDE
 -----END PGP SIGNATURE-----

[Fix] `nvm use`: fix `--silent` when version is omitted

Fixed a bug where --silent mode was failing for nvm use I ran a test
 that just ran ```nvm use node --silent``` that I wrote by myself.
 Unfortunately I noticed a bug where it still prints out some messages in
 different cases. This pull request is to fix that bug. * Added in an argument
 called ***quiet***  to the nvm_rc_version() function at *line 339* * Printed
 anything inside the nvm_rc_version() only in the scenario where quiet mode is
 off * Ran the nvm_rc_version() function in quiet mode only if silent mode is
 on in the "use" command of nvm at *line 2990* * Ran *nvm_echo* and *nvm_err*
 inside the "use" command of nvm only in the scenario where silent mode is off
 (There were 4 scenarios where this was forgotten) * Edited the ```nvm
 deactivate``` command to include a silent mode * Changed the help page to
 include the --silent option for ```nvm deactivate``` * Added in aliases for
 the --silent flag in ```nvm deactivate``` and ```nvm use``` * Used silent
 mode inside the ```nvm use``` when running ```nvm deactivate``` inside it and
 silent mode is on A test was attached in the 'test/slow/nvm use' directory.
 It is named *Running "nvm use node --silent" doesn't print anything*. It runs
 ```nvm use node --silent and checks``` and succeeds if the OUTPUT matches the
 EXPECTED_OUTPUT which is *null*  or *''*. When the test was run locally, it
 still ouputed results if someone deleted some contents of the *.nvm/* folder.
 This output was given from the ```nvm deactivate command```. This was the
 reason that the ```nvm deactivate``` was edited to include silent mode.
