//! This example demonstrates using [`IterTable`], an [allocation](https://doc.rust-lang.org/nomicon/vec/vec-alloc.html) //! free [`Table`] alternative that translates an iterator into a display. //! //! * Note how [`IterTable`] supports the familiar `.with()` syntax for applying display //! modifications. //! //! * [`IterTable`] supports manual configuration of: //! * Record sniffing (default 1000 rows) //! * Row cutoff //! * Row height //! * Column cutoff //! * Column width use std::io::BufRead; use tabled::{settings::Style, tables::IterTable}; fn main() { let path = file!(); let file = std::fs::File::open(path).unwrap(); let reader = std::io::BufReader::new(file); let iterator = reader.lines().enumerate().map(|(i, line)| match line { Ok(line) => [i.to_string(), String::from("ok"), line], Err(err) => [i.to_string(), String::from("error"), err.to_string()], }); let table = IterTable::new(iterator).with(Style::ascii_rounded()); table.build(std::io::stdout()).unwrap(); println!() }