mirror of
https://github.com/nushell/nushell.git
synced 2025-03-30 18:46:29 +02:00
# Description The name of the `group` command is a little unclear/ambiguous. Everything I look at it, I think of `group-by`. I think `chunks` more clearly conveys what the `group` command does. Namely, it divides the input list into chunks of a certain size. For example, [`slice::chunks`](https://doc.rust-lang.org/std/primitive.slice.html#method.chunks) has the same name. So, this PR adds a new `chunks` command to replace the now deprecated `group` command. The `chunks` command is a refactored version of `group`. As such, there is a small performance improvement: ```nushell # $data is a very large list > bench { $data | chunks 2 } --rounds 30 | get mean 474ms 921µs 190ns # deprecation warning was disabled here for fairness > bench { $data | group 2 } --rounds 30 | get mean 592ms 702µs 440ns > bench { $data | chunks 200 } --rounds 30 | get mean 374ms 188µs 318ns > bench { $data | group 200 } --rounds 30 | get mean 481ms 264µs 869ns > bench { $data | chunks 1 } --rounds 30 | get mean 642ms 574µs 42ns > bench { $data | group 1 } --rounds 30 | get mean 981ms 602µs 513ns ``` # User-Facing Changes - `group` command has been deprecated in favor of new `chunks` command. - `chunks` errors when given a chunk size of `0` whereas `group` returns chunks with one element. # Tests + Formatting Added tests for `chunks`, since `group` did not have any tests. # After Submitting Update book if necessary.
16 lines
417 B
Rust
16 lines
417 B
Rust
pub mod cli_error;
|
|
mod compile_error;
|
|
mod labeled_error;
|
|
mod parse_error;
|
|
mod parse_warning;
|
|
mod shell_error;
|
|
|
|
pub use cli_error::{
|
|
format_error, report_error, report_error_new, report_warning, report_warning_new,
|
|
};
|
|
pub use compile_error::CompileError;
|
|
pub use labeled_error::{ErrorLabel, LabeledError};
|
|
pub use parse_error::{DidYouMean, ParseError};
|
|
pub use parse_warning::ParseWarning;
|
|
pub use shell_error::*;
|