diff --git a/crates/radicle-term/src/table.rs b/crates/radicle-term/src/table.rs index 8cc8ff34..ddc27013 100644 --- a/crates/radicle-term/src/table.rs +++ b/crates/radicle-term/src/table.rs @@ -191,12 +191,6 @@ impl Table { self.rows.push(Row::Header(row)); } - pub fn extend(&mut self, rows: impl IntoIterator) { - for row in rows.into_iter() { - self.push(row); - } - } - pub fn is_empty(&self) -> bool { !self.rows.iter().any(|r| matches!(r, Row::Data { .. })) } @@ -225,6 +219,20 @@ impl Table { } } +impl Extend<[T; W]> for Table { + fn extend(&mut self, iter: I) + where + I: IntoIterator, + { + self.rows.extend(iter.into_iter().map(|row| { + for (i, cell) in row.iter().enumerate() { + self.widths[i] = self.widths[i].max(cell.width()); + } + Row::Data(row) + })); + } +} + #[cfg(test)] mod test { use crate::Element;