syntastica_themes/
vscode.rs

1//! The 'vscode' theme collection in this module was extracted from <https://github.com/Mofiqul/vscode.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(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}