From a165b3574f84a1267c951a352be4f73ad8fe65b3 Mon Sep 17 00:00:00 2001 From: Jonathan Turner Date: Sat, 20 Jul 2019 21:23:44 +1200 Subject: [PATCH] Add some row numbers if there are multiple rows --- src/format/table.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/format/table.rs b/src/format/table.rs index 0140ab70bd..4c71879f84 100644 --- a/src/format/table.rs +++ b/src/format/table.rs @@ -1,6 +1,7 @@ use crate::format::RenderView; use crate::object::Value; use crate::prelude::*; +use ansi_term::Color; use derive_new::new; use prettytable::format::{FormatBuilder, LinePosition, LineSeparator}; @@ -38,16 +39,22 @@ impl TableView { let mut entries = vec![]; - for value in values { - let row = headers + for (idx, value) in values.iter().enumerate() { + let mut row: Vec = headers .iter() .enumerate() .map(|(i, d)| value.get_data(d).borrow().format_leaf(Some(&headers[i]))) .collect(); + if values.len() > 1 { + row.insert(0, format!("{}", Color::Black.bold().paint(idx.to_string()))); + } entries.push(row); } + if values.len() > 1 { + headers.insert(0, format!("#")); + } Some(TableView { headers, entries }) } }