File: height.rs

package info (click to toggle)
rustc-web 1.85.0%2Bdfsg3-1~deb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-proposed-updates
  • size: 1,759,988 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,056; lisp: 29; perl: 29; ruby: 19; sql: 11
file content (49 lines) | stat: -rw-r--r-- 1,541 bytes parent folder | download | duplicates (16)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! 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_}");
}