sty/
style.rs

1// fn apply_style(start: usize, end: usize) -> impl Fn(&str) -> String {
2//     move |s| format!("\x1b[{}m{}\x1b[{}m", start, s, end,)
3// }
4fn apply_style(s: &str, start: usize, end: usize) -> String {
5    format!("\x1b[{}m{}\x1b[{}m", start, s, end)
6}
7
8pub fn reset(s: &str) -> String {
9    apply_style(s, 0, 0)
10}
11pub fn bold(s: &str) -> String {
12    apply_style(s, 1, 22)
13}
14pub fn dim(s: &str) -> String {
15    apply_style(s, 2, 22)
16}
17pub fn italic(s: &str) -> String {
18    apply_style(s, 3, 23)
19}
20pub fn underline(s: &str) -> String {
21    apply_style(s, 4, 24)
22}
23pub fn overline(s: &str) -> String {
24    apply_style(s, 53, 55)
25}
26pub fn inverse(s: &str) -> String {
27    apply_style(s, 7, 27)
28}
29pub fn hidden(s: &str) -> String {
30    apply_style(s, 8, 28)
31}
32pub fn strikethrough(s: &str) -> String {
33    apply_style(s, 9, 29)
34}
35
36pub fn black(s: &str) -> String {
37    apply_style(s, 30, 39)
38}
39pub fn red(s: &str) -> String {
40    apply_style(s, 31, 39)
41}
42pub fn green(s: &str) -> String {
43    apply_style(s, 32, 39)
44}
45pub fn yellow(s: &str) -> String {
46    apply_style(s, 33, 39)
47}
48pub fn blue(s: &str) -> String {
49    apply_style(s, 34, 39)
50}
51pub fn magenta(s: &str) -> String {
52    apply_style(s, 35, 39)
53}
54pub fn cyan(s: &str) -> String {
55    apply_style(s, 36, 39)
56}
57pub fn white(s: &str) -> String {
58    apply_style(s, 37, 39)
59}
60pub fn gray(s: &str) -> String {
61    apply_style(s, 90, 39)
62}
63
64pub fn bg_black(s: &str) -> String {
65    apply_style(s, 40, 49)
66}
67pub fn bg_red(s: &str) -> String {
68    apply_style(s, 41, 49)
69}
70pub fn bg_green(s: &str) -> String {
71    apply_style(s, 42, 49)
72}
73pub fn bg_yellow(s: &str) -> String {
74    apply_style(s, 43, 49)
75}
76pub fn bg_blue(s: &str) -> String {
77    apply_style(s, 44, 49)
78}
79pub fn bg_magenta(s: &str) -> String {
80    apply_style(s, 45, 49)
81}
82pub fn bg_cyan(s: &str) -> String {
83    apply_style(s, 46, 49)
84}
85pub fn bg_white(s: &str) -> String {
86    apply_style(s, 47, 49)
87}
88pub fn bg_gray(s: &str) -> String {
89    apply_style(s, 100, 49)
90}
91
92pub fn red_bright(s: &str) -> String {
93    apply_style(s, 91, 39)
94}
95pub fn green_bright(s: &str) -> String {
96    apply_style(s, 92, 39)
97}
98pub fn yellow_bright(s: &str) -> String {
99    apply_style(s, 93, 39)
100}
101pub fn blue_bright(s: &str) -> String {
102    apply_style(s, 94, 39)
103}
104pub fn magenta_bright(s: &str) -> String {
105    apply_style(s, 95, 39)
106}
107pub fn cyan_bright(s: &str) -> String {
108    apply_style(s, 96, 39)
109}
110pub fn white_bright(s: &str) -> String {
111    apply_style(s, 97, 39)
112}
113
114pub fn bg_red_bright(s: &str) -> String {
115    apply_style(s, 101, 49)
116}
117pub fn bg_green_bright(s: &str) -> String {
118    apply_style(s, 102, 49)
119}
120pub fn bg_yellow_bright(s: &str) -> String {
121    apply_style(s, 103, 49)
122}
123pub fn bg_blue_bright(s: &str) -> String {
124    apply_style(s, 104, 49)
125}
126pub fn bg_magenta_bright(s: &str) -> String {
127    apply_style(s, 105, 49)
128}
129pub fn bg_cyan_bright(s: &str) -> String {
130    apply_style(s, 106, 49)
131}
132pub fn bg_white_bright(s: &str) -> String {
133    apply_style(s, 107, 49)
134}