syntastica_themes/
dracula.rs

1//! The 'dracula' theme collection in this module was extracted from <https://github.com/dracula/vim> 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 dracula() -> ResolvedTheme {
12    ResolvedTheme::new(BTreeMap::from([
13        ("_normal".into(), Style::new(Color::new(248, 248, 242), Some(Color::new(40, 42, 54)), false, false, false, false)),
14        ("annotation".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
15        ("attribute".into(), Style::new(Color::new(80, 250, 123), None, false, false, true, false)),
16        ("attribute.builtin".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
17        ("boolean".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
18        ("character".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
19        ("character.special".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
20        ("comment".into(), Style::new(Color::new(98, 114, 164), None, false, false, false, false)),
21        ("comment.error".into(), Style::new(Color::new(255, 85, 85), None, false, false, false, false)),
22        ("comment.note".into(), Style::new(Color::new(139, 233, 253), None, false, false, false, false)),
23        ("comment.todo".into(), Style::new(Color::new(139, 233, 253), None, false, false, false, true)),
24        ("comment.warning".into(), Style::new(Color::new(255, 184, 108), None, false, false, false, false)),
25        ("constant".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
26        ("constant.builtin".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
27        ("constant.macro".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
28        ("constructor".into(), Style::new(Color::new(139, 233, 253), 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        ("exception".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
33        ("field".into(), Style::new(Color::new(255, 184, 108), None, false, false, false, false)),
34        ("funcion.macro".into(), Style::new(Color::new(80, 250, 123), None, false, false, false, false)),
35        ("function".into(), Style::new(Color::new(80, 250, 123), None, false, false, false, false)),
36        ("function.builtin".into(), Style::new(Color::new(139, 233, 253), None, false, false, false, false)),
37        ("ibl.indent.char.1".into(), Style::new(Color::new(66, 68, 80), None, false, false, false, false)),
38        ("ibl.scope.char.1".into(), Style::new(Color::new(98, 114, 164), None, false, false, false, false)),
39        ("ibl.whitespace.char.1".into(), Style::new(Color::new(66, 68, 80), None, false, false, false, false)),
40        ("keyword".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
41        ("keyword.function".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
42        ("keyword.operator".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
43        ("label".into(), Style::new(Color::new(189, 147, 249), None, false, false, true, false)),
44        ("markup".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
45        ("markup.heading".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
46        ("markup.link".into(), Style::new(Color::new(248, 248, 242), None, true, false, false, false)),
47        ("markup.link.label".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
48        ("markup.link.uri".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
49        ("markup.list".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
50        ("markup.raw".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
51        ("markup.strikethrough".into(), Style::new(Color::new(248, 248, 242), None, false, true, false, false)),
52        ("markup.strong".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, true)),
53        ("markup.underline".into(), Style::new(Color::new(248, 248, 242), None, true, false, false, false)),
54        ("module".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
55        ("module.builtin".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
56        ("namespace".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
57        ("number".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
58        ("number.float".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
59        ("operator".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
60        ("parameter".into(), Style::new(Color::new(255, 184, 108), None, false, false, true, false)),
61        ("parameter.reference".into(), Style::new(Color::new(255, 184, 108), None, false, false, false, false)),
62        ("property".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
63        ("punctuation".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
64        ("punctuation.bracket".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
65        ("punctuation.delimiter".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
66        ("punctuation.special".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
67        ("string".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
68        ("string.escape".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
69        ("string.regex".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
70        ("string.regexp".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
71        ("string.special".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
72        ("string.special.symbol".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
73        ("string.special.url".into(), Style::new(Color::new(248, 248, 242), None, true, false, false, false)),
74        ("symbol".into(), Style::new(Color::new(189, 147, 249), None, false, false, false, false)),
75        ("tag".into(), Style::new(Color::new(139, 233, 253), None, false, false, false, false)),
76        ("tag.attribute".into(), Style::new(Color::new(80, 250, 123), None, false, false, true, false)),
77        ("tag.builtin".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
78        ("tag.delimiter".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
79        ("text".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
80        ("text.diff.add".into(), Style::new(Color::new(80, 250, 123), None, false, false, false, false)),
81        ("text.diff.delete".into(), Style::new(Color::new(255, 85, 85), Some(Color::new(33, 34, 44)), false, false, false, false)),
82        ("text.emphasis".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
83        ("text.literal".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
84        ("text.strong".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, true)),
85        ("text.title".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
86        ("text.underline".into(), Style::new(Color::new(248, 248, 242), None, true, false, false, false)),
87        ("text.uri".into(), Style::new(Color::new(241, 250, 140), None, false, false, false, false)),
88        ("type".into(), Style::new(Color::new(139, 233, 253), None, false, false, true, false)),
89        ("type.builtin".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
90        ("variable".into(), Style::new(Color::new(248, 248, 242), None, false, false, false, false)),
91        ("variable.builtin".into(), Style::new(Color::new(189, 147, 249), None, false, false, true, false)),
92        ("variable.member".into(), Style::new(Color::new(255, 184, 108), None, false, false, false, false)),
93        ("variable.parameter".into(), Style::new(Color::new(255, 184, 108), None, false, false, true, false)),
94        ("variable.parameter.builtin".into(), Style::new(Color::new(255, 121, 198), None, false, false, false, false)),
95    ]))
96}