mirror of
https://github.com/nushell/nushell.git
synced 2024-11-25 18:03:51 +01:00
6d51e34d0a
> **Note** > waiting for the following to land > - https://github.com/nushell/nushell/pull/8824 to avoid conflicts, i'll add this to `CONTRIBUTING.md` once it's ready 👍 should close #8839 # Description this PR moves the `log` submodule of `std` to the top of the call stack, making it available in the rest of the library as `log`. i've added some comments around the `submodules` list in `load_standard_library` to make it clear how it should work. # User-Facing Changes `log` and `assert` are now available in the rest of `std`. # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - ⚫ `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting ``` $nothing ``` |
||
---|---|---|
.. | ||
lib | ||
src | ||
tests | ||
Cargo.toml | ||
examples.nu | ||
LICENSE | ||
README.md |
Welcome to the standard library of `nushell`!
The standard library is a pure-nushell
collection of commands to allow anyone to build
complex applications using standardized tools gathered incrementally.
In this library, you might find rust
-like assert
commands to write tests, tools to
manipulate paths and strings, etc, etc, ...
🧰 use the standard library in the REPL or in scripts
in order to "import" the standard library to either the interactive [REPL][REPL] of
nushell
or inside some .nu
script, you might want to use the
use
command!
use std
✏️ contribute to the standard library
- all the commands of the standard_library are located in
std.nu
- the tests are located in files that have a name starting with "test_", e.g.
test_std.nu
- a test runner, at
tests.nu
, allows to run all the tests automatically
🔧 add new commands
- add new standard commands by appending to
std.nu
- add associated tests to
test_std.nu
or preferably totest_<submodule>.nu
.- define a new exported (!)
test_<feature>
command - import the
assert
functions you need at the top of the functions, e.g.use std.nu "assert eq"
- define a new exported (!)
🧪 run the tests
the following call should return no errors
NU_LOG_LEVEL=DEBUG cargo run -- crates/nu-std/tests.nu
Warning
thecargo run --
part of this command is important to ensure the version ofnushell
and the version of the library are the same.