syntastica_themes/
everforest.rs

1//! The 'everforest' theme collection in this module was extracted from <https://github.com/sainnhe/everforest> 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(236, 225, 215), Some(Color::new(41, 37, 34)), false, false, false, false)),
14        ("attribute".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
15        ("attribute.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
16        ("boolean".into(), Style::new(Color::new(207, 155, 194), None, false, false, false, false)),
17        ("character".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
18        ("character.special".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
19        ("comment".into(), Style::new(Color::new(193, 167, 142), None, false, false, true, false)),
20        ("comment.documentation".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, false)),
21        ("comment.error".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
22        ("comment.note".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
23        ("comment.todo".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
24        ("comment.warning".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, true)),
25        ("constant".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
26        ("constant.builtin".into(), Style::new(Color::new(179, 128, 176), None, false, false, false, false)),
27        ("constant.macro".into(), Style::new(Color::new(179, 128, 176), None, false, false, false, false)),
28        ("constructor".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
29        ("function".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
30        ("function.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
31        ("function.macro".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
32        ("ibl.indent.char.1".into(), Style::new(Color::new(64, 58, 54), None, false, false, false, false)),
33        ("ibl.scope.char.1".into(), Style::new(Color::new(134, 116, 98), None, false, false, false, false)),
34        ("ibl.whitespace.char.1".into(), Style::new(Color::new(64, 58, 54), None, false, false, false, false)),
35        ("keyword".into(), Style::new(Color::new(228, 155, 93), None, false, false, false, false)),
36        ("keyword.directive".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
37        ("keyword.function".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
38        ("keyword.import".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
39        ("label".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
40        ("markup".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
41        ("markup.heading".into(), Style::new(Color::new(228, 155, 93), None, false, false, false, false)),
42        ("markup.heading.2".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
43        ("markup.heading.3".into(), Style::new(Color::new(133, 182, 149), None, false, false, false, false)),
44        ("markup.heading.4".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
45        ("markup.link.url".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
46        ("markup.list".into(), Style::new(Color::new(139, 116, 73), None, false, false, false, false)),
47        ("markup.quote".into(), Style::new(Color::new(193, 167, 142), None, false, false, true, false)),
48        ("markup.raw".into(), Style::new(Color::new(193, 167, 142), None, false, false, false, false)),
49        ("module".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
50        ("module.builtin".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
51        ("number".into(), Style::new(Color::new(207, 155, 194), None, false, false, false, false)),
52        ("number.float".into(), Style::new(Color::new(207, 155, 194), None, false, false, false, false)),
53        ("operator".into(), Style::new(Color::new(212, 119, 102), None, false, false, false, false)),
54        ("property".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
55        ("punctuation".into(), Style::new(Color::new(139, 116, 73), None, false, false, false, false)),
56        ("punctuation.delimiter".into(), Style::new(Color::new(189, 129, 131), None, false, false, false, false)),
57        ("punctuation.special".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
58        ("string".into(), Style::new(Color::new(163, 169, 206), None, false, false, true, false)),
59        ("string.documentation".into(), Style::new(Color::new(163, 169, 206), None, false, false, false, false)),
60        ("string.escape".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
61        ("string.regexp".into(), Style::new(Color::new(163, 169, 206), None, false, false, false, false)),
62        ("string.special".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
63        ("string.special.path".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
64        ("string.special.symbol".into(), Style::new(Color::new(236, 225, 215), None, false, false, true, false)),
65        ("string.special.url".into(), Style::new(Color::new(127, 145, 178), None, false, false, false, false)),
66        ("tag".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
67        ("tag.attribute".into(), Style::new(Color::new(137, 179, 182), None, false, false, false, false)),
68        ("tag.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
69        ("tag.delimiter".into(), Style::new(Color::new(139, 116, 73), None, false, false, false, false)),
70        ("type".into(), Style::new(Color::new(123, 150, 149), None, false, false, false, false)),
71        ("type.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
72        ("type.qualifier".into(), Style::new(Color::new(228, 155, 93), None, false, false, false, false)),
73        ("variable".into(), Style::new(Color::new(236, 225, 215), None, false, false, false, false)),
74        ("variable.builtin".into(), Style::new(Color::new(236, 225, 215), None, false, false, true, false)),
75        ("variable.parameter.builtin".into(), Style::new(Color::new(235, 192, 109), None, false, false, false, false)),
76    ]))
77}
78
79#[rustfmt::skip]
80pub fn light() -> ResolvedTheme {
81    ResolvedTheme::new(BTreeMap::from([
82        ("_normal".into(), Style::new(Color::new(84, 67, 58), Some(Color::new(241, 241, 241)), false, false, false, false)),
83        ("attribute".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
84        ("attribute.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
85        ("boolean".into(), Style::new(Color::new(144, 65, 128), None, false, false, false, false)),
86        ("character".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
87        ("character.special".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
88        ("comment".into(), Style::new(Color::new(125, 102, 88), None, false, false, true, false)),
89        ("comment.documentation".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, false)),
90        ("comment.error".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
91        ("comment.note".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
92        ("comment.todo".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
93        ("comment.warning".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, true)),
94        ("constant".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
95        ("constant.builtin".into(), Style::new(Color::new(190, 121, 187), None, false, false, false, false)),
96        ("constant.macro".into(), Style::new(Color::new(190, 121, 187), None, false, false, false, false)),
97        ("constructor".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
98        ("function".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
99        ("function.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
100        ("function.macro".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
101        ("ibl.indent.char.1".into(), Style::new(Color::new(217, 211, 206), None, false, false, false, false)),
102        ("ibl.scope.char.1".into(), Style::new(Color::new(169, 138, 120), None, false, false, false, false)),
103        ("ibl.whitespace.char.1".into(), Style::new(Color::new(217, 211, 206), None, false, false, false, false)),
104        ("keyword".into(), Style::new(Color::new(188, 92, 0), None, false, false, false, false)),
105        ("keyword.directive".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
106        ("keyword.function".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
107        ("keyword.import".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
108        ("label".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
109        ("markup".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
110        ("markup.heading".into(), Style::new(Color::new(188, 92, 0), None, false, false, false, false)),
111        ("markup.heading.2".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
112        ("markup.heading.3".into(), Style::new(Color::new(58, 104, 74), None, false, false, false, false)),
113        ("markup.heading.4".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
114        ("markup.link.url".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
115        ("markup.list".into(), Style::new(Color::new(204, 164, 120), None, false, false, false, false)),
116        ("markup.quote".into(), Style::new(Color::new(125, 102, 88), None, false, false, true, false)),
117        ("markup.raw".into(), Style::new(Color::new(125, 102, 88), None, false, false, false, false)),
118        ("module".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
119        ("module.builtin".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
120        ("number".into(), Style::new(Color::new(144, 65, 128), None, false, false, false, false)),
121        ("number.float".into(), Style::new(Color::new(144, 65, 128), None, false, false, false, false)),
122        ("operator".into(), Style::new(Color::new(191, 0, 33), None, false, false, false, false)),
123        ("property".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
124        ("punctuation".into(), Style::new(Color::new(204, 164, 120), None, false, false, false, false)),
125        ("punctuation.delimiter".into(), Style::new(Color::new(199, 123, 139), None, false, false, false, false)),
126        ("punctuation.special".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
127        ("string".into(), Style::new(Color::new(70, 90, 164), None, false, false, true, false)),
128        ("string.documentation".into(), Style::new(Color::new(70, 90, 164), None, false, false, false, false)),
129        ("string.escape".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
130        ("string.regexp".into(), Style::new(Color::new(70, 90, 164), None, false, false, false, false)),
131        ("string.special".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
132        ("string.special.path".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
133        ("string.special.symbol".into(), Style::new(Color::new(84, 67, 58), None, false, false, true, false)),
134        ("string.special.url".into(), Style::new(Color::new(120, 146, 189), None, false, false, false, false)),
135        ("tag".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
136        ("tag.attribute".into(), Style::new(Color::new(61, 101, 104), None, false, false, false, false)),
137        ("tag.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
138        ("tag.delimiter".into(), Style::new(Color::new(204, 164, 120), None, false, false, false, false)),
139        ("type".into(), Style::new(Color::new(115, 151, 151), None, false, false, false, false)),
140        ("type.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
141        ("type.qualifier".into(), Style::new(Color::new(188, 92, 0), None, false, false, false, false)),
142        ("variable".into(), Style::new(Color::new(84, 67, 58), None, false, false, false, false)),
143        ("variable.builtin".into(), Style::new(Color::new(84, 67, 58), None, false, false, true, false)),
144        ("variable.parameter.builtin".into(), Style::new(Color::new(160, 109, 0), None, false, false, false, false)),
145    ]))
146}