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(131, 148, 150), Some(Color::new(0, 43, 54)), false, false, false, false)),
14 ("attribute".into(), Style::new(Color::new(203, 75, 22), None, false, false, false, false)),
15 ("attribute.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
16 ("boolean".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
17 ("character".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
18 ("character.special".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
19 ("comment".into(), Style::new(Color::new(88, 110, 117), 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(211, 54, 130), None, false, false, false, true)),
23 ("comment.warning".into(), Style::new(Color::new(252, 224, 148), None, false, false, false, false)),
24 ("constant".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
25 ("constant.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
26 ("constructor".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
27 ("diff.delta".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
28 ("diff.minus".into(), Style::new(Color::new(255, 192, 185), None, false, false, false, false)),
29 ("diff.plus".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
30 ("function".into(), Style::new(Color::new(140, 248, 247), None, false, false, false, false)),
31 ("function.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
32 ("ibl.indent.char.1".into(), Style::new(Color::new(101, 123, 131), None, false, false, false, true)),
33 ("ibl.scope.char.1".into(), Style::new(Color::new(88, 110, 117), Some(Color::new(7, 54, 66)), false, false, false, false)),
34 ("ibl.whitespace.char.1".into(), Style::new(Color::new(101, 123, 131), None, false, false, false, true)),
35 ("keyword".into(), Style::new(Color::new(113, 158, 7), None, false, false, false, false)),
36 ("label".into(), Style::new(Color::new(113, 158, 7), None, false, false, false, false)),
37 ("markup".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
38 ("markup.heading".into(), Style::new(Color::new(203, 75, 22), None, false, false, false, true)),
39 ("markup.link".into(), Style::new(Color::new(108, 113, 196), None, false, false, false, false)),
40 ("module".into(), Style::new(Color::new(181, 137, 0), None, false, false, false, false)),
41 ("module.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
42 ("number".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
43 ("number.float".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
44 ("operator".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
45 ("property".into(), Style::new(Color::new(38, 139, 210), None, false, false, false, false)),
46 ("punctuation".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
47 ("punctuation.special".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
48 ("string".into(), Style::new(Color::new(179, 246, 192), None, false, false, false, false)),
49 ("string.escape".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
50 ("string.regexp".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
51 ("string.special".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
52 ("string.special.url".into(), Style::new(Color::new(108, 113, 196), None, false, false, false, false)),
53 ("tag".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
54 ("tag.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
55 ("type".into(), Style::new(Color::new(181, 137, 0), None, false, false, false, false)),
56 ("type.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
57 ("variable".into(), Style::new(Color::new(224, 226, 234), None, false, false, false, false)),
58 ("variable.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
59 ("variable.parameter.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
60 ]))
61}
62
63#[rustfmt::skip]
64pub fn light() -> ResolvedTheme {
65 ResolvedTheme::new(BTreeMap::from([
66 ("_normal".into(), Style::new(Color::new(101, 123, 131), Some(Color::new(253, 246, 227)), false, false, false, false)),
67 ("attribute".into(), Style::new(Color::new(203, 75, 22), None, false, false, false, false)),
68 ("attribute.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
69 ("boolean".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
70 ("character".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
71 ("character.special".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
72 ("comment".into(), Style::new(Color::new(147, 161, 161), None, false, false, false, false)),
73 ("comment.error".into(), Style::new(Color::new(89, 0, 8), None, false, false, false, false)),
74 ("comment.note".into(), Style::new(Color::new(0, 115, 115), None, false, false, false, false)),
75 ("comment.todo".into(), Style::new(Color::new(211, 54, 130), None, false, false, false, true)),
76 ("comment.warning".into(), Style::new(Color::new(107, 83, 0), None, false, false, false, false)),
77 ("constant".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
78 ("constant.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
79 ("constructor".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
80 ("diff.delta".into(), Style::new(Color::new(0, 115, 115), None, false, false, false, false)),
81 ("diff.minus".into(), Style::new(Color::new(89, 0, 8), None, false, false, false, false)),
82 ("diff.plus".into(), Style::new(Color::new(0, 85, 35), None, false, false, false, false)),
83 ("function".into(), Style::new(Color::new(0, 115, 115), None, false, false, false, false)),
84 ("function.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
85 ("ibl.indent.char.1".into(), Style::new(Color::new(131, 148, 150), None, false, false, false, true)),
86 ("ibl.scope.char.1".into(), Style::new(Color::new(147, 161, 161), Some(Color::new(238, 232, 213)), false, false, false, false)),
87 ("ibl.whitespace.char.1".into(), Style::new(Color::new(131, 148, 150), None, false, false, false, true)),
88 ("keyword".into(), Style::new(Color::new(113, 158, 7), None, false, false, false, false)),
89 ("label".into(), Style::new(Color::new(113, 158, 7), None, false, false, false, false)),
90 ("markup".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
91 ("markup.heading".into(), Style::new(Color::new(203, 75, 22), None, false, false, false, true)),
92 ("markup.link".into(), Style::new(Color::new(108, 113, 196), None, false, false, false, false)),
93 ("module".into(), Style::new(Color::new(181, 137, 0), None, false, false, false, false)),
94 ("module.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
95 ("number".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
96 ("number.float".into(), Style::new(Color::new(42, 161, 152), None, false, false, false, false)),
97 ("operator".into(), Style::new(Color::new(20, 22, 27), None, false, false, false, false)),
98 ("property".into(), Style::new(Color::new(38, 139, 210), None, false, false, false, false)),
99 ("punctuation".into(), Style::new(Color::new(20, 22, 27), None, false, false, false, false)),
100 ("punctuation.special".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
101 ("string".into(), Style::new(Color::new(0, 85, 35), None, false, false, false, false)),
102 ("string.escape".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
103 ("string.regexp".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
104 ("string.special".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
105 ("string.special.url".into(), Style::new(Color::new(108, 113, 196), None, false, false, false, false)),
106 ("tag".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
107 ("tag.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
108 ("type".into(), Style::new(Color::new(181, 137, 0), None, false, false, false, false)),
109 ("type.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
110 ("variable".into(), Style::new(Color::new(20, 22, 27), None, false, false, false, false)),
111 ("variable.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
112 ("variable.parameter.builtin".into(), Style::new(Color::new(220, 50, 47), None, false, false, false, false)),
113 ]))
114}