ad31f1cf26
# Description * Primary purpose is to fix an issue with a missing escaped opening parenthesis in the warning message when running an old `dirs` alias. This was creating an error condition from improper interpolation. Also * Incorporates #13842 feedback from @kubouch by renaming `std/lib` to `std/util` * Removes duplication of code in `export-env` * Renames submodule exports to `std/<submodule>` rather than `./<submodule>` - No user-facing change other than `view files` appears "prettier". * In #13842, I converted the test cases to use `use std/<module>` syntax. Previously, the tests were (effectively) using `use std *` (due to pre-existing bugs, now fixed). So "before", we only had test coverage on `use std *`, and "after" we only had test coverage on `use std/<module>`. I've started adding test cases so that we have coverage on *both* scenarios going forward. For now, `formats` and `util` have been updated with tests for both scenarios. I'll continue adding the others in future PRs. # User-Facing Changes No user-facing changes - Bug fix, refactor, and test cases only # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting Still working on updating the Doc. I ran into the `dirs` issue while writing it and rabbit-trailed to fix it in this PR. |
||
---|---|---|
.. | ||
src | ||
std | ||
tests | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
testing.nu |
Welcome to the standard library of `nushell`!
The standard library is a pure-nushell
collection of custom commands which
provide interactive utilities and building blocks for users writing casual scripts or complex applications.
To see what's here:
> use std
> scope commands | select name description | where name =~ "std "
#┬───────────name────────────┬───────────────────description───────────────────
0│std assert │Universal assert command
1│std assert equal │Assert $left == $right
2│std assert error │Assert that executing the code generates an error
3│std assert greater │Assert $left > $right
4│std assert greater or equal│Assert $left >= $right
... ...
─┴───────────────────────────┴─────────────────────────────────────────────────
🧰 Using the standard library in the REPL or in scripts
All commands in the standard library must be "imported" into the running environment
(the interactive read-execute-print-loop (REPL) or a .nu
script) using the
use
command.
You can choose to import the whole module, but then must refer to individual commands with a std
prefix, e.g:
use std
std log debug "Running now"
std assert (1 == 2)
Or you can enumerate the specific commands you want to import and invoke them without the std
prefix.
use std ["log debug" assert]
log debug "Running again"
assert (2 == 1)
This is probably the form of import you'll want to add to your env.nu
for interactive use.
✏️ contribute to the standard library
You're invited to contribute to the standard library! See CONTRIBUTING.md for details