Nushell 0.33

Nushell, or Nu 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 releasing 0.33 of Nu. This release includes improved completions, support for pipeline variables, syntax theming and more.

Where to get it

Nu 0.33 is available as pre-built binariesopen in new window or from crates.ioopen in new window. If you have Rust installed you can install it using cargo install nu.

If you want all the goodies, you can install cargo install nu --features=extra.

If you'd like to try the experimental paging feature in this release, you can install with cargo install nu --features=table-pager.

As part of this release, we also publish a set of plugins you can install and use with Nu. To install, use cargo install nu_plugin_<plugin name>.

What's New

Improved completions (fdncred, NiklasJonsson, kubouch, andrasio, sophiajt)

We've begun the completion improvements that have been planned for some time. In this release, we've added completions for alias definitionsopen in new window, source importsopen in new window, completions for quoted pathsopen in new window, completions while inside of a pipelineopen in new window, completions in incomplete expressionsopen in new window, subcommand completionsopen in new window and more.

On Windows, we've sped up path completionsopen in new window. We've also reworked path handling, which should help make path completions in Windows more consistentopen in new window, including handling of ~.

Behind the scenes, we've also refactored completions into their own crate, so that we can more easily grow the areas where completions are supported.

Pipeline vars (sophiajt)

Sometimes, when you're working on a pipeline, you want to refer to values coming in using an xargs style. With 0.33, we've introduced a new built-in variable called $in. The $in variable will collect the pipeline into a value for you, allowing you to access the whole stream as a parameter.

> echo 1 2 3 | $in.1 * $in.2

New distributions (itsme-alan, zmedico)

You can now install Nushell from the winget repoopen in new window and from gentooopen in new window.

More natural pipeline output (sophiajt)

In this release, we've also relaxed some of the strictness in when output happens to always be at the end of a pipeline. In previous versions of Nushell, it was common for people to try an example like echo "hello "; echo "world" only to be confused why they only saw world in the output. Now, we treat ; like carriage return, so that pipelines more naturally output their results just as they do at the end of lines.

You can add back in the ignore ability using the new ignore command, which will ignore any stdout or data output from the previous command in the pipeline. For example, ls | ignore.

Syntax highlighting themes (fdncred)

image of syntax highlighting themes in Nushell

Nu, with configurable colors

You can now configure the colors used in syntax highlighting. For the currently supported token types and examples, check out the original PRopen in new window.

New commands

Additional improvements

Looking ahead

We're continuing to improve our dataframe support, and hope to be rolling it out a part of the default commands in the next release. Elfherrera has been hard at work improving the dataframe support to get it readyopen in new window.