1use std::collections::BTreeMap;
4
5use syntastica_core::{
6 style::{Color, Style},
7 theme::ResolvedTheme,
8};
9
10#[rustfmt::skip]
11pub fn default() -> ResolvedTheme {
12 ResolvedTheme::new(BTreeMap::from([
13 ("_normal".into(), Style::new(Color::new(197, 205, 217), Some(Color::new(43, 45, 55)), false, false, false, false)),
14 ("attribute".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
15 ("attribute.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
16 ("character".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
17 ("character.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
18 ("comment".into(), Style::new(Color::new(126, 130, 148), None, false, false, true, false)),
19 ("comment.error".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
20 ("comment.note".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
21 ("comment.todo".into(), Style::new(Color::new(77, 181, 189), None, false, false, true, true)),
22 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
23 ("constant".into(), Style::new(Color::new(169, 161, 225), None, false, false, false, false)),
24 ("constant.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
25 ("constructor".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
26 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
27 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
28 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
29 ("function".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
30 ("function.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
31 ("ibl.indent.char.1".into(), Style::new(Color::new(58, 62, 78), None, false, false, false, false)),
32 ("ibl.scope.char.1".into(), Style::new(Color::new(103, 110, 149), None, false, false, false, false)),
33 ("ibl.whitespace.char.1".into(), Style::new(Color::new(58, 62, 78), None, false, false, false, false)),
34 ("keyword".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
35 ("label".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
36 ("markup".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
37 ("markup.heading".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
38 ("markup.link".into(), Style::new(Color::new(77, 181, 189), None, true, false, false, false)),
39 ("module".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
40 ("module.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
41 ("number".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
42 ("number.float".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
43 ("operator".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
44 ("property".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
45 ("punctuation".into(), Style::new(Color::new(236, 190, 123), None, false, false, false, false)),
46 ("punctuation.special".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
47 ("string".into(), Style::new(Color::new(160, 201, 128), None, false, false, false, false)),
48 ("string.escape".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
49 ("string.regexp".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
50 ("string.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
51 ("string.special.url".into(), Style::new(Color::new(77, 181, 189), None, true, false, false, false)),
52 ("tag".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
53 ("tag.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
54 ("type".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
55 ("type.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
56 ("variable".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
57 ("variable.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
58 ("variable.parameter.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
59 ]))
60}
61
62#[rustfmt::skip]
63pub fn doom() -> ResolvedTheme {
64 ResolvedTheme::new(BTreeMap::from([
65 ("_normal".into(), Style::new(Color::new(187, 194, 207), Some(Color::new(40, 44, 52)), false, false, false, false)),
66 ("attribute".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
67 ("attribute.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
68 ("character".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
69 ("character.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
70 ("comment".into(), Style::new(Color::new(126, 130, 148), None, false, false, true, false)),
71 ("comment.error".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
72 ("comment.note".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
73 ("comment.todo".into(), Style::new(Color::new(77, 181, 189), None, false, false, true, true)),
74 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
75 ("constant".into(), Style::new(Color::new(169, 161, 225), None, false, false, false, false)),
76 ("constant.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
77 ("constructor".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
78 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
79 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
80 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
81 ("function".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
82 ("function.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
83 ("ibl.indent.char.1".into(), Style::new(Color::new(63, 68, 74), None, false, false, false, false)),
84 ("ibl.scope.char.1".into(), Style::new(Color::new(103, 110, 149), None, false, false, false, false)),
85 ("ibl.whitespace.char.1".into(), Style::new(Color::new(63, 68, 74), None, false, false, false, false)),
86 ("keyword".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
87 ("label".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
88 ("markup".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
89 ("markup.heading".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
90 ("markup.link".into(), Style::new(Color::new(77, 181, 189), None, true, false, false, false)),
91 ("module".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
92 ("module.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
93 ("number".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
94 ("number.float".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
95 ("operator".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
96 ("property".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
97 ("punctuation".into(), Style::new(Color::new(236, 190, 123), None, false, false, false, false)),
98 ("punctuation.special".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
99 ("string".into(), Style::new(Color::new(160, 201, 128), None, false, false, false, false)),
100 ("string.escape".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
101 ("string.regexp".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
102 ("string.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
103 ("string.special.url".into(), Style::new(Color::new(77, 181, 189), None, true, false, false, false)),
104 ("tag".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
105 ("tag.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
106 ("type".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
107 ("type.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
108 ("variable".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
109 ("variable.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
110 ("variable.parameter.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
111 ]))
112}
113
114#[rustfmt::skip]
115pub fn dark() -> ResolvedTheme {
116 ResolvedTheme::new(BTreeMap::from([
117 ("_normal".into(), Style::new(Color::new(197, 205, 217), Some(Color::new(13, 17, 23)), false, false, false, false)),
118 ("attribute".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
119 ("attribute.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
120 ("character".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
121 ("character.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
122 ("comment".into(), Style::new(Color::new(126, 130, 148), None, false, false, true, false)),
123 ("comment.error".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
124 ("comment.note".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
125 ("comment.todo".into(), Style::new(Color::new(77, 181, 189), None, false, false, true, true)),
126 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
127 ("constant".into(), Style::new(Color::new(169, 161, 225), None, false, false, false, false)),
128 ("constant.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
129 ("constructor".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
130 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
131 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
132 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
133 ("function".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
134 ("function.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
135 ("ibl.indent.char.1".into(), Style::new(Color::new(51, 54, 68), None, false, false, false, false)),
136 ("ibl.scope.char.1".into(), Style::new(Color::new(103, 110, 149), None, false, false, false, false)),
137 ("ibl.whitespace.char.1".into(), Style::new(Color::new(51, 54, 68), None, false, false, false, false)),
138 ("keyword".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
139 ("label".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
140 ("markup".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
141 ("markup.heading".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
142 ("markup.link".into(), Style::new(Color::new(77, 181, 189), None, true, false, false, false)),
143 ("module".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
144 ("module.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
145 ("number".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
146 ("number.float".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
147 ("operator".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
148 ("property".into(), Style::new(Color::new(108, 182, 235), None, false, false, false, false)),
149 ("punctuation".into(), Style::new(Color::new(236, 190, 123), None, false, false, false, false)),
150 ("punctuation.special".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
151 ("string".into(), Style::new(Color::new(160, 201, 128), None, false, false, false, false)),
152 ("string.escape".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
153 ("string.regexp".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
154 ("string.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
155 ("string.special.url".into(), Style::new(Color::new(77, 181, 189), None, true, false, false, false)),
156 ("tag".into(), Style::new(Color::new(236, 114, 121), None, false, false, false, false)),
157 ("tag.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
158 ("type".into(), Style::new(Color::new(77, 181, 189), None, false, false, false, false)),
159 ("type.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
160 ("variable".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
161 ("variable.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
162 ("variable.parameter.builtin".into(), Style::new(Color::new(108, 182, 235), None, false, false, true, false)),
163 ]))
164}
165
166#[rustfmt::skip]
167pub fn light() -> ResolvedTheme {
168 ResolvedTheme::new(BTreeMap::from([
169 ("_normal".into(), Style::new(Color::new(76, 86, 106), Some(Color::new(211, 211, 211)), false, false, false, false)),
170 ("attribute".into(), Style::new(Color::new(34, 87, 160), None, false, false, false, false)),
171 ("attribute.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
172 ("character".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
173 ("character.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
174 ("comment".into(), Style::new(Color::new(126, 130, 148), None, false, false, true, false)),
175 ("comment.error".into(), Style::new(Color::new(255, 102, 85), None, false, false, false, false)),
176 ("comment.note".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
177 ("comment.todo".into(), Style::new(Color::new(9, 151, 179), None, false, false, true, true)),
178 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
179 ("constant".into(), Style::new(Color::new(147, 112, 219), None, false, false, false, false)),
180 ("constant.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
181 ("constructor".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
182 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
183 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
184 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
185 ("function".into(), Style::new(Color::new(34, 87, 160), None, false, false, false, false)),
186 ("function.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
187 ("ibl.indent.char.1".into(), Style::new(Color::new(160, 161, 167), None, false, false, false, false)),
188 ("ibl.scope.char.1".into(), Style::new(Color::new(103, 110, 149), None, false, false, false, false)),
189 ("ibl.whitespace.char.1".into(), Style::new(Color::new(160, 161, 167), None, false, false, false, false)),
190 ("keyword".into(), Style::new(Color::new(34, 87, 160), None, false, false, false, false)),
191 ("label".into(), Style::new(Color::new(9, 151, 179), None, false, false, false, false)),
192 ("markup".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
193 ("markup.heading".into(), Style::new(Color::new(9, 151, 179), None, false, false, false, false)),
194 ("markup.link".into(), Style::new(Color::new(9, 151, 179), None, true, false, false, false)),
195 ("module".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
196 ("module.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
197 ("number".into(), Style::new(Color::new(255, 102, 85), None, false, false, false, false)),
198 ("number.float".into(), Style::new(Color::new(255, 102, 85), None, false, false, false, false)),
199 ("operator".into(), Style::new(Color::new(34, 87, 160), None, false, false, false, false)),
200 ("property".into(), Style::new(Color::new(34, 87, 160), None, false, false, false, false)),
201 ("punctuation".into(), Style::new(Color::new(193, 132, 1), None, false, false, false, false)),
202 ("punctuation.special".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
203 ("string".into(), Style::new(Color::new(80, 161, 79), None, false, false, false, false)),
204 ("string.escape".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
205 ("string.regexp".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
206 ("string.special".into(), Style::new(Color::new(218, 133, 72), None, false, false, false, false)),
207 ("string.special.url".into(), Style::new(Color::new(9, 151, 179), None, true, false, false, false)),
208 ("tag".into(), Style::new(Color::new(255, 102, 85), None, false, false, false, false)),
209 ("tag.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
210 ("type".into(), Style::new(Color::new(9, 151, 179), None, false, false, false, false)),
211 ("type.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
212 ("variable".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
213 ("variable.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
214 ("variable.parameter.builtin".into(), Style::new(Color::new(34, 87, 160), None, false, false, true, false)),
215 ]))
216}