default_theme.rs

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