pub struct AsciiEscapedString(/* private fields */);
Expand description
Simple string with ASCII escape sequences in it
§Example
use stybulate::{AsciiEscapedString, Unstyle};
let s = AsciiEscapedString::from("This is \x1b[1;31;44mbold red with blue background\x1b[0m");
assert_eq!("This is bold red with blue background", s.unstyle());
Implementations§
Source§impl AsciiEscapedString
impl AsciiEscapedString
Sourcepub fn from(s: &str) -> Self
pub fn from(s: &str) -> Self
Constructs an AsciiEscapedString
from a &str
Examples found in repository?
examples/colored_content.rs (lines 11-13)
3fn main() {
4 // Colored content can be inserted either with AsciiEscapedString
5 let table = Table::new(
6 Style::Presto,
7 vec![
8 vec![Cell::from("Normal"), Cell::from("Stybulate")],
9 vec![
10 Cell::from("Red"),
11 Cell::Text(Box::new(AsciiEscapedString::from(
12 "\x1b[31mStybulate\x1b[0m",
13 ))),
14 ],
15 vec![
16 Cell::from("Green"),
17 Cell::Text(Box::new(AsciiEscapedString::from(
18 "\x1b[32mStybulate\x1b[0m",
19 ))),
20 ],
21 vec![
22 Cell::from("Yellow"),
23 Cell::Text(Box::new(AsciiEscapedString::from(
24 "\x1b[33mStybulate\x1b[0m",
25 ))),
26 ],
27 vec![
28 Cell::from("Blue"),
29 Cell::Text(Box::new(AsciiEscapedString::from(
30 "\x1b[34mStybulate\x1b[0m",
31 ))),
32 ],
33 vec![
34 Cell::from("Mutlicolor and blinking (because why not?)"),
35 Cell::Text(Box::new(AsciiEscapedString::from(
36 "\x1b[5;30mS\x1b[31mt\x1b[32my\x1b[33mb\x1b[34mu\x1b[35ml\x1b[36ma\x1b[37mt\x1b[30me\x1b[0m",
37 ))),
38 ],
39 ],
40 Some(Headers::from(vec!["Style", "Text"])),
41 );
42 println!("{}", table.tabulate());
43
44 // or with ansi_term ANSIStrings (with the feature "ansi_term_style")
45 use ansi_term::ANSIStrings;
46 use ansi_term::Color::*;
47 let red_stybulate = &[Red.paint("Stybulate")];
48 let green_stybulate = &[Green.paint("Stybulate")];
49 let yellow_stybulate = &[Yellow.paint("Stybulate")];
50 let blue_stybulate = &[Blue.paint("Stybulate")];
51 let multicolorandblinking_stybulate = &[
52 Black.blink().paint("S"),
53 Red.blink().paint("t"),
54 Green.blink().paint("y"),
55 Yellow.blink().paint("b"),
56 Blue.blink().paint("u"),
57 Purple.blink().paint("l"),
58 Cyan.blink().paint("a"),
59 White.blink().paint("t"),
60 Black.blink().paint("e"),
61 ];
62 let table2 = Table::new(
63 Style::FancyGithub,
64 vec![
65 vec![Cell::from("Normal"), Cell::from("Stybulate")],
66 vec![
67 Cell::from("Red"),
68 Cell::Text(Box::new(ANSIStrings(red_stybulate))),
69 ],
70 vec![
71 Cell::from("Green"),
72 Cell::Text(Box::new(ANSIStrings(green_stybulate))),
73 ],
74 vec![
75 Cell::from("Yellow"),
76 Cell::Text(Box::new(ANSIStrings(yellow_stybulate))),
77 ],
78 vec![
79 Cell::from("Blue"),
80 Cell::Text(Box::new(ANSIStrings(blue_stybulate))),
81 ],
82 vec![
83 Cell::from("Mutlicolor and blinking (because why not?)"),
84 Cell::Text(Box::new(ANSIStrings(multicolorandblinking_stybulate))),
85 ],
86 ],
87 Some(Headers::from(vec!["Style", "Text"])),
88 );
89 println!("{}", table2.tabulate());
90}
Trait Implementations§
Source§impl Display for AsciiEscapedString
impl Display for AsciiEscapedString
Auto Trait Implementations§
impl Freeze for AsciiEscapedString
impl RefUnwindSafe for AsciiEscapedString
impl Send for AsciiEscapedString
impl Sync for AsciiEscapedString
impl Unpin for AsciiEscapedString
impl UnwindSafe for AsciiEscapedString
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more