1pub struct ANSI {
8 pub prefix: &'static str,
9 pub suffix: &'static str,
10}
11
12pub const RED: ANSI = ANSI { prefix: "\x1b[31m", suffix: "\x1b[0m" };
14pub const GREEN: ANSI = ANSI { prefix: "\x1b[32m", suffix: "\x1b[0m" };
15pub const YELLOW: ANSI = ANSI { prefix: "\x1b[33m", suffix: "\x1b[0m" };
16pub const BLUE: ANSI = ANSI { prefix: "\x1b[34m", suffix: "\x1b[0m" };
17pub const MAGENTA: ANSI = ANSI { prefix: "\x1b[35m", suffix: "\x1b[0m" };
18pub const CYAN: ANSI = ANSI { prefix: "\x1b[36m", suffix: "\x1b[0m" };
19
20pub const BOLD_RED: ANSI = ANSI { prefix: "\x1b[1m\x1b[31m", suffix: "\x1b[0m" };
22pub const BOLD_GREEN: ANSI = ANSI { prefix: "\x1b[1m\x1b[32m", suffix: "\x1b[0m" };
23pub const BOLD_YELLOW: ANSI = ANSI { prefix: "\x1b[1m\x1b[33m", suffix: "\x1b[0m" };
24pub const BOLD_BLUE: ANSI = ANSI { prefix: "\x1b[1m\x1b[34m", suffix: "\x1b[0m" };
25pub const BOLD_MAGENTA: ANSI = ANSI { prefix: "\x1b[1m\x1b[35m", suffix: "\x1b[0m" };
26pub const BOLD_CYAN: ANSI = ANSI { prefix: "\x1b[1m\x1b[36m", suffix: "\x1b[0m" };
27
28pub const DARK_RED: ANSI = ANSI { prefix: "\x1b[91m", suffix: "\x1b[0m" };
30pub const DARK_GREEN: ANSI = ANSI { prefix: "\x1b[92m", suffix: "\x1b[0m" };
31pub const DARK_YELLOW: ANSI = ANSI { prefix: "\x1b[93m", suffix: "\x1b[0m" };
32pub const DARK_BLUE: ANSI = ANSI { prefix: "\x1b[94m", suffix: "\x1b[0m" };
33pub const DARK_MAGENTA: ANSI = ANSI { prefix: "\x1b[95m", suffix: "\x1b[0m" };
34pub const DARK_CYAN: ANSI = ANSI { prefix: "\x1b[96m", suffix: "\x1b[0m" };
35
36pub const BOLD_DARK_RED: ANSI = ANSI { prefix: "\x1b[1m\x1b[91m", suffix: "\x1b[0m" };
38pub const BOLD_DARK_GREEN: ANSI = ANSI { prefix: "\x1b[1m\x1b[92m", suffix: "\x1b[0m" };
39pub const BOLD_DARK_YELLOW: ANSI = ANSI { prefix: "\x1b[1m\x1b[93m", suffix: "\x1b[0m" };
40pub const BOLD_DARK_BLUE: ANSI = ANSI { prefix: "\x1b[1m\x1b[94m", suffix: "\x1b[0m" };
41pub const BOLD_DARK_MAGENTA: ANSI = ANSI { prefix: "\x1b[1m\x1b[95m", suffix: "\x1b[0m" };
42pub const BOLD_DARK_CYAN: ANSI = ANSI { prefix: "\x1b[1m\x1b[96m", suffix: "\x1b[0m" };
43
44pub const BG_RED: ANSI = ANSI { prefix: "\x1b[41m", suffix: "\x1b[0m" };
46pub const BG_GREEN: ANSI = ANSI { prefix: "\x1b[42m", suffix: "\x1b[0m" };
47pub const BG_YELLOW: ANSI = ANSI { prefix: "\x1b[43m", suffix: "\x1b[0m" };
48pub const BG_BLUE: ANSI = ANSI { prefix: "\x1b[44m", suffix: "\x1b[0m" };
49pub const BG_MAGENTA: ANSI = ANSI { prefix: "\x1b[45m", suffix: "\x1b[0m" };
50pub const BG_CYAN: ANSI = ANSI { prefix: "\x1b[46m", suffix: "\x1b[0m" };
51
52pub const BOLD_BG_RED: ANSI = ANSI { prefix: "\x1b[1m\x1b[41m", suffix: "\x1b[0m" };
54pub const BOLD_BG_GREEN: ANSI = ANSI { prefix: "\x1b[1m\x1b[42m", suffix: "\x1b[0m" };
55pub const BOLD_BG_YELLOW: ANSI = ANSI { prefix: "\x1b[1m\x1b[43m", suffix: "\x1b[0m" };
56pub const BOLD_BG_BLUE: ANSI = ANSI { prefix: "\x1b[1m\x1b[44m", suffix: "\x1b[0m" };
57pub const BOLD_BG_MAGENTA: ANSI = ANSI { prefix: "\x1b[1m\x1b[45m", suffix: "\x1b[0m" };
58pub const BOLD_BG_CYAN: ANSI = ANSI { prefix: "\x1b[1m\x1b[46m", suffix: "\x1b[0m" };
59
60pub const BG_DARK_RED: ANSI = ANSI { prefix: "\x1b[101m", suffix: "\x1b[0m" };
62pub const BG_DARK_GREEN: ANSI = ANSI { prefix: "\x1b[102m", suffix: "\x1b[0m" };
63pub const BG_DARK_YELLOW: ANSI = ANSI { prefix: "\x1b[103m", suffix: "\x1b[0m" };
64pub const BG_DARK_BLUE: ANSI = ANSI { prefix: "\x1b[104m", suffix: "\x1b[0m" };
65pub const BG_DARK_MAGENTA: ANSI = ANSI { prefix: "\x1b[105m", suffix: "\x1b[0m" };
66pub const BG_DARK_CYAN: ANSI = ANSI { prefix: "\x1b[106m", suffix: "\x1b[0m" };
67
68pub const BOLD_BG_DARK_RED: ANSI = ANSI { prefix: "\x1b[1m\x1b[101m", suffix: "\x1b[0m" };
70pub const BOLD_BG_DARK_GREEN: ANSI = ANSI { prefix: "\x1b[1m\x1b[102m", suffix: "\x1b[0m" };
71pub const BOLD_BG_DARK_YELLOW: ANSI = ANSI { prefix: "\x1b[1m\x1b[103m", suffix: "\x1b[0m" };
72pub const BOLD_BG_DARK_BLUE: ANSI = ANSI { prefix: "\x1b[1m\x1b[104m", suffix: "\x1b[0m" };
73pub const BOLD_BG_DARK_MAGENTA: ANSI = ANSI { prefix: "\x1b[1m\x1b[105m", suffix: "\x1b[0m" };
74pub const BOLD_BG_DARK_CYAN: ANSI = ANSI { prefix: "\x1b[1m\x1b[106m", suffix: "\x1b[0m" };