1#![doc = include_str!("../README.md")]
2#![cfg_attr(
3 feature = "docs",
4 cfg_attr(doc, doc = ::document_features::document_features!(feature_label = r#"<span class="stab portability"><code>{feature}</code></span>"#))
5)]
6#![doc = include_str!("../theme_list.md")]
7#![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
8#![warn(rust_2018_idioms)]
9use syntastica_core::theme::ResolvedTheme;
12
13pub mod abscs;
14pub mod aurora;
15pub mod blue_moon;
16pub mod boo;
17pub mod catppuccin;
18pub mod darcula;
19pub mod dracula;
20pub mod everblush;
21pub mod everforest;
22pub mod falcon;
23pub mod github;
24pub mod gruvbox;
25pub mod melange;
26pub mod minimal;
27pub mod monochrome;
28pub mod monokai;
29pub mod moonfly;
30pub mod moonlight;
31pub mod neon;
32pub mod nightfly;
33pub mod nord;
34pub mod oceanicnext;
35pub mod omni;
36pub mod one;
37pub mod oxocarbon;
38pub mod solarized;
39pub mod tokyo;
40pub mod vscode;
41pub mod zephyr;
42
43pub fn from_str(theme_name: impl AsRef<str>) -> Option<ResolvedTheme> {
62 match theme_name.as_ref() {
63 "abscs::abscs" => Some(abscs::abscs()),
64 "aurora::aurora" => Some(aurora::aurora()),
65 "blue_moon::blue_moon" => Some(blue_moon::blue_moon()),
66 "boo::boo" => Some(boo::boo()),
67 "catppuccin::frappe" => Some(catppuccin::frappe()),
68 "catppuccin::latte" => Some(catppuccin::latte()),
69 "catppuccin::macchiato" => Some(catppuccin::macchiato()),
70 "catppuccin::mocha" => Some(catppuccin::mocha()),
71 "darcula::darcula" => Some(darcula::darcula()),
72 "dracula::dracula" => Some(dracula::dracula()),
73 "everblush::everblush" => Some(everblush::everblush()),
74 "everforest::dark" => Some(everforest::dark()),
75 "everforest::light" => Some(everforest::light()),
76 "falcon::falcon" => Some(falcon::falcon()),
77 "github::dark" => Some(github::dark()),
78 "github::dark_colorblind" => Some(github::dark_colorblind()),
79 "github::dark_default" => Some(github::dark_default()),
80 "github::dark_dimmed" => Some(github::dark_dimmed()),
81 "github::dark_high_contrast" => Some(github::dark_high_contrast()),
82 "github::dark_tritanopia" => Some(github::dark_tritanopia()),
83 "github::light" => Some(github::light()),
84 "github::light_colorblind" => Some(github::light_colorblind()),
85 "github::light_default" => Some(github::light_default()),
86 "github::light_high_contrast" => Some(github::light_high_contrast()),
87 "github::light_tritanopia" => Some(github::light_tritanopia()),
88 "gruvbox::dark" => Some(gruvbox::dark()),
89 "gruvbox::light" => Some(gruvbox::light()),
90 "melange::melange" => Some(melange::melange()),
91 "minimal::minimal" => Some(minimal::minimal()),
92 "monochrome::monochrome" => Some(monochrome::monochrome()),
93 "monokai::monokai" => Some(monokai::monokai()),
94 "monokai::pro" => Some(monokai::pro()),
95 "monokai::ristretto" => Some(monokai::ristretto()),
96 "monokai::soda" => Some(monokai::soda()),
97 "moonfly::moonfly" => Some(moonfly::moonfly()),
98 "moonlight::moonlight" => Some(moonlight::moonlight()),
99 "neon::dark" => Some(neon::dark()),
100 "neon::default" => Some(neon::default()),
101 "neon::doom" => Some(neon::doom()),
102 "neon::light" => Some(neon::light()),
103 "nightfly::nightfly" => Some(nightfly::nightfly()),
104 "nord::nord" => Some(nord::nord()),
105 "oceanicnext::dark" => Some(oceanicnext::dark()),
106 "oceanicnext::light" => Some(oceanicnext::light()),
107 "omni::omni" => Some(omni::omni()),
108 "one::cool" => Some(one::cool()),
109 "one::dark" => Some(one::dark()),
110 "one::darker" => Some(one::darker()),
111 "one::deep" => Some(one::deep()),
112 "one::light" => Some(one::light()),
113 "one::warm" => Some(one::warm()),
114 "one::warmer" => Some(one::warmer()),
115 "oxocarbon::dark" => Some(oxocarbon::dark()),
116 "oxocarbon::light" => Some(oxocarbon::light()),
117 "solarized::dark" => Some(solarized::dark()),
118 "solarized::light" => Some(solarized::light()),
119 "tokyo::day" => Some(tokyo::day()),
120 "tokyo::moon" => Some(tokyo::moon()),
121 "tokyo::night" => Some(tokyo::night()),
122 "tokyo::storm" => Some(tokyo::storm()),
123 "vscode::dark" => Some(vscode::dark()),
124 "vscode::light" => Some(vscode::light()),
125 "zephyr::zephyr" => Some(zephyr::zephyr()),
126 _ => None,
127 }
128}
129
130pub const THEMES: &[&str] = &[
132 "abscs::abscs",
133 "aurora::aurora",
134 "blue_moon::blue_moon",
135 "boo::boo",
136 "catppuccin::frappe",
137 "catppuccin::latte",
138 "catppuccin::macchiato",
139 "catppuccin::mocha",
140 "darcula::darcula",
141 "dracula::dracula",
142 "everblush::everblush",
143 "everforest::dark",
144 "everforest::light",
145 "falcon::falcon",
146 "github::dark",
147 "github::dark_colorblind",
148 "github::dark_default",
149 "github::dark_dimmed",
150 "github::dark_high_contrast",
151 "github::dark_tritanopia",
152 "github::light",
153 "github::light_colorblind",
154 "github::light_default",
155 "github::light_high_contrast",
156 "github::light_tritanopia",
157 "gruvbox::dark",
158 "gruvbox::light",
159 "melange::melange",
160 "minimal::minimal",
161 "monochrome::monochrome",
162 "monokai::monokai",
163 "monokai::pro",
164 "monokai::ristretto",
165 "monokai::soda",
166 "moonfly::moonfly",
167 "moonlight::moonlight",
168 "neon::dark",
169 "neon::default",
170 "neon::doom",
171 "neon::light",
172 "nightfly::nightfly",
173 "nord::nord",
174 "oceanicnext::dark",
175 "oceanicnext::light",
176 "omni::omni",
177 "one::cool",
178 "one::dark",
179 "one::darker",
180 "one::deep",
181 "one::light",
182 "one::warm",
183 "one::warmer",
184 "oxocarbon::dark",
185 "oxocarbon::light",
186 "solarized::dark",
187 "solarized::light",
188 "tokyo::day",
189 "tokyo::moon",
190 "tokyo::night",
191 "tokyo::storm",
192 "vscode::dark",
193 "vscode::light",
194 "zephyr::zephyr",
195];