//! This example demonstrates using the [`Height`] [`TableOption`] for adjusting //! the height of a [`Table`]. //! //! * [`Height`] supports three key features: //! * [`CellHeightIncrease`] spreads new whitespace between the [`Table`] //! rows up to the specified line count. //! * [`CellHeightLimit`] removes lines from the [`Table`] rows fairly, until //! it has no choice but to remove single-line-rows entirely, bottom up. //! * [`HeightList`] accepts an array of height specifications that are applied //! to the rows with the same index. This is helpful for granularly specifying individual //! row heights irrespective of [`Padding`] or [`Margin`]. use tabled::{ settings::{peaker::Priority, Height, Style}, Table, }; fn main() { let data = vec![("Multi\nline\nstring", 123), ("Single line", 234)]; let mut table = Table::builder(data).build(); table.with(Style::markdown()); println!("Table\n"); println!("{table}"); println!(); let table_ = table.clone().with(Height::increase(10)).to_string(); println!("Table increase height to 10\n"); println!("{table_}"); println!(); let table_ = table .clone() .with(Height::limit(4).priority(Priority::max(true))) .to_string(); println!("Table decrease height to 4\n"); println!("{table_}"); let table_ = table .clone() .with(Height::limit(0).priority(Priority::max(true))) .to_string(); println!("Table decrease height to 0\n"); println!("{table_}"); }