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