Table indexes (#6620)

* Table indexes

* Renamed to `show_table_indexes`

* Renamed to `table_index_mode`
This commit is contained in:
Nano
2022-09-29 10:07:33 +12:00
committed by GitHub
parent d2e4f03d19
commit 5c99921e15
4 changed files with 46 additions and 15 deletions

View File

@ -1,7 +1,7 @@
use std::collections::HashMap;
use nu_ansi_term::Style;
use nu_protocol::{Config, FooterMode, TrimStrategy};
use nu_protocol::{Config, FooterMode, TableIndexMode, TrimStrategy};
use tabled::{
builder::Builder,
formatting_settings::AlignmentStrategy,
@ -95,7 +95,15 @@ fn draw_table(
let theme = &table.theme;
let with_header = headers.is_some();
let with_footer = with_header && need_footer(config, data.len() as u64);
let with_index = !config.disable_table_indexes;
let with_index = match config.table_index_mode {
TableIndexMode::Always => true,
TableIndexMode::Never => false,
TableIndexMode::Auto => table
.headers
.iter()
.flatten()
.any(|header| header.contents == "index"),
};
let table = build_table(data, headers, with_footer);
let table = load_theme(table, color_hm, theme, with_footer, with_header);