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(216, 222, 233), Some(Color::new(27, 43, 52)), false, false, false, false)),
14 ("attribute".into(), Style::new(Color::new(236, 95, 103), None, false, false, false, false)),
15 ("attribute.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
16 ("boolean".into(), Style::new(Color::new(249, 145, 87), None, false, false, false, false)),
17 ("character".into(), Style::new(Color::new(236, 95, 103), None, false, false, false, false)),
18 ("character.special".into(), Style::new(Color::new(171, 121, 103), None, false, false, false, false)),
19 ("comment".into(), Style::new(Color::new(101, 115, 126), None, false, false, false, false)),
20 ("comment.error".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
21 ("comment.note".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
22 ("comment.todo".into(), Style::new(Color::new(250, 200, 99), Some(Color::new(52, 61, 70)), false, false, false, true)),
23 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
24 ("conditional".into(), Style::new(Color::new(197, 148, 197), None, false, false, false, false)),
25 ("constant".into(), Style::new(Color::new(249, 145, 87), None, false, false, false, false)),
26 ("constant.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
27 ("constructor".into(), Style::new(Color::new(216, 222, 233), None, false, false, false, false)),
28 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
29 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
30 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
31 ("exception".into(), Style::new(Color::new(236, 95, 103), None, false, false, false, false)),
32 ("function".into(), Style::new(Color::new(102, 153, 204), None, false, false, false, false)),
33 ("function.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
34 ("ibl.indent.char.1".into(), Style::new(Color::new(101, 115, 126), None, false, false, false, false)),
35 ("ibl.scope.char.1".into(), Style::new(Color::new(101, 115, 126), Some(Color::new(27, 43, 52)), false, false, false, false)),
36 ("ibl.whitespace.char.1".into(), Style::new(Color::new(101, 115, 126), None, false, false, false, false)),
37 ("include".into(), Style::new(Color::new(197, 148, 197), None, false, false, false, false)),
38 ("keyword".into(), Style::new(Color::new(197, 148, 197), None, false, false, false, false)),
39 ("keyword.operator".into(), Style::new(Color::new(197, 148, 197), None, false, false, false, false)),
40 ("label".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
41 ("markup".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
42 ("markup.heading".into(), Style::new(Color::new(102, 153, 204), None, false, false, false, true)),
43 ("markup.link".into(), Style::new(Color::new(236, 95, 103), None, true, false, false, false)),
44 ("method".into(), Style::new(Color::new(102, 153, 204), None, false, false, false, false)),
45 ("module".into(), Style::new(Color::new(197, 148, 197), None, false, false, false, false)),
46 ("module.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
47 ("namespace".into(), Style::new(Color::new(216, 222, 233), None, false, false, false, false)),
48 ("number".into(), Style::new(Color::new(249, 145, 87), None, false, false, false, false)),
49 ("number.float".into(), Style::new(Color::new(249, 145, 87), None, false, false, false, false)),
50 ("operator".into(), Style::new(Color::new(249, 145, 87), None, false, false, false, false)),
51 ("parameter".into(), Style::new(Color::new(250, 200, 99), None, false, false, false, false)),
52 ("property".into(), Style::new(Color::new(216, 222, 233), None, false, false, false, false)),
53 ("punctuation".into(), Style::new(Color::new(171, 121, 103), None, false, false, false, false)),
54 ("punctuation.bracket".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
55 ("punctuation.delimiter".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
56 ("punctuation.special".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
57 ("string".into(), Style::new(Color::new(153, 199, 148), None, false, false, false, false)),
58 ("string.escape".into(), Style::new(Color::new(171, 121, 103), None, false, false, false, false)),
59 ("string.regexp".into(), Style::new(Color::new(171, 121, 103), None, false, false, false, false)),
60 ("string.special".into(), Style::new(Color::new(171, 121, 103), None, false, false, false, false)),
61 ("string.special.url".into(), Style::new(Color::new(236, 95, 103), None, true, false, false, false)),
62 ("symbol".into(), Style::new(Color::new(153, 199, 148), None, false, false, false, false)),
63 ("tag".into(), Style::new(Color::new(216, 222, 233), None, false, false, false, false)),
64 ("tag.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
65 ("tag.delimiter".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
66 ("type".into(), Style::new(Color::new(250, 200, 99), None, false, false, false, false)),
67 ("type.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
68 ("variable".into(), Style::new(Color::new(205, 211, 222), None, false, false, false, false)),
69 ("variable.builtin".into(), Style::new(Color::new(236, 95, 103), None, false, false, false, false)),
70 ("variable.parameter.builtin".into(), Style::new(Color::new(98, 179, 178), None, false, false, false, false)),
71 ]))
72}
73
74#[rustfmt::skip]
75pub fn light() -> ResolvedTheme {
76 ResolvedTheme::new(BTreeMap::from([
77 ("_normal".into(), Style::new(Color::new(27, 43, 52), Some(Color::new(245, 247, 250)), false, false, false, false)),
78 ("attribute".into(), Style::new(Color::new(208, 84, 91), None, false, false, false, false)),
79 ("attribute.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
80 ("boolean".into(), Style::new(Color::new(219, 128, 77), None, false, false, false, false)),
81 ("character".into(), Style::new(Color::new(208, 84, 91), None, false, false, false, false)),
82 ("character.special".into(), Style::new(Color::new(150, 106, 91), None, false, false, false, false)),
83 ("comment".into(), Style::new(Color::new(167, 173, 186), None, false, false, false, false)),
84 ("comment.error".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
85 ("comment.note".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
86 ("comment.todo".into(), Style::new(Color::new(220, 176, 87), Some(Color::new(212, 216, 220)), false, false, false, true)),
87 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
88 ("conditional".into(), Style::new(Color::new(173, 130, 173), None, false, false, false, false)),
89 ("constant".into(), Style::new(Color::new(219, 128, 77), None, false, false, false, false)),
90 ("constant.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
91 ("constructor".into(), Style::new(Color::new(27, 43, 52), None, false, false, false, false)),
92 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
93 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
94 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
95 ("exception".into(), Style::new(Color::new(208, 84, 91), None, false, false, false, false)),
96 ("function".into(), Style::new(Color::new(90, 135, 180), None, false, false, false, false)),
97 ("function.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
98 ("ibl.indent.char.1".into(), Style::new(Color::new(167, 173, 186), None, false, false, false, false)),
99 ("ibl.scope.char.1".into(), Style::new(Color::new(167, 173, 186), Some(Color::new(245, 247, 250)), false, false, false, false)),
100 ("ibl.whitespace.char.1".into(), Style::new(Color::new(167, 173, 186), None, false, false, false, false)),
101 ("include".into(), Style::new(Color::new(173, 130, 173), None, false, false, false, false)),
102 ("keyword".into(), Style::new(Color::new(173, 130, 173), None, false, false, false, false)),
103 ("keyword.operator".into(), Style::new(Color::new(173, 130, 173), None, false, false, false, false)),
104 ("label".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
105 ("markup".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
106 ("markup.heading".into(), Style::new(Color::new(90, 135, 180), None, false, false, false, true)),
107 ("markup.link".into(), Style::new(Color::new(208, 84, 91), None, true, false, false, false)),
108 ("method".into(), Style::new(Color::new(90, 135, 180), None, false, false, false, false)),
109 ("module".into(), Style::new(Color::new(173, 130, 173), None, false, false, false, false)),
110 ("module.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
111 ("namespace".into(), Style::new(Color::new(27, 43, 52), None, false, false, false, false)),
112 ("number".into(), Style::new(Color::new(219, 128, 77), None, false, false, false, false)),
113 ("number.float".into(), Style::new(Color::new(219, 128, 77), None, false, false, false, false)),
114 ("operator".into(), Style::new(Color::new(219, 128, 77), None, false, false, false, false)),
115 ("parameter".into(), Style::new(Color::new(220, 176, 87), None, false, false, false, false)),
116 ("property".into(), Style::new(Color::new(27, 43, 52), None, false, false, false, false)),
117 ("punctuation".into(), Style::new(Color::new(150, 106, 91), None, false, false, false, false)),
118 ("punctuation.bracket".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
119 ("punctuation.delimiter".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
120 ("punctuation.special".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
121 ("string".into(), Style::new(Color::new(135, 175, 130), None, false, false, false, false)),
122 ("string.escape".into(), Style::new(Color::new(150, 106, 91), None, false, false, false, false)),
123 ("string.regexp".into(), Style::new(Color::new(150, 106, 91), None, false, false, false, false)),
124 ("string.special".into(), Style::new(Color::new(150, 106, 91), None, false, false, false, false)),
125 ("string.special.url".into(), Style::new(Color::new(208, 84, 91), None, true, false, false, false)),
126 ("symbol".into(), Style::new(Color::new(135, 175, 130), None, false, false, false, false)),
127 ("tag".into(), Style::new(Color::new(27, 43, 52), None, false, false, false, false)),
128 ("tag.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
129 ("tag.delimiter".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
130 ("type".into(), Style::new(Color::new(220, 176, 87), None, false, false, false, false)),
131 ("type.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
132 ("variable".into(), Style::new(Color::new(52, 61, 70), None, false, false, false, false)),
133 ("variable.builtin".into(), Style::new(Color::new(208, 84, 91), None, false, false, false, false)),
134 ("variable.parameter.builtin".into(), Style::new(Color::new(86, 158, 157), None, false, false, false, false)),
135 ]))
136}