syntastica_themes/
gruvbox.rs

1//! The 'gruvbox' theme collection in this module was extracted from <https://github.com/ellisonleao/gruvbox.nvim> using `auto_extract.py`.
2
3use 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}