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(235, 219, 178), Some(Color::new(40, 40, 40)), false, false, false, false)),
14 ("attribute".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
15 ("attribute.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
16 ("boolean".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
17 ("character".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
18 ("character.special".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
19 ("comment".into(), Style::new(Color::new(146, 131, 116), None, false, false, true, false)),
20 ("comment.error".into(), Style::new(Color::new(40, 40, 40), Some(Color::new(251, 73, 52)), false, false, false, true)),
21 ("comment.note".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
22 ("comment.todo".into(), Style::new(Color::new(40, 40, 40), Some(Color::new(250, 189, 47)), false, false, true, true)),
23 ("comment.warning".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, true)),
24 ("conditional".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
25 ("constant".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
26 ("constant.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
27 ("constant.macro".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
28 ("constructor".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
29 ("debug".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
30 ("define".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
31 ("exception".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
32 ("field".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
33 ("float".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
34 ("function".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
35 ("function.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
36 ("function.call".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
37 ("function.macro".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
38 ("function.method".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
39 ("ibl.indent.char.1".into(), Style::new(Color::new(80, 73, 69), None, false, false, false, false)),
40 ("ibl.scope.char.1".into(), Style::new(Color::new(124, 111, 100), None, false, false, false, false)),
41 ("ibl.whitespace.char.1".into(), Style::new(Color::new(80, 73, 69), None, false, false, false, false)),
42 ("include".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
43 ("keyword".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
44 ("keyword.conditional".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
45 ("keyword.debug".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
46 ("keyword.directive".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
47 ("keyword.directive.define".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
48 ("keyword.exception".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
49 ("keyword.function".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
50 ("keyword.import".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
51 ("keyword.operator".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
52 ("keyword.repeat".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
53 ("keyword.return".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
54 ("keyword.storage".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
55 ("label".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
56 ("macro".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
57 ("markup".into(), Style::new(Color::new(235, 219, 178), None, false, false, false, false)),
58 ("markup.environment".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
59 ("markup.environment.name".into(), Style::new(Color::new(250, 189, 47), None, false, false, false, false)),
60 ("markup.heading".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
61 ("markup.link".into(), Style::new(Color::new(131, 165, 152), None, true, false, false, false)),
62 ("markup.link.label".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
63 ("markup.list".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
64 ("markup.list.checked".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, false)),
65 ("markup.list.unchecked".into(), Style::new(Color::new(146, 131, 116), None, false, false, false, false)),
66 ("markup.math".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
67 ("markup.raw".into(), Style::new(Color::new(184, 187, 38), None, false, false, true, false)),
68 ("method".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
69 ("method.call".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
70 ("module".into(), Style::new(Color::new(235, 219, 178), None, false, false, false, false)),
71 ("module.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
72 ("namespace".into(), Style::new(Color::new(235, 219, 178), None, false, false, false, false)),
73 ("number".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
74 ("number.float".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
75 ("operator".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
76 ("parameter".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
77 ("preproc".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
78 ("property".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
79 ("punctuation".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
80 ("punctuation.bracket".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
81 ("punctuation.delimiter".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
82 ("punctuation.special".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
83 ("repeat".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, false)),
84 ("storageclass".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
85 ("string".into(), Style::new(Color::new(184, 187, 38), None, false, false, true, false)),
86 ("string.escape".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
87 ("string.regex".into(), Style::new(Color::new(184, 187, 38), None, false, false, true, false)),
88 ("string.regexp".into(), Style::new(Color::new(184, 187, 38), None, false, false, true, false)),
89 ("string.special".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
90 ("string.special.path".into(), Style::new(Color::new(131, 165, 152), None, true, false, false, false)),
91 ("string.special.symbol".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
92 ("string.special.url".into(), Style::new(Color::new(131, 165, 152), None, true, false, false, false)),
93 ("structure".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
94 ("symbol".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
95 ("tag".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
96 ("tag.attribute".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
97 ("tag.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
98 ("tag.delimiter".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
99 ("text".into(), Style::new(Color::new(235, 219, 178), None, false, false, false, false)),
100 ("text.danger".into(), Style::new(Color::new(40, 40, 40), Some(Color::new(251, 73, 52)), false, false, false, true)),
101 ("text.danger.comment".into(), Style::new(Color::new(251, 241, 199), Some(Color::new(251, 73, 52)), false, false, false, true)),
102 ("text.environment".into(), Style::new(Color::new(142, 192, 124), None, false, false, false, false)),
103 ("text.environment.name".into(), Style::new(Color::new(250, 189, 47), None, false, false, false, false)),
104 ("text.literal".into(), Style::new(Color::new(184, 187, 38), None, false, false, true, false)),
105 ("text.math".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
106 ("text.note".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
107 ("text.note.comment".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, true)),
108 ("text.reference".into(), Style::new(Color::new(211, 134, 155), None, false, false, false, false)),
109 ("text.title".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, true)),
110 ("text.todo".into(), Style::new(Color::new(40, 40, 40), Some(Color::new(250, 189, 47)), false, false, true, true)),
111 ("text.todo.checked".into(), Style::new(Color::new(184, 187, 38), None, false, false, false, false)),
112 ("text.todo.unchecked".into(), Style::new(Color::new(146, 131, 116), None, false, false, false, false)),
113 ("text.uri".into(), Style::new(Color::new(131, 165, 152), None, true, false, false, false)),
114 ("text.warning".into(), Style::new(Color::new(251, 73, 52), None, false, false, false, true)),
115 ("type".into(), Style::new(Color::new(250, 189, 47), None, false, false, false, false)),
116 ("type.builtin".into(), Style::new(Color::new(250, 189, 47), None, false, false, false, false)),
117 ("type.definition".into(), Style::new(Color::new(250, 189, 47), None, false, false, false, false)),
118 ("type.qualifier".into(), Style::new(Color::new(250, 189, 47), None, false, false, false, false)),
119 ("variable".into(), Style::new(Color::new(235, 219, 178), None, false, false, false, false)),
120 ("variable.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
121 ("variable.member".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
122 ("variable.parameter".into(), Style::new(Color::new(131, 165, 152), None, false, false, false, false)),
123 ("variable.parameter.builtin".into(), Style::new(Color::new(254, 128, 25), None, false, false, false, false)),
124 ]))
125}
126
127#[rustfmt::skip]
128pub fn light() -> ResolvedTheme {
129 ResolvedTheme::new(BTreeMap::from([
130 ("_normal".into(), Style::new(Color::new(60, 56, 54), Some(Color::new(251, 241, 199)), false, false, false, false)),
131 ("attribute".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
132 ("attribute.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
133 ("boolean".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
134 ("character".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
135 ("character.special".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
136 ("comment".into(), Style::new(Color::new(146, 131, 116), None, false, false, true, false)),
137 ("comment.error".into(), Style::new(Color::new(251, 241, 199), Some(Color::new(157, 0, 6)), false, false, false, true)),
138 ("comment.note".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
139 ("comment.todo".into(), Style::new(Color::new(251, 241, 199), Some(Color::new(181, 118, 20)), false, false, true, true)),
140 ("comment.warning".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, true)),
141 ("conditional".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
142 ("constant".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
143 ("constant.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
144 ("constant.macro".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
145 ("constructor".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
146 ("debug".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
147 ("define".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
148 ("exception".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
149 ("field".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
150 ("float".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
151 ("function".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
152 ("function.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
153 ("function.call".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
154 ("function.macro".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
155 ("function.method".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
156 ("ibl.indent.char.1".into(), Style::new(Color::new(213, 196, 161), None, false, false, false, false)),
157 ("ibl.scope.char.1".into(), Style::new(Color::new(168, 153, 132), None, false, false, false, false)),
158 ("ibl.whitespace.char.1".into(), Style::new(Color::new(213, 196, 161), None, false, false, false, false)),
159 ("include".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
160 ("keyword".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
161 ("keyword.conditional".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
162 ("keyword.debug".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
163 ("keyword.directive".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
164 ("keyword.directive.define".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
165 ("keyword.exception".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
166 ("keyword.function".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
167 ("keyword.import".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
168 ("keyword.operator".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
169 ("keyword.repeat".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
170 ("keyword.return".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
171 ("keyword.storage".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
172 ("label".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
173 ("macro".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
174 ("markup".into(), Style::new(Color::new(60, 56, 54), None, false, false, false, false)),
175 ("markup.environment".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
176 ("markup.environment.name".into(), Style::new(Color::new(181, 118, 20), None, false, false, false, false)),
177 ("markup.heading".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
178 ("markup.link".into(), Style::new(Color::new(7, 102, 120), None, true, false, false, false)),
179 ("markup.link.label".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
180 ("markup.list".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
181 ("markup.list.checked".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, false)),
182 ("markup.list.unchecked".into(), Style::new(Color::new(146, 131, 116), None, false, false, false, false)),
183 ("markup.math".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
184 ("markup.raw".into(), Style::new(Color::new(121, 116, 14), None, false, false, true, false)),
185 ("method".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
186 ("method.call".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
187 ("module".into(), Style::new(Color::new(60, 56, 54), None, false, false, false, false)),
188 ("module.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
189 ("namespace".into(), Style::new(Color::new(60, 56, 54), None, false, false, false, false)),
190 ("number".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
191 ("number.float".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
192 ("operator".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
193 ("parameter".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
194 ("preproc".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
195 ("property".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
196 ("punctuation".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
197 ("punctuation.bracket".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
198 ("punctuation.delimiter".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
199 ("punctuation.special".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
200 ("repeat".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, false)),
201 ("storageclass".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
202 ("string".into(), Style::new(Color::new(121, 116, 14), None, false, false, true, false)),
203 ("string.escape".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
204 ("string.regex".into(), Style::new(Color::new(121, 116, 14), None, false, false, true, false)),
205 ("string.regexp".into(), Style::new(Color::new(121, 116, 14), None, false, false, true, false)),
206 ("string.special".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
207 ("string.special.path".into(), Style::new(Color::new(7, 102, 120), None, true, false, false, false)),
208 ("string.special.symbol".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
209 ("string.special.url".into(), Style::new(Color::new(7, 102, 120), None, true, false, false, false)),
210 ("structure".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
211 ("symbol".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
212 ("tag".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
213 ("tag.attribute".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
214 ("tag.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
215 ("tag.delimiter".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
216 ("text".into(), Style::new(Color::new(60, 56, 54), None, false, false, false, false)),
217 ("text.danger".into(), Style::new(Color::new(251, 241, 199), Some(Color::new(157, 0, 6)), false, false, false, true)),
218 ("text.danger.comment".into(), Style::new(Color::new(40, 40, 40), Some(Color::new(157, 0, 6)), false, false, false, true)),
219 ("text.environment".into(), Style::new(Color::new(66, 123, 88), None, false, false, false, false)),
220 ("text.environment.name".into(), Style::new(Color::new(181, 118, 20), None, false, false, false, false)),
221 ("text.literal".into(), Style::new(Color::new(121, 116, 14), None, false, false, true, false)),
222 ("text.math".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
223 ("text.note".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
224 ("text.note.comment".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, true)),
225 ("text.reference".into(), Style::new(Color::new(143, 63, 113), None, false, false, false, false)),
226 ("text.title".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, true)),
227 ("text.todo".into(), Style::new(Color::new(251, 241, 199), Some(Color::new(181, 118, 20)), false, false, true, true)),
228 ("text.todo.checked".into(), Style::new(Color::new(121, 116, 14), None, false, false, false, false)),
229 ("text.todo.unchecked".into(), Style::new(Color::new(146, 131, 116), None, false, false, false, false)),
230 ("text.uri".into(), Style::new(Color::new(7, 102, 120), None, true, false, false, false)),
231 ("text.warning".into(), Style::new(Color::new(157, 0, 6), None, false, false, false, true)),
232 ("type".into(), Style::new(Color::new(181, 118, 20), None, false, false, false, false)),
233 ("type.builtin".into(), Style::new(Color::new(181, 118, 20), None, false, false, false, false)),
234 ("type.definition".into(), Style::new(Color::new(181, 118, 20), None, false, false, false, false)),
235 ("type.qualifier".into(), Style::new(Color::new(181, 118, 20), None, false, false, false, false)),
236 ("variable".into(), Style::new(Color::new(60, 56, 54), None, false, false, false, false)),
237 ("variable.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
238 ("variable.member".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
239 ("variable.parameter".into(), Style::new(Color::new(7, 102, 120), None, false, false, false, false)),
240 ("variable.parameter.builtin".into(), Style::new(Color::new(175, 58, 3), None, false, false, false, false)),
241 ]))
242}