diff options
Diffstat (limited to '')
-rw-r--r-- | vendor/tabled/examples/rotate.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/tabled/examples/rotate.rs b/vendor/tabled/examples/rotate.rs new file mode 100644 index 000000000..8db997527 --- /dev/null +++ b/vendor/tabled/examples/rotate.rs @@ -0,0 +1,38 @@ +//! This example demonstrates using the [`Rotate`] [`TableOption`] to rotate the cells +//! of a [`Table`]. +//! +//! * [`Rotate`] supports four motions: +//! * `Left` | 90 degree shift +//! * `Right` | 90 degree shift +//! * `Top` & `Bottom` | Reverse row order + +use tabled::{settings::Rotate, Table, Tabled}; + +#[derive(Tabled)] +struct Linux { + id: u8, + distribution: &'static str, + link: &'static str, +} + +impl Linux { + fn new(id: u8, distribution: &'static str, link: &'static str) -> Self { + Self { + id, + distribution, + link, + } + } +} + +fn main() { + let data = vec![ + Linux::new(0, "Fedora", "https://getfedora.org/"), + Linux::new(2, "OpenSUSE", "https://www.opensuse.org/"), + Linux::new(3, "Endeavouros", "https://endeavouros.com/"), + ]; + + let table = Table::new(data).with(Rotate::Left).to_string(); + + println!("{table}"); +} |