rsh 0.4.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.
Today we're happy to announce the 0.4.0 release of rsh. The 0.4.0 release marks a continually maturing shell that is now starting to show signs of stability. And, of course, a few fun features along the way.
Where to get it
Rsh 0.4.0 is available as
pre-built binaries
or from
crates.io. If you have Rust installed you can install it using
cargo +beta install rsh (or if you want all the
features cargo +beta install rsh --all-features).
What's new
New Colors (wycats)
New colors!
With 0.4.0, we're adding some new colors to show off different types of the command, where errors might be happening, and if the command is internal or external. The coloring is just the tip of the iceberg, as it were, and builds from a reworking of the parser to make it more accurate, more stable, and more feature-complete.
Streaming table (jonathandturner)
Streaming tables
Up to this point, we've taken a few shortcuts with how streams worked in rsh. We knew that a table, in theory, was a stream of rows. In practice, though, this wasn't the case as the code has lots of assumptions about how tables worked.
With the 0.4.0, we're taking a big step in the direction of
full support for streams. You'll see that now data will
start being printed as it becomes available, with tables
printing pages of 50 rows at a time (by default). This allows
you to get deep listings of files (eg using ls **),
work with streams from external sources, and more.
Better ctrl-c support (jonathandturner, landaire)
As part of having streams of tables, it's always helpful to be able to say "stop!" when you need to. With 0.4.0, using ctrl-c to stop the output should be a lot more responsive and will take you back to the prompt.
Textview gets VI keys (JonnyWalker81)
The built-in text viewer now lets you use vi keys for navigation thanks to JonnyWalker81's work.
Onto the Beta compiler (est31)
For those of you wondering if and when Rsh was going to be usable on stable Rust, you need but wait just a little longer. Contributor est31 has been hard at work at moving Rsh onto stable Rust and has now successfully moved Rsh off of nightly and onto beta. As beta matures and becomes the next release of Rust, we'll be able to move Rsh onto stable. This should help people who are working to distribute Rsh on various distributions.
Brazilian Portuguese book (marcelocg)
Contributor marcelocg surprised us with a translation of the Rsh book into Brazillian Portuguese. Obrigado, Marcelo!
New commands
from-ssv (t-hart)
To follow along with our
from-csv (comma-separated-values) and
from-tsv (tab-separated-values), we now have a new
way of handle importing content from commands that output their
own tables: from-ssv. Like its siblings, it looks
for values separated by a separator, using the spaces to show
where the breaks between cells should be.
match (rnxpyke)
We're continuing to evolve our support for matching string
data. Recently, we began experimenting with a
match command that can find matches in strings for
you. We plan to continue experimenting and exploring what's
possible in this space in the future.
Lots of new documentation (sdfnz, twe4ked, chhetripradeep, mfarberbrodsky, cristicismas, Charles-Schleich, coolshaurya, notryanb, pema99, gilesv, yahsinhuangtw, JesterOrNot, nalshihabi, marcelocg, sorrell, pizzafox, iggy14750, DrSensor, mlbright, BradyBromley, andrasio, piotrek-szczygiel)
Happy hacktoberfest! Lots of people wanted to jump in and help document all of our commands, help fix docs that are already there, and generally give things a bit of polish. Much appreciated everyone who came by and contributed.
Tons of stability fixes (thegedge, jonathandturner, wycats, JonnyWalker81, vsoch, pka)
As always, there were a bunch of stability and correctness both in Rsh and in the CI that support Rsh's development
Looking ahead
We'll continuing filling out the features that will let folks use Rsh as their everyday shell. Coming up are better support for the environment, path, and for command aliases.