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