# 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
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, jt)
We've begun the completion improvements that have been planned for some time. In this release, we've added completions for alias definitions (opens new window), source imports (opens new window), completions for quoted paths (opens new window), completions while inside of a pipeline (opens new window), completions in incomplete expressions (opens new window), subcommand completions (opens new window) and more.
On Windows, we've sped up path completions (opens new window). We've also reworked path handling, which should help make path completions in Windows more consistent (opens 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 (jt)
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 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 6
# New distributions (itsme-alan, zmedico)
# More natural pipeline output (jt)
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)
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 PR (opens new window).
# New commands
- nathom added
unlet_envto remove environment variables from the current scope (opens new window)
- jt added the
ignorecommand to ignore pipeline output (opens new window)
- fdncred added
ansi gradientcommand (opens new window)
# Additional improvements
- fdncred added path and environment path separators to
char(opens new window) to allow for creating more portable scripts, fixed an issue with error colors (opens new window), added single and double quote to char (opens new window), version now lists plugins (opens new window)
- efx updated commands to engine-p style (opens new window)
- chrisfinazzo fixed some of our helper scripts (opens new window)
- andrasio, jt removed the clap dependency, so nushell parses its own parameters (opens new window)
- vladdoster landed some doc improvements (opens new window)
- NiklasJonsson improved nu doc comments (opens new window)
- reaganmcf added an optional plugin for handling mp4 metadata (opens new window) and bumped sysinfo (opens new window)
- voanhduy1512 added support for invoking external commands via string interpolation (opens new window)
- Garfield96 added --sheets for xlsx/ods (opens new window), --tables for
from sqlite(opens new window), and fixed a panic with giving empty tables to
to sqlite(opens new window)
- kubouch improved errors and updated commands to engine-p (opens new window), improved some internal handling of
def(opens new window), clarified the
exechelp message (opens new window)
- sholderbach improved
wheredocs (opens new window)
- jt added parsing for hex, binary, and octal numbers (opens new window)
- pka improved territory in locale support for byte formatting (opens new window)
- ahkrr fixed handling of # in filenames (opens new window)
- jt, LovecraftianHorror, apatrushev, sholderbach, elferherrera, inet56 added fixes to the website and docs
- fdncred, efx, jt, and andrasio all added scripts and fixes to the scripts repo
# 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 ready (opens new window).