syntastica_themes/
solarized.rs

1//! The 'solarized' theme collection in this module was extracted from <https://github.com/overcache/NeoSolarized> 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(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}