summaryrefslogtreecommitdiffstats
path: root/vendor/tabled/examples/rotate.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/tabled/examples/rotate.rs38
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}");
+}