1use crate::Palette;
2use ratatui::style::Color;
3
4const DARKNESS: u8 = 63;
9
10pub const BASE16: Palette = Palette {
11 primary: fillin(0x00aa00, DARKNESS),
12 secondary: fillin(0x00aaaa, DARKNESS),
13
14 white: [
15 Color::Rgb(0xaa, 0xaa, 0xaa),
16 Color::Rgb(0xaa, 0xaa, 0xaa),
17 Color::Rgb(0xff, 0xff, 0xff),
18 Color::Rgb(0xff, 0xff, 0xff),
19 Color::Rgb(0xaa, 0xaa, 0xaa),
20 Color::Rgb(0xaa, 0xaa, 0xaa),
21 Color::Rgb(0xff, 0xff, 0xff),
22 Color::Rgb(0xff, 0xff, 0xff),
23 ],
24 gray: [
25 Color::Rgb(0x55, 0x55, 0x55),
26 Color::Rgb(0x55, 0x55, 0x55),
27 Color::Rgb(0xaa, 0xaa, 0xaa),
28 Color::Rgb(0xaa, 0xaa, 0xaa),
29 Color::Rgb(0x55, 0x55, 0x55),
30 Color::Rgb(0x55, 0x55, 0x55),
31 Color::Rgb(0xaa, 0xaa, 0xaa),
32 Color::Rgb(0xaa, 0xaa, 0xaa),
33 ],
34 black: [
35 Color::Rgb(0x00, 0x00, 0x00),
36 Color::Rgb(0x00, 0x00, 0x00),
37 Color::Rgb(0x55, 0x55, 0x55),
38 Color::Rgb(0x55, 0x55, 0x55),
39 Color::Rgb(0x00, 0x00, 0x00),
40 Color::Rgb(0x00, 0x00, 0x00),
41 Color::Rgb(0x55, 0x55, 0x55),
42 Color::Rgb(0x55, 0x55, 0x55),
43 ],
44
45 red: fillin(0xaa0000, DARKNESS),
46 orange: fillin(0xaa5500, DARKNESS),
47 yellow: fillin(0xffff55, DARKNESS),
48 limegreen: fillin(0x55ff55, DARKNESS),
49 green: fillin(0x00aa00, DARKNESS),
50 bluegreen: fillin(0x55ffff, DARKNESS),
51 cyan: fillin(0x00aaaa, DARKNESS),
52 blue: fillin(0x5555ff, DARKNESS),
53 deepblue: fillin(0x0000af, DARKNESS),
54 purple: fillin(0xaa00aa, DARKNESS),
55 magenta: fillin(0xff55ff, DARKNESS),
56 redpink: fillin(0xff5555, DARKNESS),
57};
58
59const fn fillin(c0: u32, dark_scale_to: u8) -> [Color; 8] {
60 let r0 = (c0 >> 16) as u8;
61 let g0 = (c0 >> 8) as u8;
62 let b0 = c0 as u8;
63
64 let r4 = Palette::scale_to(r0, dark_scale_to);
66 let g4 = Palette::scale_to(g0, dark_scale_to);
67 let b4 = Palette::scale_to(b0, dark_scale_to);
68
69 [
70 Color::Rgb(r0, g0, b0),
71 Color::Rgb(r0, g0, b0),
72 Color::Rgb(r0, g0, b0),
73 Color::Rgb(r0, g0, b0),
74 Color::Rgb(r4, g4, b4),
75 Color::Rgb(r4, g4, b4),
76 Color::Rgb(r4, g4, b4),
77 Color::Rgb(r4, g4, b4),
78 ]
79}