default_theme.rs

 1use crate::{
 2    colors::{GitStatusColors, PlayerColors, StatusColors, SystemColors, ThemeColors, ThemeStyle},
 3    default_color_scales, Appearance, SyntaxTheme, ThemeFamily, ThemeVariant,
 4};
 5
 6fn zed_pro_daylight() -> ThemeVariant {
 7    ThemeVariant {
 8        id: "zed_pro_daylight".to_string(),
 9        name: "Zed Pro Daylight".into(),
10        appearance: Appearance::Light,
11        styles: ThemeStyle {
12            system: SystemColors::default(),
13            colors: ThemeColors::default_light(),
14            status: StatusColors::default(),
15            git: GitStatusColors::default(),
16            player: PlayerColors::default(),
17            syntax: SyntaxTheme::default_light(),
18        },
19    }
20}
21
22pub(crate) fn zed_pro_moonlight() -> ThemeVariant {
23    ThemeVariant {
24        id: "zed_pro_moonlight".to_string(),
25        name: "Zed Pro Moonlight".into(),
26        appearance: Appearance::Dark,
27        styles: ThemeStyle {
28            system: SystemColors::default(),
29            colors: ThemeColors::default_dark(),
30            status: StatusColors::default(),
31            git: GitStatusColors::default(),
32            player: PlayerColors::default(),
33            syntax: SyntaxTheme::default_dark(),
34        },
35    }
36}
37
38pub fn zed_pro_family() -> ThemeFamily {
39    ThemeFamily {
40        id: "zed_pro".to_string(),
41        name: "Zed Pro".into(),
42        author: "Zed Team".into(),
43        themes: vec![zed_pro_daylight(), zed_pro_moonlight()],
44        scales: default_color_scales(),
45    }
46}
47
48impl Default for ThemeFamily {
49    fn default() -> Self {
50        zed_pro_family()
51    }
52}
53
54impl Default for ThemeVariant {
55    fn default() -> Self {
56        zed_pro_daylight()
57    }
58}