Path to this page:
Subject: CVS commit: pkgsrc/shells/nushell
From: pin
Date: 2023-05-17 23:33:35
Message id: 20230517213335.3CCAFFA87@cvs.NetBSD.org
Log Message:
shells/nushell: update to 0.80.0
Themes of this release / New features
- Record type annotations (@1Kinoti)
Starting with this release, you can add more information about the type of
a record your command expects. For example:
def okay [person: record<name: string age: int>] {}
The above will require two fields to be present, a name that's a string, and
an age that's an int. The current version requires that the record has
exactly these fields, though we may loosen this in future releases to allow
for structural subtyping.
- Modules from directories (@Kubouch)
It is now possible to create a module from a directory. The directory must
contain mod.nu and all other .nu files are added as a submodule of the
module. This allows some traditional shell patterns such as dumping
completion files into a directory to be loaded automatically. Check out the
newly updated book chapter for more details and examples.
The enabling feature for module directories was organizing modules into
submodule structure instead of solely relying on re-importing symbols with
export use. module and especially export module have been added as a result
of this change. While not immediately visible, the module update allows for
cleaner submodule oganization without relying on re-exporting symbols with
export use. Since modules are now aware of their submodules, in the future
we hope to improve discoverability of definitions within modules, enhancing
our IDE support (such as our LSP).
- Stdlib update ([@amtoine, @EmilySeville7cfg, @skelly37, @YummyOreo]
[std-lib PRs])
Breaking changes
- #8940 Change type of parameter default values to Option<Value>
- #9007 Fix unexpected flattening of data by par-each (Issue #8497)
- #9056 REFACTOR: remove deprecated commands (old-alias)
Files: