helix_db/utils/
styled_string.rs1#[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}