blob: d8e6c679af950c9711f38474a26d1d1137e88259 [file] [log] [blame]
//! This example demonstrates using the [`Split`] [`TableOption`] to
//! transform a [`Table`] display in multiple ways.
//!
//! * Several configurations are available to customize a [`Split`] instruction:
//! * [`Index`](usize)
//! * [`Behavior`]
//! * [`Direction`]
//! * [`Display`]
use std::iter::FromIterator;
use tabled::{
col, row,
settings::{split::Split, style::Style, Padding},
Table,
};
fn main() {
let mut table = Table::from_iter(['a'..='z']);
table.with(Style::modern());
let table_1 = table.clone().with(Split::column(12)).clone();
let table_2 = table_1.clone().with(Split::column(2).zip()).to_string();
let table_3 = table_1.clone().with(Split::column(2).concat()).to_string();
let table_4 = table_1.clone().with(Split::row(2).zip()).to_string();
let table_5 = table_1.clone().with(Split::row(2).concat()).to_string();
let mut table = col![
table,
row![
table_1,
table_2,
table_3,
col![table_4, table_5]
.with(Style::blank())
.with(Padding::zero())
]
.with(Style::blank())
.with(Padding::zero()),
];
table.with(Style::blank());
println!("{table}");
}