rsh 0.3.0
rsh, or Rsh for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines.
We're happy to announce that today we're releasing rsh 0.3.0. Rsh has seen numerous bugfixes, performance improvements, and features added since its initial public release (which was only a few weeks ago!)
Where to get it
Rsh 0.3.0 is available as
pre-built binaries
or from
crates.io. If you have Rust installed you can install it using
cargo +nightly install rsh (or if you want all the
features
cargo +nightly install rsh --all-features).
What's new
New table design (Porges, jonathandturner)
One of the most striking differences is that Rsh now uses UTF-8 box drawing to draw its tables.
The table is also configurable. If you feel like the table is a bit too heavy, you can also configure it to work in light mode using this command:
> config --set [table_mode light]
New file formats (pmeredit, est31, andrasio, jonathandturner)
Rsh now natively supports new file formats, including: bson, tsv, sqlite, and url-encoded strings.
New commands (incrop, ramonsnir, ijt, jonathandturner, andrasio, JonnyWalker81, chhetripradeep, pka)
Since the 0.2.0 release, Rsh has gained a set of additional commands, including:
help- built-in help systemreverse- reverse a table-
last- like thefirstcommand, but working from the bottom of the table, return n rows -
embed- create a new table using the current table as a start -
fetch- get the contents of a URL (this originally lived inopen) post- post to a URL and get the resultspwd- print the working directory-
env- give access to a number of important paths and environment settings -
pivot- pivot a table so that rows become columns and vice-versa echo- a built-in echo command
Error improvements (jonathandturner)
We've made steady progress on improving error messages. Recently, we added "did you mean?" errors to help when you mistype the name of columns. Rsh 0.3.0 also has gone through a few passes to generally polish the errors to include more information when an error occurs.
Shell features (pka, wycats, twe4ked, andrasio, iamcodemaker)
Rsh now supports ~ to refer to your home directory
as part of a path. You can also use cd - to return
to a previous directory you were working in.
The shell itself also got a few updates. You can now enable
'vi' mode, if you'd prefer vi-like bindings (by
running config --set [edit_mode vi]). On
non-Windows platforms, you can also use Ctrl-R to enable
Sublime-style history searching (we're hoping to enable
Windows support for this soon).
Plugin improvements (jonathandturner, andrasio)
Plugins have continued to mature, and it's now possible to use plugins to extend Rsh with support for new file formats.
We've also added documentation on how to write Rsh plugins in both Rust and Python, with info on Ruby coming soon.
Docker support (vsoch, DrSensor)
If you're interested in using Rsh and Docker together, be sure to check out the new Docker support.
Book progress
The Rsh book is now available in three languages: English, Spanish, and Japanese.
We've also created a Rsh contributor book, which will help developers who want to contribute to Rsh learn about its philosophy, design, and how to create plugins.
Acknowledgements
est31, pmeredit, twe4ked, DrSensor, vsoch, pka, jankoprowski, Porges, max-sixty, ijt, djc, vthriller, taiki-e, oskarskog, iamcodemaker, JonnyWalker81, yaahc, tim77, svartalf, ramonsnir, orf, lesichkovm, ineol, incrop, eoinkelly, devnought, chhetripradeep, aidanharris, GuillaumeGomez, and BatmanAod for contributing to the Rsh codebase. Also a big thanks to our issue reporters!
ymgyt - for the Japanese version of the Rsh book!
mistydemeo, romanlevin, ralvessa, pka, lord, kkalyan, jankprowski, and boisgera for helping with the book.
Looking ahead
We're hard at work on the upcoming milestone release. If you'd like to help, feel free to jump in! We have an active discord you can join for both users and contributors.