mirror of
https://github.com/nushell/nushell.git
synced 2025-07-01 07:00:37 +02:00
nu-table: Add table option --abbreviated
(#10399)
- Added `--abbreviated`/`-a` option - Adedd `abbreviate_if_longer_than` config opt for it. ```nu ls | table -a 3 ``` ``` ╭───┬────────────────────┬──────┬───────────┬──────────────╮ │ # │ name │ type │ size │ modified │ ├───┼────────────────────┼──────┼───────────┼──────────────┤ │ 0 │ CODE_OF_CONDUCT.md │ file │ 3.4 KiB │ 4 days ago │ │ 1 │ CONTRIBUTING.md │ file │ 18.3 KiB │ 2 weeks ago │ │ 2 │ Cargo.lock │ file │ 144.3 KiB │ 15 hours ago │ │ 3 │ ... │ ... │ ... │ ... │ │ 4 │ tests │ dir │ 4.0 KiB │ 4 months ago │ │ 5 │ toolkit.nu │ file │ 14.6 KiB │ 5 days ago │ │ 6 │ wix │ dir │ 4.0 KiB │ 2 months ago │ ╰───┴────────────────────┴──────┴───────────┴──────────────╯ ``` ```nu $env | table -a 3 ``` ``` ╭──────────────────┬──────────────────────────────────────────────────────────────────────────╮ │ BROWSER │ firefox │ │ CARGO │ /home/maxim/.rustup/toolchains/1.70.0-x86_64-unknown-linux-gnu/bin/cargo │ │ CARGO_HOME │ /home/maxim/.cargo │ │ ... │ ... │ │ XDG_SESSION_TYPE │ x11 │ │ XDG_VTNR │ 7 │ │ _ │ /home/maxim/.cargo/bin/cargo │ ╰──────────────────┴──────────────────────────────────────────────────────────────────────────╯ ``` close #10393 PS: Maybe as a separate issue (good candidate for `GOOD FIRST ISSUE`) add a config option to change a default `...` truncation sign to a custom? (which would be applicable not only for `--abbreviated` but all kind of tables) --------- Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
This commit is contained in:
@ -76,6 +76,7 @@ pub struct Config {
|
||||
pub table_move_header: bool,
|
||||
pub table_show_empty: bool,
|
||||
pub table_indent: TableIndent,
|
||||
pub table_abbreviation_threshold: Option<usize>,
|
||||
pub use_ls_colors: bool,
|
||||
pub color_config: HashMap<String, Value>,
|
||||
pub use_grid_icons: bool,
|
||||
@ -134,6 +135,7 @@ impl Default for Config {
|
||||
trim_strategy: TRIM_STRATEGY_DEFAULT,
|
||||
table_move_header: false,
|
||||
table_indent: TableIndent { left: 1, right: 1 },
|
||||
table_abbreviation_threshold: None,
|
||||
|
||||
datetime_normal_format: None,
|
||||
datetime_table_format: None,
|
||||
@ -1023,6 +1025,17 @@ impl Value {
|
||||
"show_empty" => {
|
||||
try_bool!(cols, vals, index, span, table_show_empty)
|
||||
}
|
||||
"abbreviated_row_count" => {
|
||||
if let Ok(b) = value.as_int() {
|
||||
if b < 0 {
|
||||
invalid!(Some(span), "should be an int unsigned");
|
||||
}
|
||||
|
||||
config.table_abbreviation_threshold = Some(b as usize);
|
||||
} else {
|
||||
invalid!(Some(span), "should be an int");
|
||||
}
|
||||
}
|
||||
x => {
|
||||
invalid_key!(
|
||||
cols,
|
||||
|
Reference in New Issue
Block a user