mirror of
https://github.com/nushell/nushell
synced 2024-12-28 14:03:09 +00:00
c26fca7419
# Description These make it easy to make a Span that covers an entire argument and the span of all arguments in a Call. Call::arguments_span() is useful for errors where a command may accept arguments or the pipeline, but not both. Argument::span() is useful for errors where an arguments is incompatible with one or more other arguments. In particular, I wish to use this to create an error for an implementation of #9563 that either allows arguments to set limits: ```nushell limits set RLIMIT_NOFILE --soft 255 --hard 1024 ``` Or pipeline: ```nushell {name: RLIMIT_NOFILE, soft: 255} | limits set ``` But not both: ``` ❯ [{name: RLIMIT_NOFILE, soft: 255, hard: 1024}] | limits set AS --soft 5 --hard 5 Error: nu:🐚:incompatible_parameters × Incompatible parameters. ╭─[source:1:1] 1 │ [{name: RLIMIT_NOFILE, soft: 255, hard: 1024}] | limits set AS --soft 5 --hard 5 · ───────────────────────┬────────────────────── ──────────┬───────── · │ ╰── or arguments, not both · ╰── Supply either pipeline ╰──── ``` # User-Facing Changes Only nushell Command API changes |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml | ||
LICENSE | ||
README.md |
nu-protocol
The nu-protocol crate holds the definitions of structs/traits that are used throughout Nushell. This gives us one way to expose them to many other crates, as well as make these definitions available to each other, without causing mutually recursive dependencies.