1use crate::{
2 colors::{GitStatusColors, PlayerColors, StatusColors, SystemColors, ThemeColors, ThemeStyles},
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: ThemeStyles {
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 inlay_highlight_style: Default::default(),
19 suggestion_highlight_style: Default::default(),
20 },
21 }
22}
23
24pub(crate) fn zed_pro_moonlight() -> ThemeVariant {
25 ThemeVariant {
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: SyntaxTheme::default_dark(),
36 inlay_highlight_style: Default::default(),
37 suggestion_highlight_style: Default::default(),
38 },
39 }
40}
41
42pub fn zed_pro_family() -> ThemeFamily {
43 ThemeFamily {
44 id: "zed_pro".to_string(),
45 name: "Zed Pro".into(),
46 author: "Zed Team".into(),
47 themes: vec![zed_pro_daylight(), zed_pro_moonlight()],
48 scales: default_color_scales(),
49 }
50}
51
52impl Default for ThemeFamily {
53 fn default() -> Self {
54 zed_pro_family()
55 }
56}
57
58impl Default for ThemeVariant {
59 fn default() -> Self {
60 zed_pro_daylight()
61 }
62}