1use crate::codes;
18
19pub use self::colours as colors;
21
22pub const SEQ_PREFIX: &str = "\u{1B}[";
24pub const SEQ_POSTFIX: &str = "m";
26
27pub const RESET: &str = codes!(0);
29
30pub mod effects {
32 use super::codes;
33
34 pub const NORMAL: &str = super::RESET;
36 pub const BOLD: &str = codes!(1);
38 pub const DIM: &str = codes!(2);
40 pub const ITALIC: &str = codes!(3);
42 pub const UNDERLINE: &str = codes!(4);
44 pub const BLINK: &str = codes!(5);
46 pub const RAPID_BLINK: &str = codes!(6);
48 pub const INVERSE: &str = codes!(7);
50 pub const INVISIBLE: &str = codes!(8);
52 pub const STRIKE: &str = codes!(9);
54
55 pub const FRAKTUR: &str = codes!(20);
59 pub const DBL_UNDERLINE: &str = codes!(21);
61
62 pub const STEADY: &str = remove::BLINK;
64 pub const POSITIVE: &str = remove::INVISIBLE;
66 pub const VISIBLE: &str = remove::INVISIBLE;
68
69 pub mod remove {
71 use super::codes;
72
73 pub const BOLD_DIM: &str = codes!(22);
75 pub const ITALIC: &str = codes!(23);
77 pub const UNDERLINE: &str = codes!(24);
79 pub const BLINK: &str = codes!(25);
81 pub const INVERSE: &str = codes!(27);
84 pub const INVISIBLE: &str = codes!(28);
86 pub const STRIKE: &str = codes!(29);
88
89 pub const INTENSITY: &str = BOLD_DIM;
91 }
92}
93
94pub mod fonts {
96 use super::codes;
97
98 pub const DEFAULT: &str = codes!(10);
100 pub const ALT1: &str = codes!(11);
102 pub const ALT2: &str = codes!(12);
104 pub const ALT3: &str = codes!(13);
106 pub const ALT4: &str = codes!(14);
108 pub const ALT5: &str = codes!(15);
110 pub const ALT6: &str = codes!(16);
112 pub const ALT7: &str = codes!(17);
114 pub const ALT8: &str = codes!(18);
116 pub const ALT9: &str = codes!(19);
118}
119
120pub mod colours {
122 use super::codes;
123
124 pub const RESET: &str = codes!(39, 49);
126 pub const RESET_FG: &str = fg::RESET;
128 pub const RESET_BG: &str = bg::RESET;
130
131 pub mod fg {
133 use super::codes;
134
135 pub const BLACK: &str = codes!(30);
136 pub const RED: &str = codes!(31);
137 pub const GREEN: &str = codes!(32);
138 pub const YELLOW: &str = codes!(33);
139 pub const BLUE: &str = codes!(34);
140 pub const MAGENTA: &str = codes!(35);
141 pub const CYAN: &str = codes!(36);
142 pub const WHITE: &str = codes!(37);
143
144 pub const RESET: &str = codes!(39);
146
147 pub mod bright {
149 use super::codes;
150
151 pub const BLACK: &str = codes!(90);
152 pub const RED: &str = codes!(91);
153 pub const GREEN: &str = codes!(92);
154 pub const YELLOW: &str = codes!(93);
155 pub const BLUE: &str = codes!(94);
156 pub const MAGENTA: &str = codes!(95);
157 pub const CYAN: &str = codes!(96);
158 pub const WHITE: &str = codes!(97);
159 }
160 }
161
162 pub mod bg {
164 use super::codes;
165
166 pub const BLACK: &str = codes!(40);
167 pub const RED: &str = codes!(41);
168 pub const GREEN: &str = codes!(42);
169 pub const YELLOW: &str = codes!(43);
170 pub const BLUE: &str = codes!(44);
171 pub const MAGENTA: &str = codes!(45);
172 pub const CYAN: &str = codes!(46);
173 pub const WHITE: &str = codes!(47);
174
175 pub const RESET: &str = codes!(49);
177
178 pub mod bright {
180 use super::codes;
181
182 pub const BLACK: &str = codes!(100);
183 pub const RED: &str = codes!(101);
184 pub const GREEN: &str = codes!(102);
185 pub const YELLOW: &str = codes!(103);
186 pub const BLUE: &str = codes!(104);
187 pub const MAGENTA: &str = codes!(105);
188 pub const CYAN: &str = codes!(106);
189 pub const WHITE: &str = codes!(107);
190 }
191 }
192}
193
194pub mod misc {
196 use super::codes;
197
198 pub const FRAMED: &str = codes!(51);
200 pub const ENCIRCLED: &str = codes!(52);
202 pub const OVERLINED: &str = codes!(53);
204
205 pub mod remove {
207 use super::codes;
208
209 pub const FRAMED_ENCIRCLED: &str = codes!(54);
211 pub const OVERLINED: &str = codes!(55);
213 }
214
215 pub mod ideogram {
217 use super::codes;
218
219 pub const UNDERLINE: &str = codes!(60);
221 pub const DBL_UNDERLINE: &str = codes!(61);
223 pub const OVERLINE: &str = codes!(62);
225 pub const DBL_OVERLINE: &str = codes!(63);
227 pub const STRESS_MARKING: &str = codes!(64);
229 pub const RESET: &str = codes!(65);
231 }
232}
233
234pub mod combinations {
236 use super::codes;
237
238 pub mod fg_bold {
240 use super::*;
241
242 pub const BLACK: &str = codes!(30,1);
243 pub const RED: &str = codes!(31,1);
244 pub const GREEN: &str = codes!(32,1);
245 pub const YELLOW: &str = codes!(33,1);
246 pub const BLUE: &str = codes!(34,1);
247 pub const MAGENTA: &str = codes!(35,1);
248 pub const CYAN: &str = codes!(36,1);
249 pub const WHITE: &str = codes!(37,1);
250 }
251}