diff options
Diffstat (limited to 'vendor/tabled/examples/chess.rs')
-rw-r--r-- | vendor/tabled/examples/chess.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/tabled/examples/chess.rs b/vendor/tabled/examples/chess.rs new file mode 100644 index 000000000..db83218c8 --- /dev/null +++ b/vendor/tabled/examples/chess.rs @@ -0,0 +1,37 @@ +//! This example demonstrates using the [`Color`] [setting](tabled::settings) to +//! stylize text, backgrounds, and borders. +//! +//! * 🚩 This example requires the `color` feature. +//! +//! * Note how [`Format::content()`] is used to break out [`CellOption`] +//! specifications. This is helpful for organizing extensive [`Table`] configurations. + +use std::iter::FromIterator; + +use tabled::{ + builder::Builder, + settings::{style::Style, themes::Colorization, Color}, +}; + +fn main() { + let board = [ + ["♜", "♞", "♝", "♛", "♚", "♝", "♞", "♜"], + ["♟", "♟", "♟", "♟", "♟", "♟", "♟", "♟"], + [" ", " ", " ", " ", " ", " ", " ", " "], + [" ", " ", " ", " ", " ", " ", " ", " "], + [" ", " ", " ", " ", " ", " ", " ", " "], + [" ", " ", " ", " ", " ", " ", " ", " "], + ["♙", "♙", "♙", "♙", "♙", "♙", "♙", "♙"], + ["♖", "♘", "♗", "♕", "♔", "♗", "♘", "♖"], + ]; + + let color_white = Color::BG_WHITE | Color::FG_BLACK; + let color_black = Color::FG_WHITE | Color::BG_BLACK; + + let mut table = Builder::from_iter(board).build(); + table + .with(Style::empty()) + .with(Colorization::chess(color_white, color_black)); + + println!("{table}"); +} |