`RBENV_ROOT` can be used to relocate where rbenv ends up storing the shims
and versions of Ruby it installs. Because of this split `RBENV_ROOT`
cannot be used to reliably construct a path to the rbenv binary itself.
Instead we now rely on `$RBENV_BIN_ROOT` pointing to the `bin/` directory
containing the rbenv binary/script.
If `$RBENV_BIN_ROOT` is not set we search `$PATH` first and then the
user's home directory making sure to prepend the necessary directories to
our `$PATH` depending on where we find rbenv.
Lastly we prepend to our `$PATH` the location rbenv's `shims/` so that we
can find the shims rbenv generates for us.
+ Add fish eval fix See #fish-shell/pull/1892
+ New and improved output system with colors, etc.
+ Support for multiple non-nested describe blocks.
+ Remove spec.log and favor `msg` plugin and standard echo.
+ `spec.eval` no longer evaluates multiple functions, acting now as a simplified
router between the view `spec.view` and the controller `spec.run`.
+ Add new `spec.view` to act as a hub for all test output.
+ Add report with passed/failed tests to `spec.view`
+ Now test descriptions are used directly from the function name. Description
fields are now optional.
+ Add documentation and examples.
+ Add new functions to interact with the framework:
+ spec.eval - eval a function by name and echo its description field
+ spec.functions - prints functions currently in scope that match the key glob
+ spec.log - log a message / test result
+ spec.run - run suite of tests
+ Rename list.erase to erase.
+ Print messages with style and color easily. Supported styles below:
_text_ Bold
__text__ Underline
___text___ Bold and Underline
`$variable` Apply @<styles> to $variables
/directory/ Directories
[url] Links
\n Line Break
\t Tab Space
+ Recognizes 256 different color names and special @random @light @dark @error and @success labels.
+ Included also is `msg.ask` to print a message with `msg` and wait for y/n input. Returns true on y\*.