helix_db/utils/
styled_string.rs

1#[allow(dead_code)]
2pub trait StyledString {
3    fn black(&self) -> String;
4    fn red(&self) -> String;
5    fn green(&self) -> String;
6    fn yellow(&self) -> String;
7    fn blue(&self) -> String;
8    fn magenta(&self) -> String;
9    fn cyan(&self) -> String;
10    fn white(&self) -> String;
11    fn bold(&self) -> String;
12    fn underline(&self) -> String;
13    fn normal(&self) -> String;
14    fn bright_red(&self) -> String;
15}
16
17impl StyledString for str {
18    fn black(&self) -> String {
19        format!("\x1b[30m{}\x1b[0m", self)
20    }
21
22    fn red(&self) -> String {
23        format!("\x1b[31m{}\x1b[0m", self)
24    }
25
26    fn green(&self) -> String {
27        format!("\x1b[32m{}\x1b[0m", self)
28    }
29
30    fn yellow(&self) -> String {
31        format!("\x1b[33m{}\x1b[0m", self)
32    }
33
34    fn blue(&self) -> String {
35        format!("\x1b[34m{}\x1b[0m", self)
36    }
37
38    fn magenta(&self) -> String {
39        format!("\x1b[35m{}\x1b[0m", self)
40    }
41
42    fn cyan(&self) -> String {
43        format!("\x1b[36m{}\x1b[0m", self)
44    }
45
46    fn white(&self) -> String {
47        format!("\x1b[37m{}\x1b[0m", self)
48    }
49
50    fn bold(&self) -> String {
51        format!("\x1b[1m{}\x1b[0m", self)
52    }
53
54    fn underline(&self) -> String {
55        format!("\x1b[4m{}\x1b[0m", self)
56    }
57
58    fn normal(&self) -> String {
59        format!("\x1b[0m{}\x1b[0m", self)
60    }
61
62    fn bright_red(&self) -> String {
63        format!("\x1b[91m{}\x1b[0m", self)
64    }
65}