charming_fork_zephyr/theme/
mod.rs

1pub enum Theme {
2    Default,
3    Dark,
4    Vintage,
5    Westeros,
6    Essos,
7    Wonderland,
8    Walden,
9    Chalk,
10    Infographic,
11    Macarons,
12    Roma,
13    Shine,
14    PurplePassion,
15    Halloween,
16    Custom(&'static str, &'static str),
17}
18
19impl Theme {
20    pub(crate) fn to_str(&self) -> (&'static str, &'static str) {
21        match self {
22            Theme::Default => ("", ""),
23            Theme::Dark => ("dark", ""),
24            Theme::Vintage => ("vintage", include_str!("../asset/theme-vintage.js")),
25            Theme::Westeros => ("westeros", include_str!("../asset/theme-westeros.js")),
26            Theme::Essos => ("essos", include_str!("../asset/theme-essos.js")),
27            Theme::Wonderland => ("wonderland", include_str!("../asset/theme-wonderland.js")),
28            Theme::Walden => ("walden", include_str!("../asset/theme-walden.js")),
29            Theme::Chalk => ("chalk", include_str!("../asset/theme-chalk.js")),
30            Theme::Infographic => ("infographic", include_str!("../asset/theme-infographic.js")),
31            Theme::Macarons => ("macarons", include_str!("../asset/theme-macarons.js")),
32            Theme::Roma => ("roma", include_str!("../asset/theme-roma.js")),
33            Theme::Shine => ("shine", include_str!("../asset/theme-shine.js")),
34            Theme::PurplePassion => (
35                "purple-passion",
36                include_str!("../asset/theme-purple-passion.js"),
37            ),
38            Theme::Halloween => ("halloween", include_str!("../asset/theme-halloween.js")),
39            Theme::Custom(name, content) => (name, content),
40        }
41    }
42}
43
44impl Default for Theme {
45    fn default() -> Self {
46        Theme::Default
47    }
48}