1use 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}