1use std::collections::BTreeMap;
4
5use syntastica_core::{
6 style::{Color, Style},
7 theme::ResolvedTheme,
8};
9
10#[rustfmt::skip]
11pub fn dark() -> ResolvedTheme {
12 ResolvedTheme::new(BTreeMap::from([
13 ("_normal".into(), Style::new(Color::new(236, 225, 215), Some(Color::new(41, 37, 34)), false, false, false, false)),
14 ("attribute".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
15 ("attribute.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
16 ("boolean".into(), Style::new(Color::new(207, 155, 194), None, false, false, false, false)),
17 ("character".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
18 ("character.special".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
19 ("comment".into(), Style::new(Color::new(193, 167, 142), None, false, false, true, false)),
20 ("comment.documentation".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, false)),
21 ("comment.error".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
22 ("comment.note".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
23 ("comment.todo".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
24 ("comment.warning".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
25 ("constant".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
26 ("constant.builtin".into(), Style::new(Color::new(179, 128, 176), None, false, false, false, false)),
27 ("constant.macro".into(), Style::new(Color::new(179, 128, 176), None, false, false, false, false)),
28 ("constructor".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
29 ("function".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
30 ("function.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
31 ("function.macro".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
32 ("ibl.indent.char.1".into(), Style::new(Color::new(64, 58, 54), None, false, false, false, false)),
33 ("ibl.scope.char.1".into(), Style::new(Color::new(134, 116, 98), None, false, false, false, false)),
34 ("ibl.whitespace.char.1".into(), Style::new(Color::new(64, 58, 54), None, false, false, false, false)),
35 ("keyword".into(), Style::new(Color::new(228, 155, 93), None, false, false, false, false)),
36 ("keyword.directive".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
37 ("keyword.function".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
38 ("keyword.import".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
39 ("label".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
40 ("markup".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
41 ("markup.heading".into(), Style::new(Color::new(228, 155, 93), None, false, false, false, false)),
42 ("markup.heading.2".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
43 ("markup.heading.3".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
44 ("markup.heading.4".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
45 ("markup.link.url".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
46 ("markup.list".into(), Style::new(Color::new(139, 116, 73), None, false, false, false, false)),
47 ("markup.quote".into(), Style::new(Color::new(193, 167, 142), None, false, false, true, false)),
48 ("markup.raw".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, false)),
49 ("module".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
50 ("module.builtin".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
51 ("number".into(), Style::new(Color::new(207, 155, 194), None, false, false, false, false)),
52 ("number.float".into(), Style::new(Color::new(207, 155, 194), None, false, false, false, false)),
53 ("operator".into(), Style::new(Color::new(212, 119, 102), None, false, false, false, false)),
54 ("property".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
55 ("punctuation".into(), Style::new(Color::new(139, 116, 73), None, false, false, false, false)),
56 ("punctuation.delimiter".into(), Style::new(Color::new(189, 129, 131), None, false, false, false, false)),
57 ("punctuation.special".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
58 ("string".into(), Style::new(Color::new(163, 169, 206), None, false, false, true, false)),
59 ("string.documentation".into(), Style::new(Color::new(163, 169, 206), None, false, false, false, false)),
60 ("string.escape".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
61 ("string.regexp".into(), Style::new(Color::new(163, 169, 206), None, false, false, false, false)),
62 ("string.special".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
63 ("string.special.path".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
64 ("string.special.symbol".into(), Style::new(Color::new(236, 225, 215), None, false, false, true, false)),
65 ("string.special.url".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
66 ("tag".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
67 ("tag.attribute".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
68 ("tag.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
69 ("tag.delimiter".into(), Style::new(Color::new(139, 116, 73), None, false, false, false, false)),
70 ("type".into(), Style::new(Color::new(123, 150, 149), None, false, false, false, false)),
71 ("type.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
72 ("type.qualifier".into(), Style::new(Color::new(228, 155, 93), None, false, false, false, false)),
73 ("variable".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
74 ("variable.builtin".into(), Style::new(Color::new(236, 225, 215), None, false, false, true, false)),
75 ("variable.parameter.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
76 ]))
77}
78
79#[rustfmt::skip]
80pub fn light() -> ResolvedTheme {
81 ResolvedTheme::new(BTreeMap::from([
82 ("_normal".into(), Style::new(Color::new(84, 67, 58), Some(Color::new(241, 241, 241)), false, false, false, false)),
83 ("attribute".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
84 ("attribute.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
85 ("boolean".into(), Style::new(Color::new(144, 65, 128), None, false, false, false, false)),
86 ("character".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
87 ("character.special".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
88 ("comment".into(), Style::new(Color::new(125, 102, 88), None, false, false, true, false)),
89 ("comment.documentation".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, false)),
90 ("comment.error".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
91 ("comment.note".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
92 ("comment.todo".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
93 ("comment.warning".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
94 ("constant".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
95 ("constant.builtin".into(), Style::new(Color::new(190, 121, 187), None, false, false, false, false)),
96 ("constant.macro".into(), Style::new(Color::new(190, 121, 187), None, false, false, false, false)),
97 ("constructor".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
98 ("function".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
99 ("function.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
100 ("function.macro".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
101 ("ibl.indent.char.1".into(), Style::new(Color::new(217, 211, 206), None, false, false, false, false)),
102 ("ibl.scope.char.1".into(), Style::new(Color::new(169, 138, 120), None, false, false, false, false)),
103 ("ibl.whitespace.char.1".into(), Style::new(Color::new(217, 211, 206), None, false, false, false, false)),
104 ("keyword".into(), Style::new(Color::new(188, 92, 0), None, false, false, false, false)),
105 ("keyword.directive".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
106 ("keyword.function".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
107 ("keyword.import".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
108 ("label".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
109 ("markup".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
110 ("markup.heading".into(), Style::new(Color::new(188, 92, 0), None, false, false, false, false)),
111 ("markup.heading.2".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
112 ("markup.heading.3".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
113 ("markup.heading.4".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
114 ("markup.link.url".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
115 ("markup.list".into(), Style::new(Color::new(204, 164, 120), None, false, false, false, false)),
116 ("markup.quote".into(), Style::new(Color::new(125, 102, 88), None, false, false, true, false)),
117 ("markup.raw".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, false)),
118 ("module".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
119 ("module.builtin".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
120 ("number".into(), Style::new(Color::new(144, 65, 128), None, false, false, false, false)),
121 ("number.float".into(), Style::new(Color::new(144, 65, 128), None, false, false, false, false)),
122 ("operator".into(), Style::new(Color::new(191, 0, 33), None, false, false, false, false)),
123 ("property".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
124 ("punctuation".into(), Style::new(Color::new(204, 164, 120), None, false, false, false, false)),
125 ("punctuation.delimiter".into(), Style::new(Color::new(199, 123, 139), None, false, false, false, false)),
126 ("punctuation.special".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
127 ("string".into(), Style::new(Color::new(70, 90, 164), None, false, false, true, false)),
128 ("string.documentation".into(), Style::new(Color::new(70, 90, 164), None, false, false, false, false)),
129 ("string.escape".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
130 ("string.regexp".into(), Style::new(Color::new(70, 90, 164), None, false, false, false, false)),
131 ("string.special".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
132 ("string.special.path".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
133 ("string.special.symbol".into(), Style::new(Color::new(84, 67, 58), None, false, false, true, false)),
134 ("string.special.url".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
135 ("tag".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
136 ("tag.attribute".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
137 ("tag.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
138 ("tag.delimiter".into(), Style::new(Color::new(204, 164, 120), None, false, false, false, false)),
139 ("type".into(), Style::new(Color::new(115, 151, 151), None, false, false, false, false)),
140 ("type.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
141 ("type.qualifier".into(), Style::new(Color::new(188, 92, 0), None, false, false, false, false)),
142 ("variable".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
143 ("variable.builtin".into(), Style::new(Color::new(84, 67, 58), None, false, false, true, false)),
144 ("variable.parameter.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
145 ]))
146}