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(208, 208, 208), Some(Color::new(22, 22, 22)), false, false, false, false)),
14 ("attribute".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
15 ("attribute.builtin".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
16 ("boolean".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
17 ("character".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
18 ("character.special".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
19 ("comment".into(), Style::new(Color::new(82, 82, 82), None, false, false, true, false)),
20 ("comment.error".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
21 ("comment.note".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
22 ("comment.todo".into(), Style::new(Color::new(66, 190, 101), None, false, false, false, false)),
23 ("comment.warning".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
24 ("conditional".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
25 ("constant".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
26 ("constant.builtin".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
27 ("constant.macro".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
28 ("constructor".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
29 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
30 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
31 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
32 ("error".into(), Style::new(Color::new(51, 177, 255), None, false, false, false, false)),
33 ("exception".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
34 ("field".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
35 ("float".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
36 ("function".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, true)),
37 ("function.builtin".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
38 ("function.macro".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
39 ("ibl.indent.char.1".into(), Style::new(Color::new(57, 57, 57), None, false, false, false, false)),
40 ("ibl.scope.char.1".into(), Style::new(Color::new(82, 82, 82), Some(Color::new(22, 22, 22)), false, false, false, false)),
41 ("ibl.whitespace.char.1".into(), Style::new(Color::new(57, 57, 57), None, false, false, false, false)),
42 ("include".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
43 ("keyword".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
44 ("keyword.function".into(), Style::new(Color::new(61, 219, 217), None, false, false, false, false)),
45 ("keyword.operator".into(), Style::new(Color::new(61, 219, 217), None, false, false, false, false)),
46 ("label".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
47 ("markup".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
48 ("markup.heading".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
49 ("method".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
50 ("module".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
51 ("module.builtin".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
52 ("namespace".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
53 ("number".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
54 ("number.date".into(), Style::new(Color::new(61, 219, 217), None, false, false, false, false)),
55 ("number.date.effective".into(), Style::new(Color::new(66, 190, 101), None, false, false, false, false)),
56 ("number.float".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
57 ("number.interval".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
58 ("number.quantity".into(), Style::new(Color::new(51, 177, 255), None, false, false, false, false)),
59 ("number.quantity.negative".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
60 ("number.status".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
61 ("operator".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
62 ("parameter".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
63 ("property".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
64 ("punctuation".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
65 ("punctuation.bracket".into(), Style::new(Color::new(61, 219, 217), None, false, false, false, false)),
66 ("punctuation.delimiter".into(), Style::new(Color::new(61, 219, 217), None, false, false, false, false)),
67 ("punctuation.special".into(), Style::new(Color::new(61, 219, 217), None, false, false, false, false)),
68 ("reference".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
69 ("repeat".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
70 ("string".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
71 ("string.escape".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
72 ("string.regex".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
73 ("string.regexp".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
74 ("string.special".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
75 ("symbol".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, true)),
76 ("tag".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
77 ("tag.attribute".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
78 ("tag.builtin".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
79 ("tag.delimiter".into(), Style::new(Color::new(130, 207, 255), None, false, false, false, false)),
80 ("text".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
81 ("text.emphasis".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, true)),
82 ("text.literal".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
83 ("text.literal.commodity".into(), Style::new(Color::new(66, 190, 101), None, false, false, false, false)),
84 ("text.strike".into(), Style::new(Color::new(238, 83, 150), None, false, true, false, false)),
85 ("text.title".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
86 ("text.underline".into(), Style::new(Color::new(238, 83, 150), None, true, false, false, false)),
87 ("text.uri".into(), Style::new(Color::new(190, 149, 255), None, true, false, false, false)),
88 ("type".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
89 ("type.builtin".into(), Style::new(Color::new(120, 169, 255), None, false, false, false, false)),
90 ("variable".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
91 ("variable.builtin".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
92 ("variable.parameter.builtin".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
93 ]))
94}
95
96#[rustfmt::skip]
97pub fn light() -> ResolvedTheme {
98 ResolvedTheme::new(BTreeMap::from([
99 ("_normal".into(), Style::new(Color::new(55, 71, 79), Some(Color::new(255, 255, 255)), false, false, false, false)),
100 ("attribute".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
101 ("attribute.builtin".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
102 ("boolean".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
103 ("character".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
104 ("character.special".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
105 ("comment".into(), Style::new(Color::new(22, 22, 22), None, false, false, true, false)),
106 ("comment.error".into(), Style::new(Color::new(255, 111, 0), None, false, false, false, false)),
107 ("comment.note".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
108 ("comment.todo".into(), Style::new(Color::new(66, 190, 101), None, false, false, false, false)),
109 ("comment.warning".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
110 ("conditional".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
111 ("constant".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
112 ("constant.builtin".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
113 ("constant.macro".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
114 ("constructor".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
115 ("diff.delta".into(), Style::new(Color::new(0, 115, 115), None, false, false, false, false)),
116 ("diff.minus".into(), Style::new(Color::new(89, 0, 8), None, false, false, false, false)),
117 ("diff.plus".into(), Style::new(Color::new(0, 85, 35), None, false, false, false, false)),
118 ("error".into(), Style::new(Color::new(15, 98, 254), None, false, false, false, false)),
119 ("exception".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
120 ("field".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
121 ("float".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
122 ("function".into(), Style::new(Color::new(103, 58, 183), None, false, false, false, true)),
123 ("function.builtin".into(), Style::new(Color::new(103, 58, 183), None, false, false, false, false)),
124 ("function.macro".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
125 ("ibl.indent.char.1".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
126 ("ibl.scope.char.1".into(), Style::new(Color::new(22, 22, 22), Some(Color::new(255, 255, 255)), false, false, false, false)),
127 ("ibl.whitespace.char.1".into(), Style::new(Color::new(208, 208, 208), None, false, false, false, false)),
128 ("include".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
129 ("keyword".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
130 ("keyword.function".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
131 ("keyword.operator".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
132 ("label".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
133 ("markup".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
134 ("markup.heading".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
135 ("method".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
136 ("module".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
137 ("module.builtin".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
138 ("namespace".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
139 ("number".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
140 ("number.date".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
141 ("number.date.effective".into(), Style::new(Color::new(66, 190, 101), None, false, false, false, false)),
142 ("number.float".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
143 ("number.interval".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
144 ("number.quantity".into(), Style::new(Color::new(15, 98, 254), None, false, false, false, false)),
145 ("number.quantity.negative".into(), Style::new(Color::new(255, 111, 0), None, false, false, false, false)),
146 ("number.status".into(), Style::new(Color::new(103, 58, 183), None, false, false, false, false)),
147 ("operator".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
148 ("parameter".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
149 ("property".into(), Style::new(Color::new(255, 111, 0), None, false, false, false, false)),
150 ("punctuation".into(), Style::new(Color::new(20, 22, 27), None, false, false, false, false)),
151 ("punctuation.bracket".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
152 ("punctuation.delimiter".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
153 ("punctuation.special".into(), Style::new(Color::new(255, 126, 182), None, false, false, false, false)),
154 ("reference".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
155 ("repeat".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
156 ("string".into(), Style::new(Color::new(190, 149, 255), None, false, false, false, false)),
157 ("string.escape".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
158 ("string.regex".into(), Style::new(Color::new(8, 189, 186), None, false, false, false, false)),
159 ("string.regexp".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
160 ("string.special".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
161 ("symbol".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, true)),
162 ("tag".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
163 ("tag.attribute".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
164 ("tag.builtin".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
165 ("tag.delimiter".into(), Style::new(Color::new(255, 171, 145), None, false, false, false, false)),
166 ("text".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
167 ("text.emphasis".into(), Style::new(Color::new(255, 111, 0), None, false, false, false, true)),
168 ("text.literal".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
169 ("text.literal.commodity".into(), Style::new(Color::new(66, 190, 101), None, false, false, false, false)),
170 ("text.strike".into(), Style::new(Color::new(255, 111, 0), None, false, true, false, false)),
171 ("text.title".into(), Style::new(Color::new(255, 111, 0), None, false, false, false, false)),
172 ("text.underline".into(), Style::new(Color::new(255, 111, 0), None, true, false, false, false)),
173 ("text.uri".into(), Style::new(Color::new(190, 149, 255), None, true, false, false, false)),
174 ("type".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
175 ("type.builtin".into(), Style::new(Color::new(238, 83, 150), None, false, false, false, false)),
176 ("variable".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
177 ("variable.builtin".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
178 ("variable.parameter.builtin".into(), Style::new(Color::new(55, 71, 79), None, false, false, false, false)),
179 ]))
180}