1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
use lazy_static::lazy_static;
use std::collections::HashMap;
#[derive(Clone)]
pub struct ANSICode {
pub open: u8,
pub close: u8,
}
lazy_static! {
pub static ref CODES: HashMap<&'static str, ANSICode> = {
let m: HashMap<&'static str, ANSICode> = [
("reset", ANSICode { open: 0, close: 0 }),
("foreground", ANSICode { open: 38, close: 39 }),
("background", ANSICode { open: 48, close: 49 }),
("bold", ANSICode { open: 1, close: 22 }),
("dim", ANSICode { open: 2, close: 22 }),
("italic", ANSICode { open: 3, close: 23 }),
("underline", ANSICode { open: 4, close: 24 }),
("inverse", ANSICode { open: 7, close: 27 }),
("hidden", ANSICode { open: 8, close: 28 }),
("strikethrough", ANSICode { open: 9, close: 29 }),
("black", ANSICode { open: 30, close: 39 }),
("red", ANSICode { open: 31, close: 39 }),
("green", ANSICode { open: 32, close: 39 }),
("yellow", ANSICode { open: 33, close: 39 }),
("blue", ANSICode { open: 34, close: 39 }),
("magenta", ANSICode { open: 35, close: 39 }),
("cyan", ANSICode { open: 36, close: 39 }),
("white", ANSICode { open: 37, close: 39 }),
("gray", ANSICode { open: 90, close: 39 }),
("bgBlack", ANSICode { open: 40, close: 49 }),
("bgRed", ANSICode { open: 41, close: 49 }),
("bgGreen", ANSICode { open: 42, close: 49 }),
("bgYellow", ANSICode { open: 43, close: 49 }),
("bgBlue", ANSICode { open: 44, close: 49 }),
("bgMagenta", ANSICode { open: 45, close: 49 }),
("bgCyan", ANSICode { open: 46, close: 49 }),
("bgWhite", ANSICode { open: 47, close: 49 }),
("redBright", ANSICode { open: 91, close: 39 }),
("greenBright", ANSICode { open: 92, close: 39 }),
("yellowBright", ANSICode { open: 93, close: 39 }),
("blueBright", ANSICode { open: 94, close: 39 }),
("magentaBright", ANSICode { open: 95, close: 39 }),
("cyanBright", ANSICode { open: 96, close: 39 }),
("whiteBright", ANSICode { open: 97, close: 39 }),
("bgBlackBright", ANSICode { open: 100, close: 49 }),
("bgRedBright", ANSICode { open: 101, close: 49 }),
("bgGreenBright", ANSICode { open: 102, close: 49 }),
("bgYellowBright", ANSICode { open: 103, close: 49 }),
("bgBlueBright", ANSICode { open: 104, close: 49 }),
("bgMagentaBright", ANSICode { open: 105, close: 49 }),
("bgCyanBright", ANSICode { open: 106, close: 49 }),
("bgWhiteBright", ANSICode { open: 107, close: 49 }),
].iter().cloned().collect();
m
};
}