add --table_mode -m parameter (#5513)

* add `--table_mode` `-m` parameter

* underscores to dashes
This commit is contained in:
Darren Schroeder
2022-05-11 16:15:31 -05:00
committed by GitHub
parent ec804f4568
commit 0b95465ea1
5 changed files with 53 additions and 12 deletions

View File

@ -44,6 +44,7 @@ impl Command for Table {
"row number to start viewing from",
Some('n'),
)
.switch("list", "list available table modes/themes", Some('l'))
.category(Category::Viewers)
}
@ -60,6 +61,7 @@ impl Command for Table {
let color_hm = get_color_config(config);
let start_num: Option<i64> = call.get_flag(engine_state, stack, "start-number")?;
let row_offset = start_num.unwrap_or_default() as usize;
let list: bool = call.has_flag("list");
let term_width = if let Some((Width(w), Height(_h))) = terminal_size::terminal_size() {
(w - 1) as usize
@ -67,6 +69,27 @@ impl Command for Table {
80usize
};
if list {
let table_modes = vec![
Value::string("basic", Span::test_data()),
Value::string("compact", Span::test_data()),
Value::string("compact_double", Span::test_data()),
Value::string("default", Span::test_data()),
Value::string("heavy", Span::test_data()),
Value::string("light", Span::test_data()),
Value::string("none", Span::test_data()),
Value::string("reinforced", Span::test_data()),
Value::string("rounded", Span::test_data()),
Value::string("thin", Span::test_data()),
Value::string("with_love", Span::test_data()),
];
return Ok(Value::List {
vals: table_modes,
span: Span::test_data(),
}
.into_pipeline_data());
}
// reset vt processing, aka ansi because illbehaved externals can break it
#[cfg(windows)]
{