Closes #15786 ## Release notes summary - What our users need to know `std-rfc/kv` commands now take an optional `--table (-t)` argument which allows a custom table name to be used. If not specified, the current `std-kv-store` table will be used. ## Tasks after submitting - [x] Added in-help example to `kv set`. Did not add examples to the other `kv` commands since they should be obvious based on the initial `kv set`. ## Additional details Example: ```nushell use std-rfc/kv * kv set -t foo bar 5 kv list # Empty list, since the value was placed in a custom table # => ╭────────────╮ # => │ empty list │ # => ╰────────────╯ kv list -t foo # => ╭───┬─────┬───────╮ # => │ # │ key │ value │ # => ├───┼─────┼───────┤ # => │ 0 │ bar │ 5 │ # => ╰───┴─────┴───────╯ ``` To protect against injection attacks, table names can only include alphanumeric characters with `_` and `-`.
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