mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-25 02:53:35 +00:00
50 lines
1.5 KiB
Rust
50 lines
1.5 KiB
Rust
//! 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::PriorityMax, 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::<PriorityMax>())
|
|
.to_string();
|
|
|
|
println!("Table decrease height to 4\n");
|
|
println!("{table_}");
|
|
|
|
let table_ = table
|
|
.clone()
|
|
.with(Height::limit(0).priority::<PriorityMax>())
|
|
.to_string();
|
|
|
|
println!("Table decrease height to 0\n");
|
|
println!("{table_}");
|
|
}
|