diff --git a/zed/src/settings.rs b/zed/src/settings.rs index 1eabc19ef0e5c6b6f8c9e3f42a1deb739ba79b8a..cc90a5a44366bc85b521e83024385cc178db7f28 100644 --- a/zed/src/settings.rs +++ b/zed/src/settings.rs @@ -75,7 +75,7 @@ pub struct UiTheme { pub modal_match_text_highlight: Color, } -#[derive(Clone, Default, Deserialize)] +#[derive(Clone, Deserialize)] #[serde(default)] pub struct EditorTheme { pub background: Color, @@ -87,7 +87,7 @@ pub struct EditorTheme { pub replicas: Vec, } -#[derive(Clone, Copy, Deserialize)] +#[derive(Clone, Copy, Deserialize, Default)] pub struct ReplicaTheme { pub cursor: Color, pub selection: Color, @@ -235,6 +235,20 @@ impl Theme { } } +impl Default for EditorTheme { + fn default() -> Self { + Self { + background: Default::default(), + gutter_background: Default::default(), + active_line_background: Default::default(), + line_number: Default::default(), + line_number_active: Default::default(), + default_text: Default::default(), + replicas: vec![ReplicaTheme::default()], + } + } +} + impl ThemeMap { pub fn new(capture_names: &[String], theme: &Theme) -> Self { // For each capture name in the highlight query, find the longest