diff options
Diffstat (limited to 'vendor/tabled/examples/colored_borders.rs')
-rw-r--r-- | vendor/tabled/examples/colored_borders.rs | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/vendor/tabled/examples/colored_borders.rs b/vendor/tabled/examples/colored_borders.rs new file mode 100644 index 000000000..0bbdb4ac4 --- /dev/null +++ b/vendor/tabled/examples/colored_borders.rs @@ -0,0 +1,65 @@ +//! This example demonstrates using the [`RawStyle`] [setting](tabled::settings) to +//! to granularly specify border colors. +//! +//! * 🚩 This example requires the `color` feature. +//! +//! * Note how [`Color`] containts several helpful, const values covering +//! a basic selection of foreground and background colors. [`Color`] also +//! supports custom colors with [`Color::new()`]. + +use tabled::{ + settings::{ + style::{RawStyle, Style}, + Color, + }, + Table, Tabled, +}; + +#[derive(Tabled)] +struct CodeEditor { + name: &'static str, + first_release: &'static str, + developer: &'static str, +} + +impl CodeEditor { + fn new(name: &'static str, first_release: &'static str, developer: &'static str) -> Self { + Self { + name, + first_release, + developer, + } + } +} + +fn main() { + let mut style = RawStyle::from(Style::extended()); + style + .set_color_top(Color::FG_RED) + .set_color_bottom(Color::FG_CYAN) + .set_color_left(Color::FG_BLUE) + .set_color_right(Color::FG_GREEN) + .set_color_corner_top_left(Color::FG_BLUE) + .set_color_corner_top_right(Color::FG_RED) + .set_color_corner_bottom_left(Color::FG_CYAN) + .set_color_corner_bottom_right(Color::FG_GREEN) + .set_color_intersection_bottom(Color::FG_CYAN) + .set_color_intersection_top(Color::FG_RED) + .set_color_intersection_right(Color::FG_GREEN) + .set_color_intersection_left(Color::FG_BLUE) + .set_color_intersection(Color::FG_MAGENTA) + .set_color_horizontal(Color::FG_MAGENTA) + .set_color_vertical(Color::FG_MAGENTA); + + let data = [ + CodeEditor::new("Sublime Text 3", "2008", "Sublime HQ"), + CodeEditor::new("Visual Studio Code", "2015", "Microsoft"), + CodeEditor::new("Notepad++", "2003", "Don Ho"), + CodeEditor::new("GNU Emacs", "1984", "Richard Stallman"), + CodeEditor::new("Neovim", "2015", "Vim community"), + ]; + + let table = Table::new(data).with(style).to_string(); + + println!("{table}"); +} |