iTerm2 nightly has an improved scripting bridge that exposes sessions, but until that ships, we'll have to use a hardcoded default and let users override.
This is a port of a bash function I wrote almost five years ago:
https://gist.github.com/bobthecow/757788
The fish version is better though ;)
I only have OS X with iTerm and Terminal to test on, but it should be possible to add support for other terminals on other OS. Send a pull request!
`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.