From e505fb330ccbe819df4af3b513a0ef225cf720ec Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Wed, 8 Nov 2023 16:43:32 -0500 Subject: [PATCH 01/15] WIP --- crates/theme2/src/default_colors.rs | 128 +++++++++++++-------------- crates/theme2/src/scale.rs | 2 + crates/ui2/src/components/tooltip.rs | 4 +- 3 files changed, 68 insertions(+), 66 deletions(-) diff --git a/crates/theme2/src/default_colors.rs b/crates/theme2/src/default_colors.rs index ec57538e8f..2b3fc5ada1 100644 --- a/crates/theme2/src/default_colors.rs +++ b/crates/theme2/src/default_colors.rs @@ -102,7 +102,7 @@ impl PlayerColors { } fn neutral() -> ColorScaleSet { - slate() + olive() } impl Default for SystemColors { @@ -142,24 +142,24 @@ impl SyntaxTheme { ("boolean".into(), tomato().light().step_11().into()), ("comment".into(), neutral().light().step_11().into()), ("comment.doc".into(), iris().light().step_12().into()), - ("constant".into(), red().light().step_7().into()), - ("constructor".into(), red().light().step_7().into()), - ("embedded".into(), red().light().step_7().into()), - ("emphasis".into(), red().light().step_7().into()), - ("emphasis.strong".into(), red().light().step_7().into()), - ("enum".into(), red().light().step_7().into()), - ("function".into(), red().light().step_7().into()), - ("hint".into(), red().light().step_7().into()), + ("constant".into(), red().light().step_9().into()), + ("constructor".into(), red().light().step_9().into()), + ("embedded".into(), red().light().step_9().into()), + ("emphasis".into(), red().light().step_9().into()), + ("emphasis.strong".into(), red().light().step_9().into()), + ("enum".into(), red().light().step_9().into()), + ("function".into(), red().light().step_9().into()), + ("hint".into(), red().light().step_9().into()), ("keyword".into(), orange().light().step_11().into()), - ("label".into(), red().light().step_7().into()), - ("link_text".into(), red().light().step_7().into()), - ("link_uri".into(), red().light().step_7().into()), - ("number".into(), red().light().step_7().into()), - ("operator".into(), red().light().step_7().into()), - ("predictive".into(), red().light().step_7().into()), - ("preproc".into(), red().light().step_7().into()), - ("primary".into(), red().light().step_7().into()), - ("property".into(), red().light().step_7().into()), + ("label".into(), red().light().step_9().into()), + ("link_text".into(), red().light().step_9().into()), + ("link_uri".into(), red().light().step_9().into()), + ("number".into(), red().light().step_9().into()), + ("operator".into(), red().light().step_9().into()), + ("predictive".into(), red().light().step_9().into()), + ("preproc".into(), red().light().step_9().into()), + ("primary".into(), red().light().step_9().into()), + ("property".into(), red().light().step_9().into()), ("punctuation".into(), neutral().light().step_11().into()), ( "punctuation.bracket".into(), @@ -173,22 +173,22 @@ impl SyntaxTheme { "punctuation.list_marker".into(), blue().light().step_11().into(), ), - ("punctuation.special".into(), red().light().step_7().into()), + ("punctuation.special".into(), red().light().step_9().into()), ("string".into(), jade().light().step_11().into()), - ("string.escape".into(), red().light().step_7().into()), + ("string.escape".into(), red().light().step_9().into()), ("string.regex".into(), tomato().light().step_11().into()), - ("string.special".into(), red().light().step_7().into()), + ("string.special".into(), red().light().step_9().into()), ( "string.special.symbol".into(), - red().light().step_7().into(), + red().light().step_9().into(), ), - ("tag".into(), red().light().step_7().into()), - ("text.literal".into(), red().light().step_7().into()), - ("title".into(), red().light().step_7().into()), - ("type".into(), red().light().step_7().into()), - ("variable".into(), red().light().step_7().into()), - ("variable.special".into(), red().light().step_7().into()), - ("variant".into(), red().light().step_7().into()), + ("tag".into(), red().light().step_9().into()), + ("text.literal".into(), red().light().step_9().into()), + ("title".into(), red().light().step_9().into()), + ("type".into(), red().light().step_9().into()), + ("variable".into(), red().light().step_9().into()), + ("variable.special".into(), red().light().step_9().into()), + ("variant".into(), red().light().step_9().into()), ], inlay_style: tomato().light().step_1().into(), // todo!("nate: use a proper style") suggestion_style: orange().light().step_1().into(), // todo!("nate: use proper style") @@ -202,24 +202,24 @@ impl SyntaxTheme { ("boolean".into(), tomato().dark().step_11().into()), ("comment".into(), neutral().dark().step_11().into()), ("comment.doc".into(), iris().dark().step_12().into()), - ("constant".into(), red().dark().step_7().into()), - ("constructor".into(), red().dark().step_7().into()), - ("embedded".into(), red().dark().step_7().into()), - ("emphasis".into(), red().dark().step_7().into()), - ("emphasis.strong".into(), red().dark().step_7().into()), - ("enum".into(), red().dark().step_7().into()), - ("function".into(), red().dark().step_7().into()), - ("hint".into(), red().dark().step_7().into()), + ("constant".into(), red().dark().step_9().into()), + ("constructor".into(), red().dark().step_9().into()), + ("embedded".into(), red().dark().step_9().into()), + ("emphasis".into(), red().dark().step_9().into()), + ("emphasis.strong".into(), red().dark().step_9().into()), + ("enum".into(), red().dark().step_9().into()), + ("function".into(), red().dark().step_9().into()), + ("hint".into(), red().dark().step_9().into()), ("keyword".into(), orange().dark().step_11().into()), - ("label".into(), red().dark().step_7().into()), - ("link_text".into(), red().dark().step_7().into()), - ("link_uri".into(), red().dark().step_7().into()), - ("number".into(), red().dark().step_7().into()), - ("operator".into(), red().dark().step_7().into()), - ("predictive".into(), red().dark().step_7().into()), - ("preproc".into(), red().dark().step_7().into()), - ("primary".into(), red().dark().step_7().into()), - ("property".into(), red().dark().step_7().into()), + ("label".into(), red().dark().step_9().into()), + ("link_text".into(), red().dark().step_9().into()), + ("link_uri".into(), red().dark().step_9().into()), + ("number".into(), red().dark().step_9().into()), + ("operator".into(), red().dark().step_9().into()), + ("predictive".into(), red().dark().step_9().into()), + ("preproc".into(), red().dark().step_9().into()), + ("primary".into(), red().dark().step_9().into()), + ("property".into(), red().dark().step_9().into()), ("punctuation".into(), neutral().dark().step_11().into()), ( "punctuation.bracket".into(), @@ -233,19 +233,19 @@ impl SyntaxTheme { "punctuation.list_marker".into(), blue().dark().step_11().into(), ), - ("punctuation.special".into(), red().dark().step_7().into()), + ("punctuation.special".into(), red().dark().step_9().into()), ("string".into(), jade().dark().step_11().into()), - ("string.escape".into(), red().dark().step_7().into()), + ("string.escape".into(), red().dark().step_9().into()), ("string.regex".into(), tomato().dark().step_11().into()), - ("string.special".into(), red().dark().step_7().into()), - ("string.special.symbol".into(), red().dark().step_7().into()), - ("tag".into(), red().dark().step_7().into()), - ("text.literal".into(), red().dark().step_7().into()), - ("title".into(), red().dark().step_7().into()), - ("type".into(), red().dark().step_7().into()), - ("variable".into(), red().dark().step_7().into()), - ("variable.special".into(), red().dark().step_7().into()), - ("variant".into(), red().dark().step_7().into()), + ("string.special".into(), red().dark().step_9().into()), + ("string.special.symbol".into(), red().dark().step_9().into()), + ("tag".into(), red().dark().step_9().into()), + ("text.literal".into(), red().dark().step_9().into()), + ("title".into(), red().dark().step_9().into()), + ("type".into(), red().dark().step_9().into()), + ("variable".into(), red().dark().step_9().into()), + ("variable.special".into(), red().dark().step_9().into()), + ("variant".into(), red().dark().step_9().into()), ], inlay_style: tomato().dark().step_1().into(), // todo!("nate: use a proper style") suggestion_style: orange().dark().step_1().into(), // todo!("nate: use a proper style") @@ -278,7 +278,7 @@ impl ThemeColors { ghost_element_active: neutral().light().step_5(), ghost_element_selected: neutral().light().step_5(), ghost_element_disabled: neutral().light_alpha().step_3(), - text: neutral().light().step_12(), + text: yellow().light().step_9(), text_muted: neutral().light().step_11(), text_placeholder: neutral().light().step_10(), text_disabled: neutral().light().step_9(), @@ -350,8 +350,8 @@ impl ThemeColors { ghost_element_active: neutral().dark().step_5(), ghost_element_selected: neutral().dark().step_5(), ghost_element_disabled: neutral().dark_alpha().step_3(), - text: neutral().dark().step_12(), - text_muted: neutral().dark().step_11(), + text: green().dark().step_9(), + text_muted: blue().dark().step_9(), text_placeholder: neutral().dark().step_10(), text_disabled: neutral().dark().step_9(), text_accent: blue().dark().step_11(), @@ -367,11 +367,11 @@ impl ThemeColors { tab_active_background: neutral().dark().step_1(), tab_inactive_background: neutral().dark().step_2(), editor_background: neutral().dark().step_1(), - editor_gutter_background: neutral().dark().step_1(), // todo!("pick the right colors") - editor_subheader_background: neutral().dark().step_2(), + editor_gutter_background: neutral().dark().step_1(), + editor_subheader_background: neutral().dark().step_3(), editor_active_line_background: neutral().dark_alpha().step_3(), - editor_line_number: neutral().dark_alpha().step_3(), // todo!("pick the right colors") - editor_active_line_number: neutral().dark_alpha().step_3(), // todo!("pick the right colors") + editor_line_number: neutral().dark_alpha().step_10(), + editor_active_line_number: neutral().dark_alpha().step_12(), editor_highlighted_line_background: neutral().dark_alpha().step_4(), // todo!("pick the right colors") editor_invisible: neutral().dark_alpha().step_4(), // todo!("pick the right colors") editor_wrap_guide: neutral().dark_alpha().step_4(), // todo!("pick the right colors") diff --git a/crates/theme2/src/scale.rs b/crates/theme2/src/scale.rs index 8b561c8472..c1c2ff924c 100644 --- a/crates/theme2/src/scale.rs +++ b/crates/theme2/src/scale.rs @@ -128,6 +128,8 @@ impl ColorScale { } /// `Step 10` - Used for hovered or active solid backgrounds, particularly when `Step 9` is their normal state. + /// + /// May also be used for extremely low contrast text. This should be used sparingly, as it may be difficult to read. #[inline] pub fn step_10(&self) -> Hsla { self.step(ColorScaleStep::TEN) diff --git a/crates/ui2/src/components/tooltip.rs b/crates/ui2/src/components/tooltip.rs index 8463092012..87860ce943 100644 --- a/crates/ui2/src/components/tooltip.rs +++ b/crates/ui2/src/components/tooltip.rs @@ -1,4 +1,4 @@ -use gpui::{div, px, Div, ParentElement, Render, SharedString, Styled, ViewContext}; +use gpui::{div, Div, ParentElement, Render, SharedString, Styled, ViewContext}; use theme2::ActiveTheme; #[derive(Clone, Debug)] @@ -19,7 +19,7 @@ impl Render for TextTooltip { let theme = cx.theme(); div() .bg(theme.colors().background) - .rounded(px(8.)) + .rounded_lg() .border() .font("Zed Sans") .border_color(theme.colors().border) From 25c8b19dfb4f207960836b9ce1584da891a40ca2 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 01:21:22 -0500 Subject: [PATCH 02/15] WIP --- crates/theme2/src/default_colors.rs | 75 +++++++++++++++-------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/crates/theme2/src/default_colors.rs b/crates/theme2/src/default_colors.rs index 2b3fc5ada1..92e38ed39e 100644 --- a/crates/theme2/src/default_colors.rs +++ b/crates/theme2/src/default_colors.rs @@ -102,7 +102,7 @@ impl PlayerColors { } fn neutral() -> ColorScaleSet { - olive() + slate() } impl Default for SystemColors { @@ -198,28 +198,28 @@ impl SyntaxTheme { pub fn default_dark() -> Self { Self { highlights: vec![ - ("attribute".into(), cyan().dark().step_11().into()), + ("attribute".into(), tomato().dark().step_11().into()), ("boolean".into(), tomato().dark().step_11().into()), ("comment".into(), neutral().dark().step_11().into()), ("comment.doc".into(), iris().dark().step_12().into()), - ("constant".into(), red().dark().step_9().into()), - ("constructor".into(), red().dark().step_9().into()), - ("embedded".into(), red().dark().step_9().into()), - ("emphasis".into(), red().dark().step_9().into()), - ("emphasis.strong".into(), red().dark().step_9().into()), - ("enum".into(), red().dark().step_9().into()), - ("function".into(), red().dark().step_9().into()), - ("hint".into(), red().dark().step_9().into()), - ("keyword".into(), orange().dark().step_11().into()), - ("label".into(), red().dark().step_9().into()), - ("link_text".into(), red().dark().step_9().into()), - ("link_uri".into(), red().dark().step_9().into()), - ("number".into(), red().dark().step_9().into()), - ("operator".into(), red().dark().step_9().into()), - ("predictive".into(), red().dark().step_9().into()), - ("preproc".into(), red().dark().step_9().into()), - ("primary".into(), red().dark().step_9().into()), - ("property".into(), red().dark().step_9().into()), + ("constant".into(), orange().dark().step_11().into()), + ("constructor".into(), gold().dark().step_11().into()), + ("embedded".into(), red().dark().step_11().into()), + ("emphasis".into(), red().dark().step_11().into()), + ("emphasis.strong".into(), red().dark().step_11().into()), + ("enum".into(), yellow().dark().step_11().into()), + ("function".into(), blue().dark().step_11().into()), + ("hint".into(), indigo().dark().step_11().into()), + ("keyword".into(), plum().dark().step_11().into()), + ("label".into(), red().dark().step_11().into()), + ("link_text".into(), red().dark().step_11().into()), + ("link_uri".into(), red().dark().step_11().into()), + ("number".into(), red().dark().step_11().into()), + ("operator".into(), red().dark().step_11().into()), + ("predictive".into(), red().dark().step_11().into()), + ("preproc".into(), red().dark().step_11().into()), + ("primary".into(), red().dark().step_11().into()), + ("property".into(), red().dark().step_11().into()), ("punctuation".into(), neutral().dark().step_11().into()), ( "punctuation.bracket".into(), @@ -233,22 +233,25 @@ impl SyntaxTheme { "punctuation.list_marker".into(), blue().dark().step_11().into(), ), - ("punctuation.special".into(), red().dark().step_9().into()), - ("string".into(), jade().dark().step_11().into()), - ("string.escape".into(), red().dark().step_9().into()), + ("punctuation.special".into(), red().dark().step_11().into()), + ("string".into(), lime().dark().step_11().into()), + ("string.escape".into(), orange().dark().step_11().into()), ("string.regex".into(), tomato().dark().step_11().into()), - ("string.special".into(), red().dark().step_9().into()), - ("string.special.symbol".into(), red().dark().step_9().into()), - ("tag".into(), red().dark().step_9().into()), - ("text.literal".into(), red().dark().step_9().into()), - ("title".into(), red().dark().step_9().into()), - ("type".into(), red().dark().step_9().into()), - ("variable".into(), red().dark().step_9().into()), - ("variable.special".into(), red().dark().step_9().into()), - ("variant".into(), red().dark().step_9().into()), + ("string.special".into(), red().dark().step_11().into()), + ( + "string.special.symbol".into(), + red().dark().step_11().into(), + ), + ("tag".into(), red().dark().step_11().into()), + ("text.literal".into(), purple().dark().step_11().into()), + ("title".into(), sky().dark().step_11().into()), + ("type".into(), mint().dark().step_11().into()), + ("variable".into(), red().dark().step_11().into()), + ("variable.special".into(), red().dark().step_11().into()), + ("variant".into(), red().dark().step_11().into()), ], - inlay_style: tomato().dark().step_1().into(), // todo!("nate: use a proper style") - suggestion_style: orange().dark().step_1().into(), // todo!("nate: use a proper style") + inlay_style: neutral().dark().step_11().into(), // todo!("nate: use a proper style") + suggestion_style: orange().dark().step_11().into(), // todo!("nate: use a proper style") } } } @@ -350,8 +353,8 @@ impl ThemeColors { ghost_element_active: neutral().dark().step_5(), ghost_element_selected: neutral().dark().step_5(), ghost_element_disabled: neutral().dark_alpha().step_3(), - text: green().dark().step_9(), - text_muted: blue().dark().step_9(), + text: neutral().dark().step_12(), + text_muted: neutral().dark().step_11(), text_placeholder: neutral().dark().step_10(), text_disabled: neutral().dark().step_9(), text_accent: blue().dark().step_11(), From bdeb32c34b8654623974b5d5b811bd72f8126361 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 01:39:31 -0500 Subject: [PATCH 03/15] Extend VSCode theme importer --- crates/theme2/src/themes/andromeda.rs | 8 +++++ crates/theme2/src/themes/ayu.rs | 12 +++++++ crates/theme2/src/themes/dracula.rs | 4 +++ crates/theme2/src/themes/gruvbox.rs | 24 +++++++++++++ crates/theme2/src/themes/night_owl.rs | 8 +++++ crates/theme2/src/themes/nord.rs | 4 +++ crates/theme2/src/themes/notctis.rs | 44 ++++++++++++++++++++++++ crates/theme2/src/themes/palenight.rs | 12 +++++++ crates/theme2/src/themes/rose_pine.rs | 12 +++++++ crates/theme2/src/themes/solarized.rs | 6 ++++ crates/theme2/src/themes/synthwave_84.rs | 3 ++ crates/theme_importer/src/vscode.rs | 16 +++++++++ 12 files changed, 153 insertions(+) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 22a0a8741c..72354a79a8 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -30,6 +30,10 @@ pub fn andromeda() -> UserThemeFamily { text: Some(rgba(0xd4cdd8ff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x23262eff).into()), + editor_background: Some(rgba(0x23262eff).into()), + editor_gutter_background: Some(rgba(0x23262eff).into()), + editor_line_number: Some(rgba(0x746f77ff).into()), + editor_active_line_number: Some(rgba(0xd4cdd8ff).into()), terminal_ansi_bright_red: Some(rgba(0xee5d42ff).into()), terminal_ansi_bright_green: Some(rgba(0x95e072ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffe66dff).into()), @@ -64,6 +68,10 @@ pub fn andromeda() -> UserThemeFamily { text: Some(rgba(0xd4cdd8ff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x262933ff).into()), + editor_background: Some(rgba(0x262933ff).into()), + editor_gutter_background: Some(rgba(0x262933ff).into()), + editor_line_number: Some(rgba(0x746f77ff).into()), + editor_active_line_number: Some(rgba(0xd4cdd8ff).into()), terminal_ansi_bright_red: Some(rgba(0xee5d42ff).into()), terminal_ansi_bright_green: Some(rgba(0x95e072ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffe66dff).into()), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 8d79289046..b27f62b442 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -30,6 +30,10 @@ pub fn ayu() -> UserThemeFamily { text: Some(rgba(0x8a9199ff).into()), tab_inactive_background: Some(rgba(0xf8f9faff).into()), tab_active_background: Some(rgba(0xf8f9faff).into()), + editor_background: Some(rgba(0xf8f9faff).into()), + editor_gutter_background: Some(rgba(0xf8f9faff).into()), + editor_line_number: Some(rgba(0x8a919966).into()), + editor_active_line_number: Some(rgba(0x5c6166ff).into()), terminal_background: Some(rgba(0xf8f9faff).into()), terminal_ansi_bright_black: Some(rgba(0x686868ff).into()), terminal_ansi_bright_red: Some(rgba(0xef7070ff).into()), @@ -69,6 +73,10 @@ pub fn ayu() -> UserThemeFamily { text: Some(rgba(0x707a8cff).into()), tab_inactive_background: Some(rgba(0x1f2430ff).into()), tab_active_background: Some(rgba(0x1f2430ff).into()), + editor_background: Some(rgba(0x1f2430ff).into()), + editor_gutter_background: Some(rgba(0x1f2430ff).into()), + editor_line_number: Some(rgba(0x8a919966).into()), + editor_active_line_number: Some(rgba(0xcccac2ff).into()), terminal_background: Some(rgba(0x1f2430ff).into()), terminal_ansi_bright_black: Some(rgba(0x686868ff).into()), terminal_ansi_bright_red: Some(rgba(0xf18678ff).into()), @@ -108,6 +116,10 @@ pub fn ayu() -> UserThemeFamily { text: Some(rgba(0x565b66ff).into()), tab_inactive_background: Some(rgba(0x0b0e14ff).into()), tab_active_background: Some(rgba(0x0b0e14ff).into()), + editor_background: Some(rgba(0x0b0e14ff).into()), + editor_gutter_background: Some(rgba(0x0b0e14ff).into()), + editor_line_number: Some(rgba(0x6c738099).into()), + editor_active_line_number: Some(rgba(0xbfbdb6ff).into()), terminal_background: Some(rgba(0x0b0e14ff).into()), terminal_ansi_bright_black: Some(rgba(0x686868ff).into()), terminal_ansi_bright_red: Some(rgba(0xef7077ff).into()), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 57c04851a5..ac5d594b9f 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -29,6 +29,10 @@ pub fn dracula() -> UserThemeFamily { text: Some(rgba(0xf8f8f2ff).into()), tab_inactive_background: Some(rgba(0x21222cff).into()), tab_active_background: Some(rgba(0x282a35ff).into()), + editor_background: Some(rgba(0x282a35ff).into()), + editor_gutter_background: Some(rgba(0x282a35ff).into()), + editor_line_number: Some(rgba(0x6272a4ff).into()), + editor_active_line_number: Some(rgba(0xf8f8f2ff).into()), terminal_background: Some(rgba(0x282a35ff).into()), terminal_ansi_bright_black: Some(rgba(0x6272a4ff).into()), terminal_ansi_bright_red: Some(rgba(0xff6d6dff).into()), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 2e79b250da..2c388079a5 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -28,6 +28,10 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), tab_inactive_background: Some(rgba(0x1d2021ff).into()), tab_active_background: Some(rgba(0x32302fff).into()), + editor_background: Some(rgba(0x1d2021ff).into()), + editor_gutter_background: Some(rgba(0x1d2021ff).into()), + editor_line_number: Some(rgba(0x665c54ff).into()), + editor_active_line_number: Some(rgba(0xebdbb2ff).into()), terminal_background: Some(rgba(0x1d2021ff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), @@ -65,6 +69,10 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), tab_inactive_background: Some(rgba(0x282828ff).into()), tab_active_background: Some(rgba(0x3c3836ff).into()), + editor_background: Some(rgba(0x282828ff).into()), + editor_gutter_background: Some(rgba(0x282828ff).into()), + editor_line_number: Some(rgba(0x665c54ff).into()), + editor_active_line_number: Some(rgba(0xebdbb2ff).into()), terminal_background: Some(rgba(0x282828ff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), @@ -102,6 +110,10 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), tab_inactive_background: Some(rgba(0x32302fff).into()), tab_active_background: Some(rgba(0x504945ff).into()), + editor_background: Some(rgba(0x32302fff).into()), + editor_gutter_background: Some(rgba(0x32302fff).into()), + editor_line_number: Some(rgba(0x665c54ff).into()), + editor_active_line_number: Some(rgba(0xebdbb2ff).into()), terminal_background: Some(rgba(0x32302fff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), @@ -139,6 +151,10 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), tab_active_background: Some(rgba(0xf2e5bcff).into()), + editor_background: Some(rgba(0xf9f5d7ff).into()), + editor_gutter_background: Some(rgba(0xf9f5d7ff).into()), + editor_line_number: Some(rgba(0xbdae93ff).into()), + editor_active_line_number: Some(rgba(0x3c3836ff).into()), terminal_background: Some(rgba(0xf9f5d7ff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), @@ -176,6 +192,10 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), tab_active_background: Some(rgba(0xebdbb2ff).into()), + editor_background: Some(rgba(0xfbf1c7ff).into()), + editor_gutter_background: Some(rgba(0xfbf1c7ff).into()), + editor_line_number: Some(rgba(0xbdae93ff).into()), + editor_active_line_number: Some(rgba(0x3c3836ff).into()), terminal_background: Some(rgba(0xfbf1c7ff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), @@ -213,6 +233,10 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), tab_inactive_background: Some(rgba(0xf2e5bcff).into()), tab_active_background: Some(rgba(0xd5c4a1ff).into()), + editor_background: Some(rgba(0xf2e5bcff).into()), + editor_gutter_background: Some(rgba(0xf2e5bcff).into()), + editor_line_number: Some(rgba(0xbdae93ff).into()), + editor_active_line_number: Some(rgba(0x3c3836ff).into()), terminal_background: Some(rgba(0xf2e5bcff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 90ae45f879..24fa9e6073 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -30,6 +30,10 @@ pub fn night_owl() -> UserThemeFamily { text: Some(rgba(0xd6deebff).into()), tab_inactive_background: Some(rgba(0x01101cff).into()), tab_active_background: Some(rgba(0x0a2842ff).into()), + editor_background: Some(rgba(0x011526ff).into()), + editor_gutter_background: Some(rgba(0x011526ff).into()), + editor_line_number: Some(rgba(0x4b6479ff).into()), + editor_active_line_number: Some(rgba(0xd6deebff).into()), terminal_ansi_bright_black: Some(rgba(0x575656ff).into()), terminal_ansi_bright_red: Some(rgba(0xef524fff).into()), terminal_ansi_bright_green: Some(rgba(0x21da6eff).into()), @@ -68,6 +72,10 @@ pub fn night_owl() -> UserThemeFamily { text: Some(rgba(0x403f53ff).into()), tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), tab_active_background: Some(rgba(0xf6f6f6ff).into()), + editor_background: Some(rgba(0xfbfbfbff).into()), + editor_gutter_background: Some(rgba(0xfbfbfbff).into()), + editor_line_number: Some(rgba(0x90a7b2ff).into()), + editor_active_line_number: Some(rgba(0x403f53ff).into()), terminal_background: Some(rgba(0xf6f6f6ff).into()), terminal_ansi_bright_black: Some(rgba(0x403f53ff).into()), terminal_ansi_bright_red: Some(rgba(0xde3c3aff).into()), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index b1dedd6b16..5b8688737a 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -29,6 +29,10 @@ pub fn nord() -> UserThemeFamily { text: Some(rgba(0xd8dee9ff).into()), tab_inactive_background: Some(rgba(0x2e3440ff).into()), tab_active_background: Some(rgba(0x3b4252ff).into()), + editor_background: Some(rgba(0x2e3440ff).into()), + editor_gutter_background: Some(rgba(0x2e3440ff).into()), + editor_line_number: Some(rgba(0x4c566aff).into()), + editor_active_line_number: Some(rgba(0xd8dee9ff).into()), terminal_background: Some(rgba(0x2e3440ff).into()), terminal_ansi_bright_black: Some(rgba(0x4c566aff).into()), terminal_ansi_bright_red: Some(rgba(0xbf616aff).into()), diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index f5b8f1207d..bb835c5397 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -30,6 +30,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xbecfdaff).into()), tab_inactive_background: Some(rgba(0x08324eff).into()), tab_active_background: Some(rgba(0x07263aff).into()), + editor_background: Some(rgba(0x07263aff).into()), + editor_gutter_background: Some(rgba(0x07263aff).into()), + editor_line_number: Some(rgba(0x4c6b7fff).into()), + editor_active_line_number: Some(rgba(0xbecfdaff).into()), terminal_background: Some(rgba(0x051b28ff).into()), terminal_ansi_bright_black: Some(rgba(0x475e6cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), @@ -69,6 +73,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xcbbec2ff).into()), tab_inactive_background: Some(rgba(0x413036ff).into()), tab_active_background: Some(rgba(0x322a2dff).into()), + editor_background: Some(rgba(0x322a2dff).into()), + editor_gutter_background: Some(rgba(0x322a2dff).into()), + editor_line_number: Some(rgba(0x715b63ff).into()), + editor_active_line_number: Some(rgba(0xcbbec2ff).into()), terminal_background: Some(rgba(0x272022ff).into()), terminal_ansi_bright_black: Some(rgba(0x69545bff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), @@ -108,6 +116,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0x005661ff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), tab_active_background: Some(rgba(0xf4f6f6ff).into()), + editor_background: Some(rgba(0xf4f6f6ff).into()), + editor_gutter_background: Some(rgba(0xf4f6f6ff).into()), + editor_line_number: Some(rgba(0xa0abacff).into()), + editor_active_line_number: Some(rgba(0x005661ff).into()), terminal_background: Some(rgba(0xe1eeefff).into()), terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), @@ -147,6 +159,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0x0c006bff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), + editor_background: Some(rgba(0xf2f1f8ff).into()), + editor_gutter_background: Some(rgba(0xf2f1f8ff).into()), + editor_line_number: Some(rgba(0x9c99b0ff).into()), + editor_active_line_number: Some(rgba(0x0c006bff).into()), terminal_background: Some(rgba(0xe9e7f3ff).into()), terminal_ansi_bright_black: Some(rgba(0x0f0080ff).into()), terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), @@ -186,6 +202,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0x005661ff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), + editor_background: Some(rgba(0xfef8ecff).into()), + editor_gutter_background: Some(rgba(0xfef8ecff).into()), + editor_line_number: Some(rgba(0xa0abacff).into()), + editor_active_line_number: Some(rgba(0x005661ff).into()), terminal_background: Some(rgba(0xf6eddaff).into()), terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), @@ -225,6 +245,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xc5cdd3ff).into()), tab_inactive_background: Some(rgba(0x202d37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), + editor_background: Some(rgba(0x1b2932ff).into()), + editor_gutter_background: Some(rgba(0x1b2932ff).into()), + editor_line_number: Some(rgba(0x5d6e79ff).into()), + editor_active_line_number: Some(rgba(0xc5cdd3ff).into()), terminal_background: Some(rgba(0x0e1920ff).into()), terminal_ansi_bright_black: Some(rgba(0x425866ff).into()), terminal_ansi_bright_red: Some(rgba(0xca8468ff).into()), @@ -264,6 +288,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xb1c9ccff).into()), tab_inactive_background: Some(rgba(0x052e32ff).into()), tab_active_background: Some(rgba(0x052428ff).into()), + editor_background: Some(rgba(0x052428ff).into()), + editor_gutter_background: Some(rgba(0x052428ff).into()), + editor_line_number: Some(rgba(0x4e6b6eff).into()), + editor_active_line_number: Some(rgba(0xb1c9ccff).into()), terminal_background: Some(rgba(0x03181aff).into()), terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), @@ -303,6 +331,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xb1c9ccff).into()), tab_inactive_background: Some(rgba(0x052e32ff).into()), tab_active_background: Some(rgba(0x031316ff).into()), + editor_background: Some(rgba(0x031316ff).into()), + editor_gutter_background: Some(rgba(0x031316ff).into()), + editor_line_number: Some(rgba(0x4e6b6eff).into()), + editor_active_line_number: Some(rgba(0xb1c9ccff).into()), terminal_background: Some(rgba(0x020c0eff).into()), terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), @@ -342,6 +374,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xb1c9ccff).into()), tab_inactive_background: Some(rgba(0x052e32ff).into()), tab_active_background: Some(rgba(0x031316ff).into()), + editor_background: Some(rgba(0x031316ff).into()), + editor_gutter_background: Some(rgba(0x031316ff).into()), + editor_line_number: Some(rgba(0x4e6b6eff).into()), + editor_active_line_number: Some(rgba(0xb1c9ccff).into()), terminal_background: Some(rgba(0x020c0eff).into()), terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), @@ -381,6 +417,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xc5c2d6ff).into()), tab_inactive_background: Some(rgba(0x2f2c49ff).into()), tab_active_background: Some(rgba(0x292640ff).into()), + editor_background: Some(rgba(0x292640ff).into()), + editor_gutter_background: Some(rgba(0x292640ff).into()), + editor_line_number: Some(rgba(0x5c5973ff).into()), + editor_active_line_number: Some(rgba(0xc5c2d6ff).into()), terminal_background: Some(rgba(0x1f1d30ff).into()), terminal_ansi_bright_black: Some(rgba(0x504e65ff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), @@ -420,6 +460,10 @@ pub fn notctis() -> UserThemeFamily { text: Some(rgba(0xccbfd9ff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), + editor_background: Some(rgba(0x30243dff).into()), + editor_gutter_background: Some(rgba(0x30243dff).into()), + editor_line_number: Some(rgba(0x665973ff).into()), + editor_active_line_number: Some(rgba(0xccbfd9ff).into()), terminal_background: Some(rgba(0x291d35ff).into()), terminal_ansi_bright_black: Some(rgba(0x594e65ff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 7ed27d3b75..6e5651fe03 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -30,6 +30,10 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292c3eff).into()), + editor_background: Some(rgba(0x292c3eff).into()), + editor_gutter_background: Some(rgba(0x292c3eff).into()), + editor_line_number: Some(rgba(0x4c5374ff).into()), + editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), @@ -68,6 +72,10 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292c3eff).into()), + editor_background: Some(rgba(0x292c3eff).into()), + editor_gutter_background: Some(rgba(0x292c3eff).into()), + editor_line_number: Some(rgba(0x4c5374ff).into()), + editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), @@ -106,6 +114,10 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x25283aff).into()), + editor_background: Some(rgba(0x292c3eff).into()), + editor_gutter_background: Some(rgba(0x292c3eff).into()), + editor_line_number: Some(rgba(0x4c5374ff).into()), + editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 913af127fb..f12b9090d4 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -30,6 +30,10 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0xe0def4ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), + editor_background: Some(rgba(0x191724ff).into()), + editor_gutter_background: Some(rgba(0x191724ff).into()), + editor_line_number: Some(rgba(0x908caaff).into()), + editor_active_line_number: Some(rgba(0xe0def4ff).into()), terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), terminal_ansi_bright_green: Some(rgba(0x30738fff).into()), @@ -68,6 +72,10 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0xe0def4ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x817c9c14).into()), + editor_background: Some(rgba(0x232136ff).into()), + editor_gutter_background: Some(rgba(0x232136ff).into()), + editor_line_number: Some(rgba(0x908caaff).into()), + editor_active_line_number: Some(rgba(0xe0def4ff).into()), terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), terminal_ansi_bright_green: Some(rgba(0x3d8fb0ff).into()), @@ -106,6 +114,10 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0x575279ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), + editor_background: Some(rgba(0xfaf4edff).into()), + editor_gutter_background: Some(rgba(0xfaf4edff).into()), + editor_line_number: Some(rgba(0x797593ff).into()), + editor_active_line_number: Some(rgba(0x575279ff).into()), terminal_ansi_bright_black: Some(rgba(0x797593ff).into()), terminal_ansi_bright_red: Some(rgba(0xb3627aff).into()), terminal_ansi_bright_green: Some(rgba(0x276983ff).into()), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 0a78328e2e..41a8e21e5a 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -27,6 +27,9 @@ pub fn solarized() -> UserThemeFamily { element_background: Some(rgba(0x29a19899).into()), tab_inactive_background: Some(rgba(0x003f51ff).into()), tab_active_background: Some(rgba(0x002a36ff).into()), + editor_background: Some(rgba(0x002a35ff).into()), + editor_gutter_background: Some(rgba(0x002a35ff).into()), + editor_line_number: Some(rgba(0x566c74ff).into()), terminal_ansi_bright_black: Some(rgba(0x586e75ff).into()), terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), @@ -62,6 +65,9 @@ pub fn solarized() -> UserThemeFamily { element_background: Some(rgba(0xab9d56ff).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), + editor_background: Some(rgba(0xfdf6e3ff).into()), + editor_gutter_background: Some(rgba(0xfdf6e3ff).into()), + editor_line_number: Some(rgba(0x9ca8a6ff).into()), terminal_ansi_bright_black: Some(rgba(0x657b83ff).into()), terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 8c0520ee11..9f157ade61 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -20,6 +20,9 @@ pub fn synthwave_84() -> UserThemeFamily { element_background: Some(rgba(0x614d85ff).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x252334ff).into()), + editor_background: Some(rgba(0x252334ff).into()), + editor_gutter_background: Some(rgba(0x252334ff).into()), + editor_line_number: Some(rgba(0xffffff73).into()), terminal_ansi_bright_red: Some(rgba(0xfe444fff).into()), terminal_ansi_bright_green: Some(rgba(0x71f1b7ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xfede5cff).into()), diff --git a/crates/theme_importer/src/vscode.rs b/crates/theme_importer/src/vscode.rs index 5a09870dc8..864aa47ea2 100644 --- a/crates/theme_importer/src/vscode.rs +++ b/crates/theme_importer/src/vscode.rs @@ -488,6 +488,22 @@ impl VsCodeThemeConverter { .tab_inactive_background .as_ref() .traverse(|color| try_parse_color(&color))?, + editor_background: vscode_colors + .editor_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_gutter_background: vscode_colors + .editor_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_line_number: vscode_colors + .editor_line_number_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_active_line_number: vscode_colors + .editor_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, terminal_background: vscode_colors .terminal_background .as_ref() From 7253160b042c3900909dca3ec618c35243ec3fce Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 11:01:18 -0500 Subject: [PATCH 04/15] Add more vscode colors --- crates/theme_importer/src/vscode.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/crates/theme_importer/src/vscode.rs b/crates/theme_importer/src/vscode.rs index 864aa47ea2..2456f77f3a 100644 --- a/crates/theme_importer/src/vscode.rs +++ b/crates/theme_importer/src/vscode.rs @@ -445,7 +445,7 @@ impl VsCodeThemeConverter { .as_ref() .traverse(|color| try_parse_color(&color))?, border_focused: vscode_colors - .panel_border + .focus_border .as_ref() .traverse(|color| try_parse_color(&color))?, border_disabled: vscode_colors @@ -476,6 +476,22 @@ impl VsCodeThemeConverter { .button_background .as_ref() .traverse(|color| try_parse_color(&color))?, + element_hover: vscode_colors + .list_hover_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + element_selected: vscode_colors + .list_active_selection_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + ghost_element_hover: vscode_colors + .list_hover_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + drop_target_background: vscode_colors + .list_drop_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, text: vscode_colors .foreground .as_ref() From 4b5ca3e420f990f2a0fafeec4ec25f5af0a5362e Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 11:30:59 -0500 Subject: [PATCH 05/15] Allow imported themes to refine StatusColors Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> --- crates/theme2/src/colors.rs | 2 +- crates/theme2/src/themes/andromeda.rs | 27 +++- crates/theme2/src/themes/ayu.rs | 36 ++++- crates/theme2/src/themes/dracula.rs | 16 ++- crates/theme2/src/themes/gruvbox.rs | 63 ++++++++- crates/theme2/src/themes/night_owl.rs | 27 +++- crates/theme2/src/themes/nord.rs | 14 +- crates/theme2/src/themes/notctis.rs | 146 +++++++++++++++++++-- crates/theme2/src/themes/palenight.rs | 33 ++++- crates/theme2/src/themes/rose_pine.rs | 42 +++++- crates/theme2/src/themes/solarized.rs | 24 +++- crates/theme2/src/themes/synthwave_84.rs | 14 +- crates/theme2/src/user_theme.rs | 4 +- crates/theme_importer/src/main.rs | 2 +- crates/theme_importer/src/theme_printer.rs | 51 ++++--- crates/theme_importer/src/vscode.rs | 30 ++++- 16 files changed, 475 insertions(+), 56 deletions(-) diff --git a/crates/theme2/src/colors.rs b/crates/theme2/src/colors.rs index 83af983d04..086b1ed767 100644 --- a/crates/theme2/src/colors.rs +++ b/crates/theme2/src/colors.rs @@ -14,7 +14,7 @@ pub struct SystemColors { } #[derive(Refineable, Clone, Debug)] -#[refineable(debug)] +#[refineable(debug, deserialize)] pub struct StatusColors { pub conflict: Hsla, pub created: Hsla, diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 72354a79a8..6afff66df1 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn andromeda() -> UserThemeFamily { @@ -19,7 +20,7 @@ pub fn andromeda() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x1b1d23ff).into()), border_variant: Some(rgba(0x1b1d23ff).into()), - border_focused: Some(rgba(0x1b1d23ff).into()), + border_focused: Some(rgba(0x746f77ff).into()), border_selected: Some(rgba(0x1b1d23ff).into()), border_transparent: Some(rgba(0x1b1d23ff).into()), border_disabled: Some(rgba(0x1b1d23ff).into()), @@ -27,6 +28,10 @@ pub fn andromeda() -> UserThemeFamily { surface_background: Some(rgba(0x23262eff).into()), background: Some(rgba(0x23262eff).into()), element_background: Some(rgba(0x00e8c5cc).into()), + element_hover: Some(rgba(0x23262eff).into()), + element_selected: Some(rgba(0x23262eff).into()), + drop_target_background: Some(rgba(0x3a404eff).into()), + ghost_element_hover: Some(rgba(0x23262eff).into()), text: Some(rgba(0xd4cdd8ff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x23262eff).into()), @@ -48,6 +53,12 @@ pub fn andromeda() -> UserThemeFamily { terminal_ansi_cyan: Some(rgba(0x00e8c6ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfc634cff).into()), + error: Some(rgba(0xfc634cff).into()), + hidden: Some(rgba(0x746f77ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -57,7 +68,7 @@ pub fn andromeda() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x1b1d23ff).into()), border_variant: Some(rgba(0x1b1d23ff).into()), - border_focused: Some(rgba(0x1b1d23ff).into()), + border_focused: Some(rgba(0x746f77ff).into()), border_selected: Some(rgba(0x1b1d23ff).into()), border_transparent: Some(rgba(0x1b1d23ff).into()), border_disabled: Some(rgba(0x1b1d23ff).into()), @@ -65,6 +76,10 @@ pub fn andromeda() -> UserThemeFamily { surface_background: Some(rgba(0x23262eff).into()), background: Some(rgba(0x262933ff).into()), element_background: Some(rgba(0x00e8c5cc).into()), + element_hover: Some(rgba(0x23262eff).into()), + element_selected: Some(rgba(0x23262eff).into()), + drop_target_background: Some(rgba(0x3a404eff).into()), + ghost_element_hover: Some(rgba(0x23262eff).into()), text: Some(rgba(0xd4cdd8ff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x262933ff).into()), @@ -86,6 +101,12 @@ pub fn andromeda() -> UserThemeFamily { terminal_ansi_cyan: Some(rgba(0x00e8c6ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfc634cff).into()), + error: Some(rgba(0xfc634cff).into()), + hidden: Some(rgba(0x746f77ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index b27f62b442..8454c0af46 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn ayu() -> UserThemeFamily { @@ -19,7 +20,7 @@ pub fn ayu() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x6b7d8f1f).into()), border_variant: Some(rgba(0x6b7d8f1f).into()), - border_focused: Some(rgba(0x6b7d8f1f).into()), + border_focused: Some(rgba(0xffaa32b3).into()), border_selected: Some(rgba(0x6b7d8f1f).into()), border_transparent: Some(rgba(0x6b7d8f1f).into()), border_disabled: Some(rgba(0x6b7d8f1f).into()), @@ -27,6 +28,9 @@ pub fn ayu() -> UserThemeFamily { surface_background: Some(rgba(0xf8f9faff).into()), background: Some(rgba(0xf8f9faff).into()), element_background: Some(rgba(0xffaa32ff).into()), + element_hover: Some(rgba(0x55728f1f).into()), + element_selected: Some(rgba(0x55728f1f).into()), + ghost_element_hover: Some(rgba(0x55728f1f).into()), text: Some(rgba(0x8a9199ff).into()), tab_inactive_background: Some(rgba(0xf8f9faff).into()), tab_active_background: Some(rgba(0xf8f9faff).into()), @@ -53,6 +57,12 @@ pub fn ayu() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe65050ff).into()), + error: Some(rgba(0xe65050ff).into()), + hidden: Some(rgba(0x8a9199ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -62,7 +72,7 @@ pub fn ayu() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x171a24ff).into()), border_variant: Some(rgba(0x171a24ff).into()), - border_focused: Some(rgba(0x171a24ff).into()), + border_focused: Some(rgba(0xffcb65b3).into()), border_selected: Some(rgba(0x171a24ff).into()), border_transparent: Some(rgba(0x171a24ff).into()), border_disabled: Some(rgba(0x171a24ff).into()), @@ -70,6 +80,9 @@ pub fn ayu() -> UserThemeFamily { surface_background: Some(rgba(0x1f2430ff).into()), background: Some(rgba(0x1f2430ff).into()), element_background: Some(rgba(0xffcb65ff).into()), + element_hover: Some(rgba(0x63759926).into()), + element_selected: Some(rgba(0x63759926).into()), + ghost_element_hover: Some(rgba(0x63759926).into()), text: Some(rgba(0x707a8cff).into()), tab_inactive_background: Some(rgba(0x1f2430ff).into()), tab_active_background: Some(rgba(0x1f2430ff).into()), @@ -96,6 +109,12 @@ pub fn ayu() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff6565ff).into()), + error: Some(rgba(0xff6565ff).into()), + hidden: Some(rgba(0x707a8cff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -105,7 +124,7 @@ pub fn ayu() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x1e232bff).into()), border_variant: Some(rgba(0x1e232bff).into()), - border_focused: Some(rgba(0x1e232bff).into()), + border_focused: Some(rgba(0xe6b450b3).into()), border_selected: Some(rgba(0x1e232bff).into()), border_transparent: Some(rgba(0x1e232bff).into()), border_disabled: Some(rgba(0x1e232bff).into()), @@ -113,6 +132,9 @@ pub fn ayu() -> UserThemeFamily { surface_background: Some(rgba(0x0b0e14ff).into()), background: Some(rgba(0x0b0e14ff).into()), element_background: Some(rgba(0xe6b450ff).into()), + element_hover: Some(rgba(0x47526640).into()), + element_selected: Some(rgba(0x47526640).into()), + ghost_element_hover: Some(rgba(0x47526640).into()), text: Some(rgba(0x565b66ff).into()), tab_inactive_background: Some(rgba(0x0b0e14ff).into()), tab_active_background: Some(rgba(0x0b0e14ff).into()), @@ -139,6 +161,12 @@ pub fn ayu() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xd95757ff).into()), + error: Some(rgba(0xd95757ff).into()), + hidden: Some(rgba(0x565b66ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index ac5d594b9f..2a30f5a0c0 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn dracula() -> UserThemeFamily { @@ -18,7 +19,7 @@ pub fn dracula() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0xbd93f9ff).into()), border_variant: Some(rgba(0xbd93f9ff).into()), - border_focused: Some(rgba(0xbd93f9ff).into()), + border_focused: Some(rgba(0x6272a4ff).into()), border_selected: Some(rgba(0xbd93f9ff).into()), border_transparent: Some(rgba(0xbd93f9ff).into()), border_disabled: Some(rgba(0xbd93f9ff).into()), @@ -26,6 +27,10 @@ pub fn dracula() -> UserThemeFamily { surface_background: Some(rgba(0x282a35ff).into()), background: Some(rgba(0x282a35ff).into()), element_background: Some(rgba(0x44475aff).into()), + element_hover: Some(rgba(0x44475a75).into()), + element_selected: Some(rgba(0x44475aff).into()), + drop_target_background: Some(rgba(0x44475aff).into()), + ghost_element_hover: Some(rgba(0x44475a75).into()), text: Some(rgba(0xf8f8f2ff).into()), tab_inactive_background: Some(rgba(0x21222cff).into()), tab_active_background: Some(rgba(0x282a35ff).into()), @@ -52,6 +57,13 @@ pub fn dracula() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xf8f8f2ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff5555ff).into()), + error: Some(rgba(0xff5555ff).into()), + hidden: Some(rgba(0x6272a4ff).into()), + warning: Some(rgba(0xffb76bff).into()), + ..Default::default() + }, }, }], } diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 2c388079a5..33bb90d8e8 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn gruvbox() -> UserThemeFamily { @@ -25,6 +26,10 @@ pub fn gruvbox() -> UserThemeFamily { border_disabled: Some(rgba(0x3c3836ff).into()), background: Some(rgba(0x1d2021ff).into()), element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0x3c383680).into()), + element_selected: Some(rgba(0x3c383680).into()), + drop_target_background: Some(rgba(0x3c3836ff).into()), + ghost_element_hover: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), tab_inactive_background: Some(rgba(0x1d2021ff).into()), tab_active_background: Some(rgba(0x32302fff).into()), @@ -51,6 +56,12 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xa89984ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfb4833ff).into()), + error: Some(rgba(0xfb4833ff).into()), + hidden: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -66,6 +77,10 @@ pub fn gruvbox() -> UserThemeFamily { border_disabled: Some(rgba(0x3c3836ff).into()), background: Some(rgba(0x282828ff).into()), element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0x3c383680).into()), + element_selected: Some(rgba(0x3c383680).into()), + drop_target_background: Some(rgba(0x3c3836ff).into()), + ghost_element_hover: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), tab_inactive_background: Some(rgba(0x282828ff).into()), tab_active_background: Some(rgba(0x3c3836ff).into()), @@ -92,6 +107,12 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xa89984ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfb4833ff).into()), + error: Some(rgba(0xfb4833ff).into()), + hidden: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -107,6 +128,10 @@ pub fn gruvbox() -> UserThemeFamily { border_disabled: Some(rgba(0x3c3836ff).into()), background: Some(rgba(0x32302fff).into()), element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0x3c383680).into()), + element_selected: Some(rgba(0x3c383680).into()), + drop_target_background: Some(rgba(0x3c3836ff).into()), + ghost_element_hover: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), tab_inactive_background: Some(rgba(0x32302fff).into()), tab_active_background: Some(rgba(0x504945ff).into()), @@ -133,6 +158,12 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xa89984ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfb4833ff).into()), + error: Some(rgba(0xfb4833ff).into()), + hidden: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -148,6 +179,10 @@ pub fn gruvbox() -> UserThemeFamily { border_disabled: Some(rgba(0xebdbb2ff).into()), background: Some(rgba(0xf9f5d7ff).into()), element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0xebdbb280).into()), + element_selected: Some(rgba(0xebdbb280).into()), + drop_target_background: Some(rgba(0xebdbb2ff).into()), + ghost_element_hover: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), tab_active_background: Some(rgba(0xf2e5bcff).into()), @@ -174,6 +209,12 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x9d0006ff).into()), + error: Some(rgba(0x9d0006ff).into()), + hidden: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -189,6 +230,10 @@ pub fn gruvbox() -> UserThemeFamily { border_disabled: Some(rgba(0xebdbb2ff).into()), background: Some(rgba(0xfbf1c7ff).into()), element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0xebdbb280).into()), + element_selected: Some(rgba(0xebdbb280).into()), + drop_target_background: Some(rgba(0xebdbb2ff).into()), + ghost_element_hover: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), tab_active_background: Some(rgba(0xebdbb2ff).into()), @@ -215,6 +260,12 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x9d0006ff).into()), + error: Some(rgba(0x9d0006ff).into()), + hidden: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -230,6 +281,10 @@ pub fn gruvbox() -> UserThemeFamily { border_disabled: Some(rgba(0xebdbb2ff).into()), background: Some(rgba(0xf2e5bcff).into()), element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0xebdbb280).into()), + element_selected: Some(rgba(0xebdbb280).into()), + drop_target_background: Some(rgba(0xebdbb2ff).into()), + ghost_element_hover: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), tab_inactive_background: Some(rgba(0xf2e5bcff).into()), tab_active_background: Some(rgba(0xd5c4a1ff).into()), @@ -256,6 +311,12 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x9d0006ff).into()), + error: Some(rgba(0x9d0006ff).into()), + hidden: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 24fa9e6073..d406ab79db 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn night_owl() -> UserThemeFamily { @@ -19,7 +20,7 @@ pub fn night_owl() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x5f7e97ff).into()), border_variant: Some(rgba(0x5f7e97ff).into()), - border_focused: Some(rgba(0x5f7e97ff).into()), + border_focused: Some(rgba(0x122d42ff).into()), border_selected: Some(rgba(0x5f7e97ff).into()), border_transparent: Some(rgba(0x5f7e97ff).into()), border_disabled: Some(rgba(0x5f7e97ff).into()), @@ -27,6 +28,10 @@ pub fn night_owl() -> UserThemeFamily { surface_background: Some(rgba(0x011526ff).into()), background: Some(rgba(0x011526ff).into()), element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x011526ff).into()), + element_selected: Some(rgba(0x234c708c).into()), + drop_target_background: Some(rgba(0x011526ff).into()), + ghost_element_hover: Some(rgba(0x011526ff).into()), text: Some(rgba(0xd6deebff).into()), tab_inactive_background: Some(rgba(0x01101cff).into()), tab_active_background: Some(rgba(0x0a2842ff).into()), @@ -52,6 +57,12 @@ pub fn night_owl() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xffffffff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x5f7e97ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -61,7 +72,7 @@ pub fn night_owl() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0xd9d9d9ff).into()), border_variant: Some(rgba(0xd9d9d9ff).into()), - border_focused: Some(rgba(0xd9d9d9ff).into()), + border_focused: Some(rgba(0x93a1a1ff).into()), border_selected: Some(rgba(0xd9d9d9ff).into()), border_transparent: Some(rgba(0xd9d9d9ff).into()), border_disabled: Some(rgba(0xd9d9d9ff).into()), @@ -69,6 +80,9 @@ pub fn night_owl() -> UserThemeFamily { surface_background: Some(rgba(0xf0f0f0ff).into()), background: Some(rgba(0xfbfbfbff).into()), element_background: Some(rgba(0x29a298ff).into()), + element_hover: Some(rgba(0xd3e7f8ff).into()), + element_selected: Some(rgba(0xd3e7f8ff).into()), + ghost_element_hover: Some(rgba(0xd3e7f8ff).into()), text: Some(rgba(0x403f53ff).into()), tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), tab_active_background: Some(rgba(0xf6f6f6ff).into()), @@ -95,6 +109,13 @@ pub fn night_owl() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xf0f0f0ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x403f53ff).into()), + error: Some(rgba(0x403f53ff).into()), + hidden: Some(rgba(0x403f53ff).into()), + warning: Some(rgba(0xdaa900ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 5b8688737a..11335476dd 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn nord() -> UserThemeFamily { @@ -26,6 +27,10 @@ pub fn nord() -> UserThemeFamily { surface_background: Some(rgba(0x2e3440ff).into()), background: Some(rgba(0x2e3440ff).into()), element_background: Some(rgba(0x88bfd0ee).into()), + element_hover: Some(rgba(0x3b4252ff).into()), + element_selected: Some(rgba(0x88bfd0ff).into()), + drop_target_background: Some(rgba(0x88bfd099).into()), + ghost_element_hover: Some(rgba(0x3b4252ff).into()), text: Some(rgba(0xd8dee9ff).into()), tab_inactive_background: Some(rgba(0x2e3440ff).into()), tab_active_background: Some(rgba(0x3b4252ff).into()), @@ -52,6 +57,13 @@ pub fn nord() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xbf616aff).into()), + error: Some(rgba(0xbf616aff).into()), + hidden: Some(rgba(0xd8dee966).into()), + warning: Some(rgba(0xebcb8bff).into()), + ..Default::default() + }, }, }], } diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index bb835c5397..e590615cfd 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn notctis() -> UserThemeFamily { @@ -19,7 +20,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x1579b6ff).into()), border_variant: Some(rgba(0x1579b6ff).into()), - border_focused: Some(rgba(0x1579b6ff).into()), + border_focused: Some(rgba(0x08324eff).into()), border_selected: Some(rgba(0x1579b6ff).into()), border_transparent: Some(rgba(0x1579b6ff).into()), border_disabled: Some(rgba(0x1579b6ff).into()), @@ -27,6 +28,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x051b28ff).into()), background: Some(rgba(0x07263aff).into()), element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x00558a65).into()), + element_selected: Some(rgba(0x0b3f5fff).into()), + drop_target_background: Some(rgba(0x00294dff).into()), + ghost_element_hover: Some(rgba(0x00558a65).into()), text: Some(rgba(0xbecfdaff).into()), tab_inactive_background: Some(rgba(0x08324eff).into()), tab_active_background: Some(rgba(0x07263aff).into()), @@ -53,6 +58,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xaec3d0ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x9fb6c6ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -62,7 +74,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x997582ff).into()), border_variant: Some(rgba(0x997582ff).into()), - border_focused: Some(rgba(0x997582ff).into()), + border_focused: Some(rgba(0x413036ff).into()), border_selected: Some(rgba(0x997582ff).into()), border_transparent: Some(rgba(0x997582ff).into()), border_disabled: Some(rgba(0x997582ff).into()), @@ -70,6 +82,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x272022ff).into()), background: Some(rgba(0x322a2dff).into()), element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x533641ff).into()), + element_selected: Some(rgba(0x5c2e3e99).into()), + drop_target_background: Some(rgba(0x38292eff).into()), + ghost_element_hover: Some(rgba(0x533641ff).into()), text: Some(rgba(0xcbbec2ff).into()), tab_inactive_background: Some(rgba(0x413036ff).into()), tab_active_background: Some(rgba(0x322a2dff).into()), @@ -96,6 +112,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xb9acb0ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0xbbaab0ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -105,7 +128,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x00c6e0ff).into()), border_variant: Some(rgba(0x00c6e0ff).into()), - border_focused: Some(rgba(0x00c6e0ff).into()), + border_focused: Some(rgba(0xe0eff1ff).into()), border_selected: Some(rgba(0x00c6e0ff).into()), border_transparent: Some(rgba(0x00c6e0ff).into()), border_disabled: Some(rgba(0x00c6e0ff).into()), @@ -113,6 +136,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0xe1eeefff).into()), background: Some(rgba(0xf4f6f6ff).into()), element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0xd1eafaff).into()), + element_selected: Some(rgba(0xb6e1e7ff).into()), + drop_target_background: Some(rgba(0xb1c9ccff).into()), + ghost_element_hover: Some(rgba(0xd1eafaff).into()), text: Some(rgba(0x005661ff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), tab_active_background: Some(rgba(0xf4f6f6ff).into()), @@ -139,6 +166,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff3f00ff).into()), + error: Some(rgba(0xff3f00ff).into()), + hidden: Some(rgba(0x70838dff).into()), + warning: Some(rgba(0xe07a52ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -148,7 +182,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0xaea4f4ff).into()), border_variant: Some(rgba(0xaea4f4ff).into()), - border_focused: Some(rgba(0xaea4f4ff).into()), + border_focused: Some(rgba(0xdedbf5ff).into()), border_selected: Some(rgba(0xaea4f4ff).into()), border_transparent: Some(rgba(0xaea4f4ff).into()), border_disabled: Some(rgba(0xaea4f4ff).into()), @@ -156,6 +190,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0xe9e7f3ff).into()), background: Some(rgba(0xf2f1f8ff).into()), element_background: Some(rgba(0x8d7ffeff).into()), + element_hover: Some(rgba(0xd1cbfeff).into()), + element_selected: Some(rgba(0xbcb6e7ff).into()), + drop_target_background: Some(rgba(0xafaad4aa).into()), + ghost_element_hover: Some(rgba(0xd1cbfeff).into()), text: Some(rgba(0x0c006bff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), @@ -182,6 +220,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff3f00ff).into()), + error: Some(rgba(0xff3f00ff).into()), + hidden: Some(rgba(0x74708dff).into()), + warning: Some(rgba(0xe07a52ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -191,7 +236,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x00c6e0ff).into()), border_variant: Some(rgba(0x00c6e0ff).into()), - border_focused: Some(rgba(0x00c6e0ff).into()), + border_focused: Some(rgba(0xf2eddeff).into()), border_selected: Some(rgba(0x00c6e0ff).into()), border_transparent: Some(rgba(0x00c6e0ff).into()), border_disabled: Some(rgba(0x00c6e0ff).into()), @@ -199,6 +244,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0xf6eddaff).into()), background: Some(rgba(0xfef8ecff).into()), element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0xd1f2f8ff).into()), + element_selected: Some(rgba(0xb6e1e7ff).into()), + drop_target_background: Some(rgba(0xcccab1ff).into()), + ghost_element_hover: Some(rgba(0xd1f2f8ff).into()), text: Some(rgba(0x005661ff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), @@ -225,6 +274,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff3f00ff).into()), + error: Some(rgba(0xff3f00ff).into()), + hidden: Some(rgba(0x878476ff).into()), + warning: Some(rgba(0xe07a52ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -234,7 +290,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x496c83ff).into()), border_variant: Some(rgba(0x496c83ff).into()), - border_focused: Some(rgba(0x496c83ff).into()), + border_focused: Some(rgba(0x202d37ff).into()), border_selected: Some(rgba(0x496c83ff).into()), border_transparent: Some(rgba(0x496c83ff).into()), border_disabled: Some(rgba(0x496c83ff).into()), @@ -242,6 +298,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x0e1920ff).into()), background: Some(rgba(0x1b2932ff).into()), element_background: Some(rgba(0x2e616bff).into()), + element_hover: Some(rgba(0x00558aff).into()), + element_selected: Some(rgba(0x2c414eff).into()), + drop_target_background: Some(rgba(0x152836ff).into()), + ghost_element_hover: Some(rgba(0x00558aff).into()), text: Some(rgba(0xc5cdd3ff).into()), tab_inactive_background: Some(rgba(0x202d37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), @@ -268,6 +328,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xb96245ff).into()), + error: Some(rgba(0xb96245ff).into()), + hidden: Some(rgba(0x96a8b6ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -277,7 +344,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x0d6571ff).into()), border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x0d6571ff).into()), + border_focused: Some(rgba(0x063940ff).into()), border_selected: Some(rgba(0x0d6571ff).into()), border_transparent: Some(rgba(0x0d6571ff).into()), border_disabled: Some(rgba(0x0d6571ff).into()), @@ -285,6 +352,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x03181aff).into()), background: Some(rgba(0x052428ff).into()), element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0x0b505aff).into()), + element_selected: Some(rgba(0x0d6571ff).into()), + drop_target_background: Some(rgba(0x00404dff).into()), + ghost_element_hover: Some(rgba(0x0b505aff).into()), text: Some(rgba(0xb1c9ccff).into()), tab_inactive_background: Some(rgba(0x052e32ff).into()), tab_active_background: Some(rgba(0x052428ff).into()), @@ -311,6 +382,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x87a7abff).into()), + warning: Some(rgba(0xffa487ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -320,7 +398,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x0d6571ff).into()), border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x0d6571ff).into()), + border_focused: Some(rgba(0x052e32ff).into()), border_selected: Some(rgba(0x0d6571ff).into()), border_transparent: Some(rgba(0x0d6571ff).into()), border_disabled: Some(rgba(0x0d6571ff).into()), @@ -328,6 +406,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x020c0eff).into()), background: Some(rgba(0x031316ff).into()), element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0x0b505aff).into()), + element_selected: Some(rgba(0x0d6571ff).into()), + drop_target_background: Some(rgba(0x00404dff).into()), + ghost_element_hover: Some(rgba(0x0b505aff).into()), text: Some(rgba(0xb1c9ccff).into()), tab_inactive_background: Some(rgba(0x052e32ff).into()), tab_active_background: Some(rgba(0x031316ff).into()), @@ -354,6 +436,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x87a7abff).into()), + warning: Some(rgba(0xffa487ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -363,7 +452,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x0d6571ff).into()), border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x0d6571ff).into()), + border_focused: Some(rgba(0x052e32ff).into()), border_selected: Some(rgba(0x0d6571ff).into()), border_transparent: Some(rgba(0x0d6571ff).into()), border_disabled: Some(rgba(0x0d6571ff).into()), @@ -371,6 +460,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x020c0eff).into()), background: Some(rgba(0x031316ff).into()), element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0x0b505aff).into()), + element_selected: Some(rgba(0x0d6571ff).into()), + drop_target_background: Some(rgba(0x00404dff).into()), + ghost_element_hover: Some(rgba(0x0b505aff).into()), text: Some(rgba(0xb1c9ccff).into()), tab_inactive_background: Some(rgba(0x052e32ff).into()), tab_active_background: Some(rgba(0x031316ff).into()), @@ -397,6 +490,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x87a7abff).into()), + warning: Some(rgba(0xffa487ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -406,7 +506,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x6d66a7ff).into()), border_variant: Some(rgba(0x6d66a7ff).into()), - border_focused: Some(rgba(0x6d66a7ff).into()), + border_focused: Some(rgba(0x2f2c49ff).into()), border_selected: Some(rgba(0x6d66a7ff).into()), border_transparent: Some(rgba(0x6d66a7ff).into()), border_disabled: Some(rgba(0x6d66a7ff).into()), @@ -414,6 +514,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x1f1d30ff).into()), background: Some(rgba(0x292640ff).into()), element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x383866ff).into()), + element_selected: Some(rgba(0x322e5cff).into()), + drop_target_background: Some(rgba(0x202040ff).into()), + ghost_element_hover: Some(rgba(0x383866ff).into()), text: Some(rgba(0xc5c2d6ff).into()), tab_inactive_background: Some(rgba(0x2f2c49ff).into()), tab_active_background: Some(rgba(0x292640ff).into()), @@ -440,6 +544,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xb6b3ccff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0xa9a5c0ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -449,7 +560,7 @@ pub fn notctis() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x8666a7ff).into()), border_variant: Some(rgba(0x8666a7ff).into()), - border_focused: Some(rgba(0x8666a7ff).into()), + border_focused: Some(rgba(0x3d2e4dff).into()), border_selected: Some(rgba(0x8666a7ff).into()), border_transparent: Some(rgba(0x8666a7ff).into()), border_disabled: Some(rgba(0x8666a7ff).into()), @@ -457,6 +568,10 @@ pub fn notctis() -> UserThemeFamily { surface_background: Some(rgba(0x291d35ff).into()), background: Some(rgba(0x30243dff).into()), element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x69438dff).into()), + element_selected: Some(rgba(0x472e60ff).into()), + drop_target_background: Some(rgba(0x302040ff).into()), + ghost_element_hover: Some(rgba(0x69438dff).into()), text: Some(rgba(0xccbfd9ff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), @@ -483,6 +598,13 @@ pub fn notctis() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xbfafcfff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0xb3a5c0ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 6e5651fe03..35d1aa7505 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn palenight() -> UserThemeFamily { @@ -27,6 +28,10 @@ pub fn palenight() -> UserThemeFamily { surface_background: Some(rgba(0x292c3eff).into()), background: Some(rgba(0x292c3eff).into()), element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x0000001a).into()), + element_selected: Some(rgba(0x7d56c1ff).into()), + drop_target_background: Some(rgba(0x2e3245ff).into()), + ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292c3eff).into()), @@ -52,6 +57,12 @@ pub fn palenight() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xffffffff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x9199c8ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -69,6 +80,10 @@ pub fn palenight() -> UserThemeFamily { surface_background: Some(rgba(0x292c3eff).into()), background: Some(rgba(0x292c3eff).into()), element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x0000001a).into()), + element_selected: Some(rgba(0x7d56c1ff).into()), + drop_target_background: Some(rgba(0x2e3245ff).into()), + ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292c3eff).into()), @@ -94,6 +109,12 @@ pub fn palenight() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xffffffff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x9199c8ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -111,6 +132,10 @@ pub fn palenight() -> UserThemeFamily { surface_background: Some(rgba(0x25283aff).into()), background: Some(rgba(0x292c3eff).into()), element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x0000001a).into()), + element_selected: Some(rgba(0x7d56c1ff).into()), + drop_target_background: Some(rgba(0x2e3245ff).into()), + ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x25283aff).into()), @@ -136,6 +161,12 @@ pub fn palenight() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xffffffff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x9199c8ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index f12b9090d4..9cc8b0ab83 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn rose_pine() -> UserThemeFamily { @@ -19,7 +20,7 @@ pub fn rose_pine() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x000000ff).into()), border_variant: Some(rgba(0x000000ff).into()), - border_focused: Some(rgba(0x000000ff).into()), + border_focused: Some(rgba(0x6e6a8633).into()), border_selected: Some(rgba(0x000000ff).into()), border_transparent: Some(rgba(0x000000ff).into()), border_disabled: Some(rgba(0x000000ff).into()), @@ -27,6 +28,10 @@ pub fn rose_pine() -> UserThemeFamily { surface_background: Some(rgba(0x1f1d2eff).into()), background: Some(rgba(0x191724ff).into()), element_background: Some(rgba(0xebbcbaff).into()), + element_hover: Some(rgba(0x6e6a861a).into()), + element_selected: Some(rgba(0x6e6a8633).into()), + drop_target_background: Some(rgba(0x1f1d2eff).into()), + ghost_element_hover: Some(rgba(0x6e6a861a).into()), text: Some(rgba(0xe0def4ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), @@ -52,6 +57,13 @@ pub fn rose_pine() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xe0def4ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xeb6f92ff).into()), + error: Some(rgba(0xeb6f92ff).into()), + hidden: Some(rgba(0x908caaff).into()), + warning: Some(rgba(0xf5c177ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -61,7 +73,7 @@ pub fn rose_pine() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x000000ff).into()), border_variant: Some(rgba(0x000000ff).into()), - border_focused: Some(rgba(0x000000ff).into()), + border_focused: Some(rgba(0x817c9c26).into()), border_selected: Some(rgba(0x000000ff).into()), border_transparent: Some(rgba(0x000000ff).into()), border_disabled: Some(rgba(0x000000ff).into()), @@ -69,6 +81,10 @@ pub fn rose_pine() -> UserThemeFamily { surface_background: Some(rgba(0x2a273eff).into()), background: Some(rgba(0x232136ff).into()), element_background: Some(rgba(0xea9a97ff).into()), + element_hover: Some(rgba(0x817c9c14).into()), + element_selected: Some(rgba(0x817c9c26).into()), + drop_target_background: Some(rgba(0x2a273eff).into()), + ghost_element_hover: Some(rgba(0x817c9c14).into()), text: Some(rgba(0xe0def4ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x817c9c14).into()), @@ -94,6 +110,13 @@ pub fn rose_pine() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xe0def4ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xeb6f92ff).into()), + error: Some(rgba(0xeb6f92ff).into()), + hidden: Some(rgba(0x908caaff).into()), + warning: Some(rgba(0xf5c177ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -103,7 +126,7 @@ pub fn rose_pine() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x000000ff).into()), border_variant: Some(rgba(0x000000ff).into()), - border_focused: Some(rgba(0x000000ff).into()), + border_focused: Some(rgba(0x6e6a8614).into()), border_selected: Some(rgba(0x000000ff).into()), border_transparent: Some(rgba(0x000000ff).into()), border_disabled: Some(rgba(0x000000ff).into()), @@ -111,6 +134,10 @@ pub fn rose_pine() -> UserThemeFamily { surface_background: Some(rgba(0xfffaf3ff).into()), background: Some(rgba(0xfaf4edff).into()), element_background: Some(rgba(0xd7827dff).into()), + element_hover: Some(rgba(0x6e6a860d).into()), + element_selected: Some(rgba(0x6e6a8614).into()), + drop_target_background: Some(rgba(0xfffaf3ff).into()), + ghost_element_hover: Some(rgba(0x6e6a860d).into()), text: Some(rgba(0x575279ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), @@ -136,6 +163,13 @@ pub fn rose_pine() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x575279ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xb3627aff).into()), + error: Some(rgba(0xb3627aff).into()), + hidden: Some(rgba(0x797593ff).into()), + warning: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 41a8e21e5a..01e3ab9eaf 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn solarized() -> UserThemeFamily { @@ -19,12 +20,16 @@ pub fn solarized() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x003847ff).into()), border_variant: Some(rgba(0x003847ff).into()), - border_focused: Some(rgba(0x003847ff).into()), + border_focused: Some(rgba(0x29a19899).into()), border_selected: Some(rgba(0x003847ff).into()), border_transparent: Some(rgba(0x003847ff).into()), border_disabled: Some(rgba(0x003847ff).into()), background: Some(rgba(0x002a35ff).into()), element_background: Some(rgba(0x29a19899).into()), + element_hover: Some(rgba(0x004353aa).into()), + element_selected: Some(rgba(0x005a6fff).into()), + drop_target_background: Some(rgba(0x00435388).into()), + ghost_element_hover: Some(rgba(0x004353aa).into()), tab_inactive_background: Some(rgba(0x003f51ff).into()), tab_active_background: Some(rgba(0x002a36ff).into()), editor_background: Some(rgba(0x002a35ff).into()), @@ -48,6 +53,12 @@ pub fn solarized() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0x839496ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xffeaeaff).into()), + error: Some(rgba(0xffeaeaff).into()), + hidden: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, }, }, UserTheme { @@ -57,12 +68,15 @@ pub fn solarized() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0xddd6c1ff).into()), border_variant: Some(rgba(0xddd6c1ff).into()), - border_focused: Some(rgba(0xddd6c1ff).into()), + border_focused: Some(rgba(0xd3af86ff).into()), border_selected: Some(rgba(0xddd6c1ff).into()), border_transparent: Some(rgba(0xddd6c1ff).into()), border_disabled: Some(rgba(0xddd6c1ff).into()), background: Some(rgba(0xfdf6e3ff).into()), element_background: Some(rgba(0xab9d56ff).into()), + element_hover: Some(rgba(0xdec98744).into()), + element_selected: Some(rgba(0xdec987ff).into()), + ghost_element_hover: Some(rgba(0xdec98744).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), editor_background: Some(rgba(0xfdf6e3ff).into()), @@ -86,6 +100,10 @@ pub fn solarized() -> UserThemeFamily { terminal_ansi_white: Some(rgba(0xeee8d5ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + hidden: Some(rgba(0x586e75ff).into()), + ..Default::default() + }, }, }, ], diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 9f157ade61..f18b9f9409 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -4,7 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; pub fn synthwave_84() -> UserThemeFamily { @@ -16,8 +17,13 @@ pub fn synthwave_84() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { + border_focused: Some(rgba(0x1f212bff).into()), background: Some(rgba(0x252334ff).into()), element_background: Some(rgba(0x614d85ff).into()), + element_hover: Some(rgba(0x37294d99).into()), + element_selected: Some(rgba(0xffffff20).into()), + drop_target_background: Some(rgba(0x34294f66).into()), + ghost_element_hover: Some(rgba(0x37294d99).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x252334ff).into()), editor_background: Some(rgba(0x252334ff).into()), @@ -37,6 +43,12 @@ pub fn synthwave_84() -> UserThemeFamily { terminal_ansi_cyan: Some(rgba(0x02edf9ff).into()), ..Default::default() }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfe444fff).into()), + error: Some(rgba(0xfe444fff).into()), + warning: Some(rgba(0x71f1b7bb).into()), + ..Default::default() + }, }, }], } diff --git a/crates/theme2/src/user_theme.rs b/crates/theme2/src/user_theme.rs index 87ba9a76d1..0667359dfb 100644 --- a/crates/theme2/src/user_theme.rs +++ b/crates/theme2/src/user_theme.rs @@ -1,7 +1,7 @@ use refineable::Refineable; use serde::Deserialize; -use crate::{Appearance, ThemeColors, ThemeColorsRefinement}; +use crate::{Appearance, StatusColors, StatusColorsRefinement, ThemeColors, ThemeColorsRefinement}; #[derive(Deserialize)] pub struct UserThemeFamily { @@ -22,4 +22,6 @@ pub struct UserTheme { pub struct UserThemeStyles { #[refineable] pub colors: ThemeColors, + #[refineable] + pub status: StatusColors, } diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index b41994a0be..6981ae4170 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -159,7 +159,7 @@ fn main() -> Result<()> { use gpui::rgba; use crate::{{ - Appearance, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }}; pub fn {theme_family_slug}() -> UserThemeFamily {{ diff --git a/crates/theme_importer/src/theme_printer.rs b/crates/theme_importer/src/theme_printer.rs index 49caf7bfd0..ba85fb9441 100644 --- a/crates/theme_importer/src/theme_printer.rs +++ b/crates/theme_importer/src/theme_printer.rs @@ -2,8 +2,8 @@ use std::fmt::{self, Debug}; use gpui::{Hsla, Rgba}; use theme::{ - Appearance, PlayerColor, PlayerColors, StatusColors, SyntaxTheme, SystemColors, - ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, PlayerColor, PlayerColors, StatusColors, StatusColorsRefinement, SyntaxTheme, + SystemColors, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; struct RawSyntaxPrinter<'a>(&'a str); @@ -92,6 +92,7 @@ impl<'a> Debug for UserThemeStylesRefinementPrinter<'a> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_struct("UserThemeStylesRefinement") .field("colors", &ThemeColorsRefinementPrinter(&self.0.colors)) + .field("status", &StatusColorsRefinementPrinter(&self.0.status)) .finish() } } @@ -250,23 +251,39 @@ impl<'a> Debug for ThemeColorsRefinementPrinter<'a> { } } -pub struct StatusColorsPrinter<'a>(&'a StatusColors); +pub struct StatusColorsRefinementPrinter<'a>(&'a StatusColorsRefinement); -impl<'a> Debug for StatusColorsPrinter<'a> { +impl<'a> Debug for StatusColorsRefinementPrinter<'a> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_struct("StatusColors") - .field("conflict", &HslaPrinter(self.0.conflict)) - .field("created", &HslaPrinter(self.0.created)) - .field("deleted", &HslaPrinter(self.0.deleted)) - .field("error", &HslaPrinter(self.0.error)) - .field("hidden", &HslaPrinter(self.0.hidden)) - .field("ignored", &HslaPrinter(self.0.ignored)) - .field("info", &HslaPrinter(self.0.info)) - .field("modified", &HslaPrinter(self.0.modified)) - .field("renamed", &HslaPrinter(self.0.renamed)) - .field("success", &HslaPrinter(self.0.success)) - .field("warning", &HslaPrinter(self.0.warning)) - .finish() + let status_colors = vec![ + ("conflict", self.0.conflict), + ("created", self.0.created), + ("deleted", self.0.deleted), + ("error", self.0.error), + ("hidden", self.0.hidden), + ("ignored", self.0.ignored), + ("info", self.0.info), + ("modified", self.0.modified), + ("renamed", self.0.renamed), + ("success", self.0.success), + ("warning", self.0.warning), + ]; + + f.write_str("StatusColorsRefinement {")?; + + for (color_name, color) in status_colors { + if let Some(color) = color { + f.write_str(color_name)?; + f.write_str(": ")?; + f.write_str("Some(")?; + HslaPrinter(color).fmt(f)?; + f.write_str(")")?; + f.write_str(",")?; + } + } + + f.write_str("..Default::default()")?; + f.write_str("}") } } diff --git a/crates/theme_importer/src/vscode.rs b/crates/theme_importer/src/vscode.rs index 2456f77f3a..2eb80fc53f 100644 --- a/crates/theme_importer/src/vscode.rs +++ b/crates/theme_importer/src/vscode.rs @@ -1,7 +1,7 @@ use anyhow::Result; use gpui::{Hsla, Rgba}; use serde::Deserialize; -use theme::{ThemeColorsRefinement, UserTheme, UserThemeStylesRefinement}; +use theme::{StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeStylesRefinement}; use crate::util::Traverse; use crate::ThemeMetadata; @@ -435,6 +435,33 @@ impl VsCodeThemeConverter { let vscode_colors = &self.theme.colors; + let status_color_refinements = StatusColorsRefinement { + // conflict: None, + // created: None, + deleted: vscode_colors + .error_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + error: vscode_colors + .error_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + hidden: vscode_colors + .tab_inactive_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + // ignored: None, + // info: None, + // modified: None, + // renamed: None, + // success: None, + warning: vscode_colors + .list_warning_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + ..Default::default() + }; + let theme_colors_refinements = ThemeColorsRefinement { border: vscode_colors .panel_border @@ -596,6 +623,7 @@ impl VsCodeThemeConverter { appearance, styles: UserThemeStylesRefinement { colors: theme_colors_refinements, + status: status_color_refinements, }, }) } From efd1db1b09ef8bd938bbeccde4f1dcd34b2e159b Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 12:30:53 -0500 Subject: [PATCH 06/15] =?UTF-8?q?WIP=20=E2=80=93=20Add=20Syntax=20themes?= =?UTF-8?q?=20to=20importer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> --- crates/theme2/src/registry.rs | 2 +- crates/theme2/src/theme2.rs | 4 +- crates/theme2/src/themes/andromeda.rs | 22 + crates/theme2/src/themes/ayu.rs | 51 ++ crates/theme2/src/themes/dracula.rs | 80 +-- crates/theme2/src/themes/gruvbox.rs | 334 +---------- crates/theme2/src/themes/mod.rs | 60 +- crates/theme2/src/themes/night_owl.rs | 133 +---- crates/theme2/src/themes/nord.rs | 80 +-- crates/theme2/src/themes/notctis.rs | 622 +-------------------- crates/theme2/src/themes/palenight.rs | 184 +----- crates/theme2/src/themes/rose_pine.rs | 187 +------ crates/theme2/src/themes/solarized.rs | 121 +--- crates/theme2/src/themes/synthwave_84.rs | 65 +-- crates/theme2/src/user_theme.rs | 18 + crates/theme_importer/src/main.rs | 1 + crates/theme_importer/src/theme_printer.rs | 31 +- crates/theme_importer/src/vscode.rs | 21 +- crates/theme_importer/src/vscode_syntax.rs | 261 +++++++++ 19 files changed, 553 insertions(+), 1724 deletions(-) create mode 100644 crates/theme_importer/src/vscode_syntax.rs diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index decec8b5da..d95283fc12 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -83,7 +83,7 @@ impl Default for ThemeRegistry { }; this.insert_theme_families([zed_pro_family()]); - this.insert_user_theme_familes(crate::all_user_themes()); + // this.insert_user_theme_familes(crate::all_user_themes()); this } diff --git a/crates/theme2/src/theme2.rs b/crates/theme2/src/theme2.rs index 74b5a4269e..16e0db09fa 100644 --- a/crates/theme2/src/theme2.rs +++ b/crates/theme2/src/theme2.rs @@ -6,7 +6,7 @@ mod registry; mod scale; mod settings; mod syntax; -mod themes; +// mod themes; mod user_theme; use std::sync::Arc; @@ -20,7 +20,7 @@ pub use registry::*; pub use scale::*; pub use settings::*; pub use syntax::*; -pub use themes::*; +// pub use themes::*; pub use user_theme::*; use gpui::{AppContext, Hsla, SharedString}; diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 6afff66df1..6e2b2989f7 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -59,6 +59,17 @@ pub fn andromeda() -> UserThemeFamily { hidden: Some(rgba(0x746f77ff).into()), ..Default::default() }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x9fa0a6cc).into()), + ("something".into(), rgba(0x00e8c6ff).into()), + ("punctuation".into(), rgba(0xf92571ff).into()), + ("something".into(), rgba(0xc64dedff).into()), + ("something".into(), rgba(0xee5d42ff).into()), + ("something".into(), rgba(0x95e072ff).into()), + ("punctuation".into(), rgba(0x95e072ff).into()), + ], + }), }, }, UserTheme { @@ -107,6 +118,17 @@ pub fn andromeda() -> UserThemeFamily { hidden: Some(rgba(0x746f77ff).into()), ..Default::default() }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x9fa0a6cc).into()), + ("something".into(), rgba(0x00e8c6ff).into()), + ("punctuation".into(), rgba(0xf92571ff).into()), + ("something".into(), rgba(0xc64dedff).into()), + ("something".into(), rgba(0xee5d42ff).into()), + ("something".into(), rgba(0x95e072ff).into()), + ("punctuation".into(), rgba(0x95e072ff).into()), + ], + }), }, }, ], diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 8454c0af46..3aa1e0a7c3 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -63,6 +63,23 @@ pub fn ayu() -> UserThemeFamily { hidden: Some(rgba(0x8a9199ff).into()), ..Default::default() }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x787b8099).into()), + ("something".into(), rgba(0x86b300ff).into()), + ("something".into(), rgba(0x5c6166ff).into()), + ("something".into(), rgba(0xfa8d3eff).into()), + ("punctuation".into(), rgba(0x5c6166b3).into()), + ("punctuation".into(), rgba(0x5c6166ff).into()), + ("punctuation".into(), rgba(0xed9365ff).into()), + ("punctuation".into(), rgba(0xfa8d3eff).into()), + ("punctuation".into(), rgba(0xfa8d3eff).into()), + ("punctuation".into(), rgba(0x55b4d380).into()), + ("punctuation".into(), rgba(0x55b4d380).into()), + ("punctuation".into(), rgba(0x55b4d380).into()), + ("punctuation".into(), rgba(0x787b8099).into()), + ], + }), }, }, UserTheme { @@ -115,6 +132,23 @@ pub fn ayu() -> UserThemeFamily { hidden: Some(rgba(0x707a8cff).into()), ..Default::default() }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0xb8cfe680).into()), + ("something".into(), rgba(0xd4fe7fff).into()), + ("something".into(), rgba(0xcccac2ff).into()), + ("something".into(), rgba(0xffad65ff).into()), + ("punctuation".into(), rgba(0xcccac2b3).into()), + ("punctuation".into(), rgba(0xcccac2ff).into()), + ("punctuation".into(), rgba(0xf29e74ff).into()), + ("punctuation".into(), rgba(0xffad65ff).into()), + ("punctuation".into(), rgba(0xffad65ff).into()), + ("punctuation".into(), rgba(0x5ccfe680).into()), + ("punctuation".into(), rgba(0x5ccfe680).into()), + ("punctuation".into(), rgba(0x5ccfe680).into()), + ("punctuation".into(), rgba(0xb8cfe680).into()), + ], + }), }, }, UserTheme { @@ -167,6 +201,23 @@ pub fn ayu() -> UserThemeFamily { hidden: Some(rgba(0x565b66ff).into()), ..Default::default() }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0xabb5be8c).into()), + ("something".into(), rgba(0xa9d94bff).into()), + ("something".into(), rgba(0xbfbdb6ff).into()), + ("something".into(), rgba(0xff8f3fff).into()), + ("punctuation".into(), rgba(0xbfbdb6b3).into()), + ("punctuation".into(), rgba(0xbfbdb6ff).into()), + ("punctuation".into(), rgba(0xf29668ff).into()), + ("punctuation".into(), rgba(0xff8f3fff).into()), + ("punctuation".into(), rgba(0xff8f3fff).into()), + ("punctuation".into(), rgba(0x38b9e680).into()), + ("punctuation".into(), rgba(0x38b9e680).into()), + ("punctuation".into(), rgba(0x38b9e680).into()), + ("punctuation".into(), rgba(0xabb5be8c).into()), + ], + }), }, }, ], diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 2a30f5a0c0..757f5d5a18 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -1,70 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn dracula() -> UserThemeFamily { - UserThemeFamily { - name: "Dracula".into(), - author: "Zeno Rocha".into(), - themes: vec![UserTheme { - name: "Dracula".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xbd93f9ff).into()), - border_variant: Some(rgba(0xbd93f9ff).into()), - border_focused: Some(rgba(0x6272a4ff).into()), - border_selected: Some(rgba(0xbd93f9ff).into()), - border_transparent: Some(rgba(0xbd93f9ff).into()), - border_disabled: Some(rgba(0xbd93f9ff).into()), - elevated_surface_background: Some(rgba(0x282a35ff).into()), - surface_background: Some(rgba(0x282a35ff).into()), - background: Some(rgba(0x282a35ff).into()), - element_background: Some(rgba(0x44475aff).into()), - element_hover: Some(rgba(0x44475a75).into()), - element_selected: Some(rgba(0x44475aff).into()), - drop_target_background: Some(rgba(0x44475aff).into()), - ghost_element_hover: Some(rgba(0x44475a75).into()), - text: Some(rgba(0xf8f8f2ff).into()), - tab_inactive_background: Some(rgba(0x21222cff).into()), - tab_active_background: Some(rgba(0x282a35ff).into()), - editor_background: Some(rgba(0x282a35ff).into()), - editor_gutter_background: Some(rgba(0x282a35ff).into()), - editor_line_number: Some(rgba(0x6272a4ff).into()), - editor_active_line_number: Some(rgba(0xf8f8f2ff).into()), - terminal_background: Some(rgba(0x282a35ff).into()), - terminal_ansi_bright_black: Some(rgba(0x6272a4ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff6d6dff).into()), - terminal_ansi_bright_green: Some(rgba(0x69ff94ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xffffa5ff).into()), - terminal_ansi_bright_blue: Some(rgba(0xd6abfeff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff92dfff).into()), - terminal_ansi_bright_cyan: Some(rgba(0xa3fefeff).into()), - terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x21222cff).into()), - terminal_ansi_red: Some(rgba(0xff5555ff).into()), - terminal_ansi_green: Some(rgba(0x50fa7bff).into()), - terminal_ansi_yellow: Some(rgba(0xf1fa8cff).into()), - terminal_ansi_blue: Some(rgba(0xbd93f9ff).into()), - terminal_ansi_magenta: Some(rgba(0xff79c6ff).into()), - terminal_ansi_cyan: Some(rgba(0x8be9fdff).into()), - terminal_ansi_white: Some(rgba(0xf8f8f2ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xff5555ff).into()), - error: Some(rgba(0xff5555ff).into()), - hidden: Some(rgba(0x6272a4ff).into()), - warning: Some(rgba(0xffb76bff).into()), - ..Default::default() - }, - }, - }], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn dracula() -> UserThemeFamily { + UserThemeFamily { + name: "Dracula".into(), + author: "Zeno Rocha".into(), + themes: vec![UserTheme { name: "Dracula".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xbd93f9ff).into()),border_variant: Some(rgba(0xbd93f9ff).into()),border_focused: Some(rgba(0x6272a4ff).into()),border_selected: Some(rgba(0xbd93f9ff).into()),border_transparent: Some(rgba(0xbd93f9ff).into()),border_disabled: Some(rgba(0xbd93f9ff).into()),elevated_surface_background: Some(rgba(0x282a35ff).into()),surface_background: Some(rgba(0x282a35ff).into()),background: Some(rgba(0x282a35ff).into()),element_background: Some(rgba(0x44475aff).into()),element_hover: Some(rgba(0x44475a75).into()),element_selected: Some(rgba(0x44475aff).into()),drop_target_background: Some(rgba(0x44475aff).into()),ghost_element_hover: Some(rgba(0x44475a75).into()),text: Some(rgba(0xf8f8f2ff).into()),tab_inactive_background: Some(rgba(0x21222cff).into()),tab_active_background: Some(rgba(0x282a35ff).into()),editor_background: Some(rgba(0x282a35ff).into()),editor_gutter_background: Some(rgba(0x282a35ff).into()),editor_line_number: Some(rgba(0x6272a4ff).into()),editor_active_line_number: Some(rgba(0xf8f8f2ff).into()),terminal_background: Some(rgba(0x282a35ff).into()),terminal_ansi_bright_black: Some(rgba(0x6272a4ff).into()),terminal_ansi_bright_red: Some(rgba(0xff6d6dff).into()),terminal_ansi_bright_green: Some(rgba(0x69ff94ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffffa5ff).into()),terminal_ansi_bright_blue: Some(rgba(0xd6abfeff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff92dfff).into()),terminal_ansi_bright_cyan: Some(rgba(0xa3fefeff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x21222cff).into()),terminal_ansi_red: Some(rgba(0xff5555ff).into()),terminal_ansi_green: Some(rgba(0x50fa7bff).into()),terminal_ansi_yellow: Some(rgba(0xf1fa8cff).into()),terminal_ansi_blue: Some(rgba(0xbd93f9ff).into()),terminal_ansi_magenta: Some(rgba(0xff79c6ff).into()),terminal_ansi_cyan: Some(rgba(0x8be9fdff).into()),terminal_ansi_white: Some(rgba(0xf8f8f2ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff5555ff).into()),error: Some(rgba(0xff5555ff).into()),hidden: Some(rgba(0x6272a4ff).into()),warning: Some(rgba(0xffb76bff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x6272a4ff).into()), ("something".into(), rgba(0xbd93f9ff).into()), ("something".into(), rgba(0x8be9fdff).into()), ("punctuation".into(), rgba(0xff79c6ff).into()), ("punctuation".into(), rgba(0xff79c6ff).into()), ("something".into(), rgba(0xff79c6ff).into()), ("something".into(), rgba(0xf1fa8cff).into()), ("something".into(), rgba(0xf8f8f2ff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 33bb90d8e8..71be1ec98b 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -1,324 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn gruvbox() -> UserThemeFamily { - UserThemeFamily { - name: "Gruvbox".into(), - author: "morhetz".into(), - themes: vec![ - UserTheme { - name: "Gruvbox Dark Hard".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x3c3836ff).into()), - border_variant: Some(rgba(0x3c3836ff).into()), - border_focused: Some(rgba(0x3c3836ff).into()), - border_selected: Some(rgba(0x3c3836ff).into()), - border_transparent: Some(rgba(0x3c3836ff).into()), - border_disabled: Some(rgba(0x3c3836ff).into()), - background: Some(rgba(0x1d2021ff).into()), - element_background: Some(rgba(0x44858780).into()), - element_hover: Some(rgba(0x3c383680).into()), - element_selected: Some(rgba(0x3c383680).into()), - drop_target_background: Some(rgba(0x3c3836ff).into()), - ghost_element_hover: Some(rgba(0x3c383680).into()), - text: Some(rgba(0xebdbb2ff).into()), - tab_inactive_background: Some(rgba(0x1d2021ff).into()), - tab_active_background: Some(rgba(0x32302fff).into()), - editor_background: Some(rgba(0x1d2021ff).into()), - editor_gutter_background: Some(rgba(0x1d2021ff).into()), - editor_line_number: Some(rgba(0x665c54ff).into()), - editor_active_line_number: Some(rgba(0xebdbb2ff).into()), - terminal_background: Some(rgba(0x1d2021ff).into()), - terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), - terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), - terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), - terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_black: Some(rgba(0x3c3836ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), - terminal_ansi_white: Some(rgba(0xa89984ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xfb4833ff).into()), - error: Some(rgba(0xfb4833ff).into()), - hidden: Some(rgba(0xa89984ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Gruvbox Dark Medium".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x3c3836ff).into()), - border_variant: Some(rgba(0x3c3836ff).into()), - border_focused: Some(rgba(0x3c3836ff).into()), - border_selected: Some(rgba(0x3c3836ff).into()), - border_transparent: Some(rgba(0x3c3836ff).into()), - border_disabled: Some(rgba(0x3c3836ff).into()), - background: Some(rgba(0x282828ff).into()), - element_background: Some(rgba(0x44858780).into()), - element_hover: Some(rgba(0x3c383680).into()), - element_selected: Some(rgba(0x3c383680).into()), - drop_target_background: Some(rgba(0x3c3836ff).into()), - ghost_element_hover: Some(rgba(0x3c383680).into()), - text: Some(rgba(0xebdbb2ff).into()), - tab_inactive_background: Some(rgba(0x282828ff).into()), - tab_active_background: Some(rgba(0x3c3836ff).into()), - editor_background: Some(rgba(0x282828ff).into()), - editor_gutter_background: Some(rgba(0x282828ff).into()), - editor_line_number: Some(rgba(0x665c54ff).into()), - editor_active_line_number: Some(rgba(0xebdbb2ff).into()), - terminal_background: Some(rgba(0x282828ff).into()), - terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), - terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), - terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), - terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_black: Some(rgba(0x3c3836ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), - terminal_ansi_white: Some(rgba(0xa89984ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xfb4833ff).into()), - error: Some(rgba(0xfb4833ff).into()), - hidden: Some(rgba(0xa89984ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Gruvbox Dark Soft".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x3c3836ff).into()), - border_variant: Some(rgba(0x3c3836ff).into()), - border_focused: Some(rgba(0x3c3836ff).into()), - border_selected: Some(rgba(0x3c3836ff).into()), - border_transparent: Some(rgba(0x3c3836ff).into()), - border_disabled: Some(rgba(0x3c3836ff).into()), - background: Some(rgba(0x32302fff).into()), - element_background: Some(rgba(0x44858780).into()), - element_hover: Some(rgba(0x3c383680).into()), - element_selected: Some(rgba(0x3c383680).into()), - drop_target_background: Some(rgba(0x3c3836ff).into()), - ghost_element_hover: Some(rgba(0x3c383680).into()), - text: Some(rgba(0xebdbb2ff).into()), - tab_inactive_background: Some(rgba(0x32302fff).into()), - tab_active_background: Some(rgba(0x504945ff).into()), - editor_background: Some(rgba(0x32302fff).into()), - editor_gutter_background: Some(rgba(0x32302fff).into()), - editor_line_number: Some(rgba(0x665c54ff).into()), - editor_active_line_number: Some(rgba(0xebdbb2ff).into()), - terminal_background: Some(rgba(0x32302fff).into()), - terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), - terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), - terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), - terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_black: Some(rgba(0x3c3836ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), - terminal_ansi_white: Some(rgba(0xa89984ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xfb4833ff).into()), - error: Some(rgba(0xfb4833ff).into()), - hidden: Some(rgba(0xa89984ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Gruvbox Light Hard".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xebdbb2ff).into()), - border_variant: Some(rgba(0xebdbb2ff).into()), - border_focused: Some(rgba(0xebdbb2ff).into()), - border_selected: Some(rgba(0xebdbb2ff).into()), - border_transparent: Some(rgba(0xebdbb2ff).into()), - border_disabled: Some(rgba(0xebdbb2ff).into()), - background: Some(rgba(0xf9f5d7ff).into()), - element_background: Some(rgba(0x44858780).into()), - element_hover: Some(rgba(0xebdbb280).into()), - element_selected: Some(rgba(0xebdbb280).into()), - drop_target_background: Some(rgba(0xebdbb2ff).into()), - ghost_element_hover: Some(rgba(0xebdbb280).into()), - text: Some(rgba(0x3c3836ff).into()), - tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), - tab_active_background: Some(rgba(0xf2e5bcff).into()), - editor_background: Some(rgba(0xf9f5d7ff).into()), - editor_gutter_background: Some(rgba(0xf9f5d7ff).into()), - editor_line_number: Some(rgba(0xbdae93ff).into()), - editor_active_line_number: Some(rgba(0x3c3836ff).into()), - terminal_background: Some(rgba(0xf9f5d7ff).into()), - terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), - terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), - terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), - terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), - terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0x9d0006ff).into()), - error: Some(rgba(0x9d0006ff).into()), - hidden: Some(rgba(0x7c6f64ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Gruvbox Light Medium".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xebdbb2ff).into()), - border_variant: Some(rgba(0xebdbb2ff).into()), - border_focused: Some(rgba(0xebdbb2ff).into()), - border_selected: Some(rgba(0xebdbb2ff).into()), - border_transparent: Some(rgba(0xebdbb2ff).into()), - border_disabled: Some(rgba(0xebdbb2ff).into()), - background: Some(rgba(0xfbf1c7ff).into()), - element_background: Some(rgba(0x44858780).into()), - element_hover: Some(rgba(0xebdbb280).into()), - element_selected: Some(rgba(0xebdbb280).into()), - drop_target_background: Some(rgba(0xebdbb2ff).into()), - ghost_element_hover: Some(rgba(0xebdbb280).into()), - text: Some(rgba(0x3c3836ff).into()), - tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), - tab_active_background: Some(rgba(0xebdbb2ff).into()), - editor_background: Some(rgba(0xfbf1c7ff).into()), - editor_gutter_background: Some(rgba(0xfbf1c7ff).into()), - editor_line_number: Some(rgba(0xbdae93ff).into()), - editor_active_line_number: Some(rgba(0x3c3836ff).into()), - terminal_background: Some(rgba(0xfbf1c7ff).into()), - terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), - terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), - terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), - terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), - terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0x9d0006ff).into()), - error: Some(rgba(0x9d0006ff).into()), - hidden: Some(rgba(0x7c6f64ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Gruvbox Light Soft".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xebdbb2ff).into()), - border_variant: Some(rgba(0xebdbb2ff).into()), - border_focused: Some(rgba(0xebdbb2ff).into()), - border_selected: Some(rgba(0xebdbb2ff).into()), - border_transparent: Some(rgba(0xebdbb2ff).into()), - border_disabled: Some(rgba(0xebdbb2ff).into()), - background: Some(rgba(0xf2e5bcff).into()), - element_background: Some(rgba(0x44858780).into()), - element_hover: Some(rgba(0xebdbb280).into()), - element_selected: Some(rgba(0xebdbb280).into()), - drop_target_background: Some(rgba(0xebdbb2ff).into()), - ghost_element_hover: Some(rgba(0xebdbb280).into()), - text: Some(rgba(0x3c3836ff).into()), - tab_inactive_background: Some(rgba(0xf2e5bcff).into()), - tab_active_background: Some(rgba(0xd5c4a1ff).into()), - editor_background: Some(rgba(0xf2e5bcff).into()), - editor_gutter_background: Some(rgba(0xf2e5bcff).into()), - editor_line_number: Some(rgba(0xbdae93ff).into()), - editor_active_line_number: Some(rgba(0x3c3836ff).into()), - terminal_background: Some(rgba(0xf2e5bcff).into()), - terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), - terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), - terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), - terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), - terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0x9d0006ff).into()), - error: Some(rgba(0x9d0006ff).into()), - hidden: Some(rgba(0x7c6f64ff).into()), - ..Default::default() - }, - }, - }, - ], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn gruvbox() -> UserThemeFamily { + UserThemeFamily { + name: "Gruvbox".into(), + author: "morhetz".into(), + themes: vec![UserTheme { name: "Gruvbox Dark Hard".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3c3836ff).into()),border_variant: Some(rgba(0x3c3836ff).into()),border_focused: Some(rgba(0x3c3836ff).into()),border_selected: Some(rgba(0x3c3836ff).into()),border_transparent: Some(rgba(0x3c3836ff).into()),border_disabled: Some(rgba(0x3c3836ff).into()),background: Some(rgba(0x1d2021ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0x3c383680).into()),element_selected: Some(rgba(0x3c383680).into()),drop_target_background: Some(rgba(0x3c3836ff).into()),ghost_element_hover: Some(rgba(0x3c383680).into()),text: Some(rgba(0xebdbb2ff).into()),tab_inactive_background: Some(rgba(0x1d2021ff).into()),tab_active_background: Some(rgba(0x32302fff).into()),editor_background: Some(rgba(0x1d2021ff).into()),editor_gutter_background: Some(rgba(0x1d2021ff).into()),editor_line_number: Some(rgba(0x665c54ff).into()),editor_active_line_number: Some(rgba(0xebdbb2ff).into()),terminal_background: Some(rgba(0x1d2021ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()),terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()),terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()),terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()),terminal_ansi_black: Some(rgba(0x3c3836ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0xa89984ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfb4833ff).into()),error: Some(rgba(0xfb4833ff).into()),hidden: Some(rgba(0xa89984ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0xd3869bff).into()), ("something".into(), rgba(0xfb4833ff).into()), ("something".into(), rgba(0xb8bb25ff).into()), ("something".into(), rgba(0x83a598ff).into()), ("punctuation".into(), rgba(0xa89984ff).into()), ("punctuation".into(), rgba(0x83a598ff).into())] }) } }, UserTheme { name: "Gruvbox Dark Medium".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3c3836ff).into()),border_variant: Some(rgba(0x3c3836ff).into()),border_focused: Some(rgba(0x3c3836ff).into()),border_selected: Some(rgba(0x3c3836ff).into()),border_transparent: Some(rgba(0x3c3836ff).into()),border_disabled: Some(rgba(0x3c3836ff).into()),background: Some(rgba(0x282828ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0x3c383680).into()),element_selected: Some(rgba(0x3c383680).into()),drop_target_background: Some(rgba(0x3c3836ff).into()),ghost_element_hover: Some(rgba(0x3c383680).into()),text: Some(rgba(0xebdbb2ff).into()),tab_inactive_background: Some(rgba(0x282828ff).into()),tab_active_background: Some(rgba(0x3c3836ff).into()),editor_background: Some(rgba(0x282828ff).into()),editor_gutter_background: Some(rgba(0x282828ff).into()),editor_line_number: Some(rgba(0x665c54ff).into()),editor_active_line_number: Some(rgba(0xebdbb2ff).into()),terminal_background: Some(rgba(0x282828ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()),terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()),terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()),terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()),terminal_ansi_black: Some(rgba(0x3c3836ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0xa89984ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfb4833ff).into()),error: Some(rgba(0xfb4833ff).into()),hidden: Some(rgba(0xa89984ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0xd3869bff).into()), ("something".into(), rgba(0xfb4833ff).into()), ("something".into(), rgba(0xb8bb25ff).into()), ("something".into(), rgba(0x83a598ff).into()), ("punctuation".into(), rgba(0xa89984ff).into()), ("punctuation".into(), rgba(0x83a598ff).into())] }) } }, UserTheme { name: "Gruvbox Dark Soft".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3c3836ff).into()),border_variant: Some(rgba(0x3c3836ff).into()),border_focused: Some(rgba(0x3c3836ff).into()),border_selected: Some(rgba(0x3c3836ff).into()),border_transparent: Some(rgba(0x3c3836ff).into()),border_disabled: Some(rgba(0x3c3836ff).into()),background: Some(rgba(0x32302fff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0x3c383680).into()),element_selected: Some(rgba(0x3c383680).into()),drop_target_background: Some(rgba(0x3c3836ff).into()),ghost_element_hover: Some(rgba(0x3c383680).into()),text: Some(rgba(0xebdbb2ff).into()),tab_inactive_background: Some(rgba(0x32302fff).into()),tab_active_background: Some(rgba(0x504945ff).into()),editor_background: Some(rgba(0x32302fff).into()),editor_gutter_background: Some(rgba(0x32302fff).into()),editor_line_number: Some(rgba(0x665c54ff).into()),editor_active_line_number: Some(rgba(0xebdbb2ff).into()),terminal_background: Some(rgba(0x32302fff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()),terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()),terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()),terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()),terminal_ansi_black: Some(rgba(0x3c3836ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0xa89984ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfb4833ff).into()),error: Some(rgba(0xfb4833ff).into()),hidden: Some(rgba(0xa89984ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0xd3869bff).into()), ("something".into(), rgba(0xfb4833ff).into()), ("something".into(), rgba(0xb8bb25ff).into()), ("something".into(), rgba(0x83a598ff).into()), ("punctuation".into(), rgba(0xa89984ff).into()), ("punctuation".into(), rgba(0x83a598ff).into())] }) } }, UserTheme { name: "Gruvbox Light Hard".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xebdbb2ff).into()),border_variant: Some(rgba(0xebdbb2ff).into()),border_focused: Some(rgba(0xebdbb2ff).into()),border_selected: Some(rgba(0xebdbb2ff).into()),border_transparent: Some(rgba(0xebdbb2ff).into()),border_disabled: Some(rgba(0xebdbb2ff).into()),background: Some(rgba(0xf9f5d7ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0xebdbb280).into()),element_selected: Some(rgba(0xebdbb280).into()),drop_target_background: Some(rgba(0xebdbb2ff).into()),ghost_element_hover: Some(rgba(0xebdbb280).into()),text: Some(rgba(0x3c3836ff).into()),tab_inactive_background: Some(rgba(0xf9f5d7ff).into()),tab_active_background: Some(rgba(0xf2e5bcff).into()),editor_background: Some(rgba(0xf9f5d7ff).into()),editor_gutter_background: Some(rgba(0xf9f5d7ff).into()),editor_line_number: Some(rgba(0xbdae93ff).into()),editor_active_line_number: Some(rgba(0x3c3836ff).into()),terminal_background: Some(rgba(0xf9f5d7ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()),terminal_ansi_bright_green: Some(rgba(0x79740eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()),terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()),terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()),terminal_ansi_black: Some(rgba(0xebdbb2ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x9d0006ff).into()),error: Some(rgba(0x9d0006ff).into()),hidden: Some(rgba(0x7c6f64ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0x8f3e71ff).into()), ("something".into(), rgba(0x9d0006ff).into()), ("something".into(), rgba(0x79740eff).into()), ("something".into(), rgba(0x066578ff).into()), ("punctuation".into(), rgba(0x7c6f64ff).into()), ("punctuation".into(), rgba(0x066578ff).into())] }) } }, UserTheme { name: "Gruvbox Light Medium".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xebdbb2ff).into()),border_variant: Some(rgba(0xebdbb2ff).into()),border_focused: Some(rgba(0xebdbb2ff).into()),border_selected: Some(rgba(0xebdbb2ff).into()),border_transparent: Some(rgba(0xebdbb2ff).into()),border_disabled: Some(rgba(0xebdbb2ff).into()),background: Some(rgba(0xfbf1c7ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0xebdbb280).into()),element_selected: Some(rgba(0xebdbb280).into()),drop_target_background: Some(rgba(0xebdbb2ff).into()),ghost_element_hover: Some(rgba(0xebdbb280).into()),text: Some(rgba(0x3c3836ff).into()),tab_inactive_background: Some(rgba(0xfbf1c7ff).into()),tab_active_background: Some(rgba(0xebdbb2ff).into()),editor_background: Some(rgba(0xfbf1c7ff).into()),editor_gutter_background: Some(rgba(0xfbf1c7ff).into()),editor_line_number: Some(rgba(0xbdae93ff).into()),editor_active_line_number: Some(rgba(0x3c3836ff).into()),terminal_background: Some(rgba(0xfbf1c7ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()),terminal_ansi_bright_green: Some(rgba(0x79740eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()),terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()),terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()),terminal_ansi_black: Some(rgba(0xebdbb2ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x9d0006ff).into()),error: Some(rgba(0x9d0006ff).into()),hidden: Some(rgba(0x7c6f64ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0x8f3e71ff).into()), ("something".into(), rgba(0x9d0006ff).into()), ("something".into(), rgba(0x79740eff).into()), ("something".into(), rgba(0x066578ff).into()), ("punctuation".into(), rgba(0x7c6f64ff).into()), ("punctuation".into(), rgba(0x066578ff).into())] }) } }, UserTheme { name: "Gruvbox Light Soft".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xebdbb2ff).into()),border_variant: Some(rgba(0xebdbb2ff).into()),border_focused: Some(rgba(0xebdbb2ff).into()),border_selected: Some(rgba(0xebdbb2ff).into()),border_transparent: Some(rgba(0xebdbb2ff).into()),border_disabled: Some(rgba(0xebdbb2ff).into()),background: Some(rgba(0xf2e5bcff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0xebdbb280).into()),element_selected: Some(rgba(0xebdbb280).into()),drop_target_background: Some(rgba(0xebdbb2ff).into()),ghost_element_hover: Some(rgba(0xebdbb280).into()),text: Some(rgba(0x3c3836ff).into()),tab_inactive_background: Some(rgba(0xf2e5bcff).into()),tab_active_background: Some(rgba(0xd5c4a1ff).into()),editor_background: Some(rgba(0xf2e5bcff).into()),editor_gutter_background: Some(rgba(0xf2e5bcff).into()),editor_line_number: Some(rgba(0xbdae93ff).into()),editor_active_line_number: Some(rgba(0x3c3836ff).into()),terminal_background: Some(rgba(0xf2e5bcff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()),terminal_ansi_bright_green: Some(rgba(0x79740eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()),terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()),terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()),terminal_ansi_black: Some(rgba(0xebdbb2ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x9d0006ff).into()),error: Some(rgba(0x9d0006ff).into()),hidden: Some(rgba(0x7c6f64ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0x8f3e71ff).into()), ("something".into(), rgba(0x9d0006ff).into()), ("something".into(), rgba(0x79740eff).into()), ("something".into(), rgba(0x066578ff).into()), ("punctuation".into(), rgba(0x7c6f64ff).into()), ("punctuation".into(), rgba(0x066578ff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/mod.rs b/crates/theme2/src/themes/mod.rs index c48338b184..13397105e2 100644 --- a/crates/theme2/src/themes/mod.rs +++ b/crates/theme2/src/themes/mod.rs @@ -1,44 +1,36 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -mod andromeda; -mod ayu; -mod dracula; -mod gruvbox; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. + + mod rose_pine; mod night_owl; +mod andromeda; +mod synthwave_84; +mod palenight; +mod dracula; +mod solarized; mod nord; mod notctis; -mod palenight; -mod rose_pine; -mod solarized; -mod synthwave_84; +mod ayu; +mod gruvbox; -pub use andromeda::*; -pub use ayu::*; -pub use dracula::*; -pub use gruvbox::*; + pub use rose_pine::*; pub use night_owl::*; +pub use andromeda::*; +pub use synthwave_84::*; +pub use palenight::*; +pub use dracula::*; +pub use solarized::*; pub use nord::*; pub use notctis::*; -pub use palenight::*; -pub use rose_pine::*; -pub use solarized::*; -pub use synthwave_84::*; +pub use ayu::*; +pub use gruvbox::*; -use crate::UserThemeFamily; + + use crate::UserThemeFamily; -pub(crate) fn all_user_themes() -> Vec { - vec![ - rose_pine(), - night_owl(), - andromeda(), - synthwave_84(), - palenight(), - dracula(), - solarized(), - nord(), - notctis(), - ayu(), - gruvbox(), - ] -} + pub(crate) fn all_user_themes() -> Vec { + vec![rose_pine(), night_owl(), andromeda(), synthwave_84(), palenight(), dracula(), solarized(), nord(), notctis(), ayu(), gruvbox()] + } + + \ No newline at end of file diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index d406ab79db..20619cbdb4 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -1,123 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn night_owl() -> UserThemeFamily { - UserThemeFamily { - name: "Night Owl".into(), - author: "Sarah Drasner (sdras)".into(), - themes: vec![ - UserTheme { - name: "Night Owl".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x5f7e97ff).into()), - border_variant: Some(rgba(0x5f7e97ff).into()), - border_focused: Some(rgba(0x122d42ff).into()), - border_selected: Some(rgba(0x5f7e97ff).into()), - border_transparent: Some(rgba(0x5f7e97ff).into()), - border_disabled: Some(rgba(0x5f7e97ff).into()), - elevated_surface_background: Some(rgba(0x011526ff).into()), - surface_background: Some(rgba(0x011526ff).into()), - background: Some(rgba(0x011526ff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), - element_hover: Some(rgba(0x011526ff).into()), - element_selected: Some(rgba(0x234c708c).into()), - drop_target_background: Some(rgba(0x011526ff).into()), - ghost_element_hover: Some(rgba(0x011526ff).into()), - text: Some(rgba(0xd6deebff).into()), - tab_inactive_background: Some(rgba(0x01101cff).into()), - tab_active_background: Some(rgba(0x0a2842ff).into()), - editor_background: Some(rgba(0x011526ff).into()), - editor_gutter_background: Some(rgba(0x011526ff).into()), - editor_line_number: Some(rgba(0x4b6479ff).into()), - editor_active_line_number: Some(rgba(0xd6deebff).into()), - terminal_ansi_bright_black: Some(rgba(0x575656ff).into()), - terminal_ansi_bright_red: Some(rgba(0xef524fff).into()), - terminal_ansi_bright_green: Some(rgba(0x21da6eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xffeb95ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x7fdbcaff).into()), - terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x011526ff).into()), - terminal_ansi_red: Some(rgba(0xef524fff).into()), - terminal_ansi_green: Some(rgba(0x21da6eff).into()), - terminal_ansi_yellow: Some(rgba(0xc5e478ff).into()), - terminal_ansi_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_cyan: Some(rgba(0x20c7a7ff).into()), - terminal_ansi_white: Some(rgba(0xffffffff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x5f7e97ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Night Owl Light".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xd9d9d9ff).into()), - border_variant: Some(rgba(0xd9d9d9ff).into()), - border_focused: Some(rgba(0x93a1a1ff).into()), - border_selected: Some(rgba(0xd9d9d9ff).into()), - border_transparent: Some(rgba(0xd9d9d9ff).into()), - border_disabled: Some(rgba(0xd9d9d9ff).into()), - elevated_surface_background: Some(rgba(0xf0f0f0ff).into()), - surface_background: Some(rgba(0xf0f0f0ff).into()), - background: Some(rgba(0xfbfbfbff).into()), - element_background: Some(rgba(0x29a298ff).into()), - element_hover: Some(rgba(0xd3e7f8ff).into()), - element_selected: Some(rgba(0xd3e7f8ff).into()), - ghost_element_hover: Some(rgba(0xd3e7f8ff).into()), - text: Some(rgba(0x403f53ff).into()), - tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), - tab_active_background: Some(rgba(0xf6f6f6ff).into()), - editor_background: Some(rgba(0xfbfbfbff).into()), - editor_gutter_background: Some(rgba(0xfbfbfbff).into()), - editor_line_number: Some(rgba(0x90a7b2ff).into()), - editor_active_line_number: Some(rgba(0x403f53ff).into()), - terminal_background: Some(rgba(0xf6f6f6ff).into()), - terminal_ansi_bright_black: Some(rgba(0x403f53ff).into()), - terminal_ansi_bright_red: Some(rgba(0xde3c3aff).into()), - terminal_ansi_bright_green: Some(rgba(0x07916aff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xdaa900ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x278dd7ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xd64289ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x29a298ff).into()), - terminal_ansi_bright_white: Some(rgba(0xf0f0f0ff).into()), - terminal_ansi_black: Some(rgba(0x403f53ff).into()), - terminal_ansi_red: Some(rgba(0xde3c3aff).into()), - terminal_ansi_green: Some(rgba(0x07916aff).into()), - terminal_ansi_yellow: Some(rgba(0xe0ae01ff).into()), - terminal_ansi_blue: Some(rgba(0x278dd7ff).into()), - terminal_ansi_magenta: Some(rgba(0xd64289ff).into()), - terminal_ansi_cyan: Some(rgba(0x29a298ff).into()), - terminal_ansi_white: Some(rgba(0xf0f0f0ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0x403f53ff).into()), - error: Some(rgba(0x403f53ff).into()), - hidden: Some(rgba(0x403f53ff).into()), - warning: Some(rgba(0xdaa900ff).into()), - ..Default::default() - }, - }, - }, - ], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn night_owl() -> UserThemeFamily { + UserThemeFamily { + name: "Night Owl".into(), + author: "Sarah Drasner (sdras)".into(), + themes: vec![UserTheme { name: "Night Owl".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x5f7e97ff).into()),border_variant: Some(rgba(0x5f7e97ff).into()),border_focused: Some(rgba(0x122d42ff).into()),border_selected: Some(rgba(0x5f7e97ff).into()),border_transparent: Some(rgba(0x5f7e97ff).into()),border_disabled: Some(rgba(0x5f7e97ff).into()),elevated_surface_background: Some(rgba(0x011526ff).into()),surface_background: Some(rgba(0x011526ff).into()),background: Some(rgba(0x011526ff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x011526ff).into()),element_selected: Some(rgba(0x234c708c).into()),drop_target_background: Some(rgba(0x011526ff).into()),ghost_element_hover: Some(rgba(0x011526ff).into()),text: Some(rgba(0xd6deebff).into()),tab_inactive_background: Some(rgba(0x01101cff).into()),tab_active_background: Some(rgba(0x0a2842ff).into()),editor_background: Some(rgba(0x011526ff).into()),editor_gutter_background: Some(rgba(0x011526ff).into()),editor_line_number: Some(rgba(0x4b6479ff).into()),editor_active_line_number: Some(rgba(0xd6deebff).into()),terminal_ansi_bright_black: Some(rgba(0x575656ff).into()),terminal_ansi_bright_red: Some(rgba(0xef524fff).into()),terminal_ansi_bright_green: Some(rgba(0x21da6eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffeb95ff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x7fdbcaff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x011526ff).into()),terminal_ansi_red: Some(rgba(0xef524fff).into()),terminal_ansi_green: Some(rgba(0x21da6eff).into()),terminal_ansi_yellow: Some(rgba(0xc5e478ff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x20c7a7ff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x5f7e97ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x637777ff).into()), ("something".into(), rgba(0xecc48dff).into()), ("something".into(), rgba(0xc5e478ff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x7fdbcaff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc5e478ff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }, UserTheme { name: "Night Owl Light".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xd9d9d9ff).into()),border_variant: Some(rgba(0xd9d9d9ff).into()),border_focused: Some(rgba(0x93a1a1ff).into()),border_selected: Some(rgba(0xd9d9d9ff).into()),border_transparent: Some(rgba(0xd9d9d9ff).into()),border_disabled: Some(rgba(0xd9d9d9ff).into()),elevated_surface_background: Some(rgba(0xf0f0f0ff).into()),surface_background: Some(rgba(0xf0f0f0ff).into()),background: Some(rgba(0xfbfbfbff).into()),element_background: Some(rgba(0x29a298ff).into()),element_hover: Some(rgba(0xd3e7f8ff).into()),element_selected: Some(rgba(0xd3e7f8ff).into()),ghost_element_hover: Some(rgba(0xd3e7f8ff).into()),text: Some(rgba(0x403f53ff).into()),tab_inactive_background: Some(rgba(0xf0f0f0ff).into()),tab_active_background: Some(rgba(0xf6f6f6ff).into()),editor_background: Some(rgba(0xfbfbfbff).into()),editor_gutter_background: Some(rgba(0xfbfbfbff).into()),editor_line_number: Some(rgba(0x90a7b2ff).into()),editor_active_line_number: Some(rgba(0x403f53ff).into()),terminal_background: Some(rgba(0xf6f6f6ff).into()),terminal_ansi_bright_black: Some(rgba(0x403f53ff).into()),terminal_ansi_bright_red: Some(rgba(0xde3c3aff).into()),terminal_ansi_bright_green: Some(rgba(0x07916aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xdaa900ff).into()),terminal_ansi_bright_blue: Some(rgba(0x278dd7ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd64289ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x29a298ff).into()),terminal_ansi_bright_white: Some(rgba(0xf0f0f0ff).into()),terminal_ansi_black: Some(rgba(0x403f53ff).into()),terminal_ansi_red: Some(rgba(0xde3c3aff).into()),terminal_ansi_green: Some(rgba(0x07916aff).into()),terminal_ansi_yellow: Some(rgba(0xe0ae01ff).into()),terminal_ansi_blue: Some(rgba(0x278dd7ff).into()),terminal_ansi_magenta: Some(rgba(0xd64289ff).into()),terminal_ansi_cyan: Some(rgba(0x29a298ff).into()),terminal_ansi_white: Some(rgba(0xf0f0f0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x403f53ff).into()),error: Some(rgba(0x403f53ff).into()),hidden: Some(rgba(0x403f53ff).into()),warning: Some(rgba(0xdaa900ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x989fb1ff).into()), ("something".into(), rgba(0x4876d6ff).into()), ("something".into(), rgba(0x4876d6ff).into()), ("punctuation".into(), rgba(0x994bc3ff).into()), ("something".into(), rgba(0x994bc3ff).into()), ("punctuation".into(), rgba(0x994bc3ff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0x994bc3ff).into()), ("something".into(), rgba(0x4876d6ff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x0b969bff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 11335476dd..2bbdab069d 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -1,70 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn nord() -> UserThemeFamily { - UserThemeFamily { - name: "Nord".into(), - author: "Sven Greb (svengreb)".into(), - themes: vec![UserTheme { - name: "Nord".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x3b4252ff).into()), - border_variant: Some(rgba(0x3b4252ff).into()), - border_focused: Some(rgba(0x3b4252ff).into()), - border_selected: Some(rgba(0x3b4252ff).into()), - border_transparent: Some(rgba(0x3b4252ff).into()), - border_disabled: Some(rgba(0x3b4252ff).into()), - elevated_surface_background: Some(rgba(0x2e3440ff).into()), - surface_background: Some(rgba(0x2e3440ff).into()), - background: Some(rgba(0x2e3440ff).into()), - element_background: Some(rgba(0x88bfd0ee).into()), - element_hover: Some(rgba(0x3b4252ff).into()), - element_selected: Some(rgba(0x88bfd0ff).into()), - drop_target_background: Some(rgba(0x88bfd099).into()), - ghost_element_hover: Some(rgba(0x3b4252ff).into()), - text: Some(rgba(0xd8dee9ff).into()), - tab_inactive_background: Some(rgba(0x2e3440ff).into()), - tab_active_background: Some(rgba(0x3b4252ff).into()), - editor_background: Some(rgba(0x2e3440ff).into()), - editor_gutter_background: Some(rgba(0x2e3440ff).into()), - editor_line_number: Some(rgba(0x4c566aff).into()), - editor_active_line_number: Some(rgba(0xd8dee9ff).into()), - terminal_background: Some(rgba(0x2e3440ff).into()), - terminal_ansi_bright_black: Some(rgba(0x4c566aff).into()), - terminal_ansi_bright_red: Some(rgba(0xbf616aff).into()), - terminal_ansi_bright_green: Some(rgba(0xa3be8cff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xebcb8bff).into()), - terminal_ansi_bright_blue: Some(rgba(0x81a1c1ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xb48eacff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x8fbcbbff).into()), - terminal_ansi_bright_white: Some(rgba(0xeceff4ff).into()), - terminal_ansi_black: Some(rgba(0x3b4252ff).into()), - terminal_ansi_red: Some(rgba(0xbf616aff).into()), - terminal_ansi_green: Some(rgba(0xa3be8cff).into()), - terminal_ansi_yellow: Some(rgba(0xebcb8bff).into()), - terminal_ansi_blue: Some(rgba(0x81a1c1ff).into()), - terminal_ansi_magenta: Some(rgba(0xb48eacff).into()), - terminal_ansi_cyan: Some(rgba(0x88bfd0ff).into()), - terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xbf616aff).into()), - error: Some(rgba(0xbf616aff).into()), - hidden: Some(rgba(0xd8dee966).into()), - warning: Some(rgba(0xebcb8bff).into()), - ..Default::default() - }, - }, - }], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn nord() -> UserThemeFamily { + UserThemeFamily { + name: "Nord".into(), + author: "Sven Greb (svengreb)".into(), + themes: vec![UserTheme { name: "Nord".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3b4252ff).into()),border_variant: Some(rgba(0x3b4252ff).into()),border_focused: Some(rgba(0x3b4252ff).into()),border_selected: Some(rgba(0x3b4252ff).into()),border_transparent: Some(rgba(0x3b4252ff).into()),border_disabled: Some(rgba(0x3b4252ff).into()),elevated_surface_background: Some(rgba(0x2e3440ff).into()),surface_background: Some(rgba(0x2e3440ff).into()),background: Some(rgba(0x2e3440ff).into()),element_background: Some(rgba(0x88bfd0ee).into()),element_hover: Some(rgba(0x3b4252ff).into()),element_selected: Some(rgba(0x88bfd0ff).into()),drop_target_background: Some(rgba(0x88bfd099).into()),ghost_element_hover: Some(rgba(0x3b4252ff).into()),text: Some(rgba(0xd8dee9ff).into()),tab_inactive_background: Some(rgba(0x2e3440ff).into()),tab_active_background: Some(rgba(0x3b4252ff).into()),editor_background: Some(rgba(0x2e3440ff).into()),editor_gutter_background: Some(rgba(0x2e3440ff).into()),editor_line_number: Some(rgba(0x4c566aff).into()),editor_active_line_number: Some(rgba(0xd8dee9ff).into()),terminal_background: Some(rgba(0x2e3440ff).into()),terminal_ansi_bright_black: Some(rgba(0x4c566aff).into()),terminal_ansi_bright_red: Some(rgba(0xbf616aff).into()),terminal_ansi_bright_green: Some(rgba(0xa3be8cff).into()),terminal_ansi_bright_yellow: Some(rgba(0xebcb8bff).into()),terminal_ansi_bright_blue: Some(rgba(0x81a1c1ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xb48eacff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8fbcbbff).into()),terminal_ansi_bright_white: Some(rgba(0xeceff4ff).into()),terminal_ansi_black: Some(rgba(0x3b4252ff).into()),terminal_ansi_red: Some(rgba(0xbf616aff).into()),terminal_ansi_green: Some(rgba(0xa3be8cff).into()),terminal_ansi_yellow: Some(rgba(0xebcb8bff).into()),terminal_ansi_blue: Some(rgba(0x81a1c1ff).into()),terminal_ansi_magenta: Some(rgba(0xb48eacff).into()),terminal_ansi_cyan: Some(rgba(0x88bfd0ff).into()),terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xbf616aff).into()),error: Some(rgba(0xbf616aff).into()),hidden: Some(rgba(0xd8dee966).into()),warning: Some(rgba(0xebcb8bff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x606e87ff).into()), ("punctuation".into(), rgba(0xeceff4ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("punctuation".into(), rgba(0xeceff4ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("something".into(), rgba(0x81a1c1ff).into()), ("something".into(), rgba(0xa3be8cff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index e590615cfd..8ac36cad64 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -1,612 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn notctis() -> UserThemeFamily { - UserThemeFamily { - name: "Notctis".into(), - author: "Liviu Schera (liviuschera)".into(), - themes: vec![ - UserTheme { - name: "Noctis Azureus".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x1579b6ff).into()), - border_variant: Some(rgba(0x1579b6ff).into()), - border_focused: Some(rgba(0x08324eff).into()), - border_selected: Some(rgba(0x1579b6ff).into()), - border_transparent: Some(rgba(0x1579b6ff).into()), - border_disabled: Some(rgba(0x1579b6ff).into()), - elevated_surface_background: Some(rgba(0x051b28ff).into()), - surface_background: Some(rgba(0x051b28ff).into()), - background: Some(rgba(0x07263aff).into()), - element_background: Some(rgba(0x007e99ff).into()), - element_hover: Some(rgba(0x00558a65).into()), - element_selected: Some(rgba(0x0b3f5fff).into()), - drop_target_background: Some(rgba(0x00294dff).into()), - ghost_element_hover: Some(rgba(0x00558a65).into()), - text: Some(rgba(0xbecfdaff).into()), - tab_inactive_background: Some(rgba(0x08324eff).into()), - tab_active_background: Some(rgba(0x07263aff).into()), - editor_background: Some(rgba(0x07263aff).into()), - editor_gutter_background: Some(rgba(0x07263aff).into()), - editor_line_number: Some(rgba(0x4c6b7fff).into()), - editor_active_line_number: Some(rgba(0xbecfdaff).into()), - terminal_background: Some(rgba(0x051b28ff).into()), - terminal_ansi_bright_black: Some(rgba(0x475e6cff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xbecfdaff).into()), - terminal_ansi_black: Some(rgba(0x28343dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xaec3d0ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0x9fb6c6ff).into()), - warning: Some(rgba(0xffa857ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Bordo".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x997582ff).into()), - border_variant: Some(rgba(0x997582ff).into()), - border_focused: Some(rgba(0x413036ff).into()), - border_selected: Some(rgba(0x997582ff).into()), - border_transparent: Some(rgba(0x997582ff).into()), - border_disabled: Some(rgba(0x997582ff).into()), - elevated_surface_background: Some(rgba(0x272022ff).into()), - surface_background: Some(rgba(0x272022ff).into()), - background: Some(rgba(0x322a2dff).into()), - element_background: Some(rgba(0x007e99ff).into()), - element_hover: Some(rgba(0x533641ff).into()), - element_selected: Some(rgba(0x5c2e3e99).into()), - drop_target_background: Some(rgba(0x38292eff).into()), - ghost_element_hover: Some(rgba(0x533641ff).into()), - text: Some(rgba(0xcbbec2ff).into()), - tab_inactive_background: Some(rgba(0x413036ff).into()), - tab_active_background: Some(rgba(0x322a2dff).into()), - editor_background: Some(rgba(0x322a2dff).into()), - editor_gutter_background: Some(rgba(0x322a2dff).into()), - editor_line_number: Some(rgba(0x715b63ff).into()), - editor_active_line_number: Some(rgba(0xcbbec2ff).into()), - terminal_background: Some(rgba(0x272022ff).into()), - terminal_ansi_bright_black: Some(rgba(0x69545bff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xcbbec2ff).into()), - terminal_ansi_black: Some(rgba(0x47393eff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb9acb0ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0xbbaab0ff).into()), - warning: Some(rgba(0xffa857ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctus Hibernus".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x00c6e0ff).into()), - border_variant: Some(rgba(0x00c6e0ff).into()), - border_focused: Some(rgba(0xe0eff1ff).into()), - border_selected: Some(rgba(0x00c6e0ff).into()), - border_transparent: Some(rgba(0x00c6e0ff).into()), - border_disabled: Some(rgba(0x00c6e0ff).into()), - elevated_surface_background: Some(rgba(0xe1eeefff).into()), - surface_background: Some(rgba(0xe1eeefff).into()), - background: Some(rgba(0xf4f6f6ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0xd1eafaff).into()), - element_selected: Some(rgba(0xb6e1e7ff).into()), - drop_target_background: Some(rgba(0xb1c9ccff).into()), - ghost_element_hover: Some(rgba(0xd1eafaff).into()), - text: Some(rgba(0x005661ff).into()), - tab_inactive_background: Some(rgba(0xcaedf2ff).into()), - tab_active_background: Some(rgba(0xf4f6f6ff).into()), - editor_background: Some(rgba(0xf4f6f6ff).into()), - editor_gutter_background: Some(rgba(0xf4f6f6ff).into()), - editor_line_number: Some(rgba(0xa0abacff).into()), - editor_active_line_number: Some(rgba(0x005661ff).into()), - terminal_background: Some(rgba(0xe1eeefff).into()), - terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), - terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), - terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), - terminal_ansi_black: Some(rgba(0x003b41ff).into()), - terminal_ansi_red: Some(rgba(0xe34d1bff).into()), - terminal_ansi_green: Some(rgba(0x00b368ff).into()), - terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), - terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), - terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), - terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), - terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xff3f00ff).into()), - error: Some(rgba(0xff3f00ff).into()), - hidden: Some(rgba(0x70838dff).into()), - warning: Some(rgba(0xe07a52ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Lilac".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xaea4f4ff).into()), - border_variant: Some(rgba(0xaea4f4ff).into()), - border_focused: Some(rgba(0xdedbf5ff).into()), - border_selected: Some(rgba(0xaea4f4ff).into()), - border_transparent: Some(rgba(0xaea4f4ff).into()), - border_disabled: Some(rgba(0xaea4f4ff).into()), - elevated_surface_background: Some(rgba(0xe9e7f3ff).into()), - surface_background: Some(rgba(0xe9e7f3ff).into()), - background: Some(rgba(0xf2f1f8ff).into()), - element_background: Some(rgba(0x8d7ffeff).into()), - element_hover: Some(rgba(0xd1cbfeff).into()), - element_selected: Some(rgba(0xbcb6e7ff).into()), - drop_target_background: Some(rgba(0xafaad4aa).into()), - ghost_element_hover: Some(rgba(0xd1cbfeff).into()), - text: Some(rgba(0x0c006bff).into()), - tab_inactive_background: Some(rgba(0xe2dff6ff).into()), - tab_active_background: Some(rgba(0xf2f1f8ff).into()), - editor_background: Some(rgba(0xf2f1f8ff).into()), - editor_gutter_background: Some(rgba(0xf2f1f8ff).into()), - editor_line_number: Some(rgba(0x9c99b0ff).into()), - editor_active_line_number: Some(rgba(0x0c006bff).into()), - terminal_background: Some(rgba(0xe9e7f3ff).into()), - terminal_ansi_bright_black: Some(rgba(0x0f0080ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), - terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), - terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), - terminal_ansi_black: Some(rgba(0x0c006bff).into()), - terminal_ansi_red: Some(rgba(0xe34d1bff).into()), - terminal_ansi_green: Some(rgba(0x00b368ff).into()), - terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), - terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), - terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), - terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), - terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xff3f00ff).into()), - error: Some(rgba(0xff3f00ff).into()), - hidden: Some(rgba(0x74708dff).into()), - warning: Some(rgba(0xe07a52ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Lux".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x00c6e0ff).into()), - border_variant: Some(rgba(0x00c6e0ff).into()), - border_focused: Some(rgba(0xf2eddeff).into()), - border_selected: Some(rgba(0x00c6e0ff).into()), - border_transparent: Some(rgba(0x00c6e0ff).into()), - border_disabled: Some(rgba(0x00c6e0ff).into()), - elevated_surface_background: Some(rgba(0xf6eddaff).into()), - surface_background: Some(rgba(0xf6eddaff).into()), - background: Some(rgba(0xfef8ecff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0xd1f2f8ff).into()), - element_selected: Some(rgba(0xb6e1e7ff).into()), - drop_target_background: Some(rgba(0xcccab1ff).into()), - ghost_element_hover: Some(rgba(0xd1f2f8ff).into()), - text: Some(rgba(0x005661ff).into()), - tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), - tab_active_background: Some(rgba(0xfef8ecff).into()), - editor_background: Some(rgba(0xfef8ecff).into()), - editor_gutter_background: Some(rgba(0xfef8ecff).into()), - editor_line_number: Some(rgba(0xa0abacff).into()), - editor_active_line_number: Some(rgba(0x005661ff).into()), - terminal_background: Some(rgba(0xf6eddaff).into()), - terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), - terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), - terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), - terminal_ansi_black: Some(rgba(0x003b41ff).into()), - terminal_ansi_red: Some(rgba(0xe34d1bff).into()), - terminal_ansi_green: Some(rgba(0x00b368ff).into()), - terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), - terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), - terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), - terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), - terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xff3f00ff).into()), - error: Some(rgba(0xff3f00ff).into()), - hidden: Some(rgba(0x878476ff).into()), - warning: Some(rgba(0xe07a52ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Minimus".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x496c83ff).into()), - border_variant: Some(rgba(0x496c83ff).into()), - border_focused: Some(rgba(0x202d37ff).into()), - border_selected: Some(rgba(0x496c83ff).into()), - border_transparent: Some(rgba(0x496c83ff).into()), - border_disabled: Some(rgba(0x496c83ff).into()), - elevated_surface_background: Some(rgba(0x0e1920ff).into()), - surface_background: Some(rgba(0x0e1920ff).into()), - background: Some(rgba(0x1b2932ff).into()), - element_background: Some(rgba(0x2e616bff).into()), - element_hover: Some(rgba(0x00558aff).into()), - element_selected: Some(rgba(0x2c414eff).into()), - drop_target_background: Some(rgba(0x152836ff).into()), - ghost_element_hover: Some(rgba(0x00558aff).into()), - text: Some(rgba(0xc5cdd3ff).into()), - tab_inactive_background: Some(rgba(0x202d37ff).into()), - tab_active_background: Some(rgba(0x1b2932ff).into()), - editor_background: Some(rgba(0x1b2932ff).into()), - editor_gutter_background: Some(rgba(0x1b2932ff).into()), - editor_line_number: Some(rgba(0x5d6e79ff).into()), - editor_active_line_number: Some(rgba(0xc5cdd3ff).into()), - terminal_background: Some(rgba(0x0e1920ff).into()), - terminal_ansi_bright_black: Some(rgba(0x425866ff).into()), - terminal_ansi_bright_red: Some(rgba(0xca8468ff).into()), - terminal_ansi_bright_green: Some(rgba(0x84c8abff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xd1aa7bff).into()), - terminal_ansi_bright_blue: Some(rgba(0x68a4caff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc88da2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x84bfc8ff).into()), - terminal_ansi_bright_white: Some(rgba(0xc5d1d3ff).into()), - terminal_ansi_black: Some(rgba(0x182935ff).into()), - terminal_ansi_red: Some(rgba(0xc08872ff).into()), - terminal_ansi_green: Some(rgba(0x72c09fff).into()), - terminal_ansi_yellow: Some(rgba(0xc8a984ff).into()), - terminal_ansi_blue: Some(rgba(0x6095b7ff).into()), - terminal_ansi_magenta: Some(rgba(0xc28097ff).into()), - terminal_ansi_cyan: Some(rgba(0x72b7c0ff).into()), - terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xb96245ff).into()), - error: Some(rgba(0xb96245ff).into()), - hidden: Some(rgba(0x96a8b6ff).into()), - warning: Some(rgba(0xffa857ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x0d6571ff).into()), - border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x063940ff).into()), - border_selected: Some(rgba(0x0d6571ff).into()), - border_transparent: Some(rgba(0x0d6571ff).into()), - border_disabled: Some(rgba(0x0d6571ff).into()), - elevated_surface_background: Some(rgba(0x03181aff).into()), - surface_background: Some(rgba(0x03181aff).into()), - background: Some(rgba(0x052428ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0x0b505aff).into()), - element_selected: Some(rgba(0x0d6571ff).into()), - drop_target_background: Some(rgba(0x00404dff).into()), - ghost_element_hover: Some(rgba(0x0b505aff).into()), - text: Some(rgba(0xb1c9ccff).into()), - tab_inactive_background: Some(rgba(0x052e32ff).into()), - tab_active_background: Some(rgba(0x052428ff).into()), - editor_background: Some(rgba(0x052428ff).into()), - editor_gutter_background: Some(rgba(0x052428ff).into()), - editor_line_number: Some(rgba(0x4e6b6eff).into()), - editor_active_line_number: Some(rgba(0xb1c9ccff).into()), - terminal_background: Some(rgba(0x03181aff).into()), - terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), - terminal_ansi_black: Some(rgba(0x324a4dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0x87a7abff).into()), - warning: Some(rgba(0xffa487ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Obscuro".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x0d6571ff).into()), - border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x052e32ff).into()), - border_selected: Some(rgba(0x0d6571ff).into()), - border_transparent: Some(rgba(0x0d6571ff).into()), - border_disabled: Some(rgba(0x0d6571ff).into()), - elevated_surface_background: Some(rgba(0x020c0eff).into()), - surface_background: Some(rgba(0x020c0eff).into()), - background: Some(rgba(0x031316ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0x0b505aff).into()), - element_selected: Some(rgba(0x0d6571ff).into()), - drop_target_background: Some(rgba(0x00404dff).into()), - ghost_element_hover: Some(rgba(0x0b505aff).into()), - text: Some(rgba(0xb1c9ccff).into()), - tab_inactive_background: Some(rgba(0x052e32ff).into()), - tab_active_background: Some(rgba(0x031316ff).into()), - editor_background: Some(rgba(0x031316ff).into()), - editor_gutter_background: Some(rgba(0x031316ff).into()), - editor_line_number: Some(rgba(0x4e6b6eff).into()), - editor_active_line_number: Some(rgba(0xb1c9ccff).into()), - terminal_background: Some(rgba(0x020c0eff).into()), - terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), - terminal_ansi_black: Some(rgba(0x324a4dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0x87a7abff).into()), - warning: Some(rgba(0xffa487ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Sereno".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x0d6571ff).into()), - border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x052e32ff).into()), - border_selected: Some(rgba(0x0d6571ff).into()), - border_transparent: Some(rgba(0x0d6571ff).into()), - border_disabled: Some(rgba(0x0d6571ff).into()), - elevated_surface_background: Some(rgba(0x020c0eff).into()), - surface_background: Some(rgba(0x020c0eff).into()), - background: Some(rgba(0x031316ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0x0b505aff).into()), - element_selected: Some(rgba(0x0d6571ff).into()), - drop_target_background: Some(rgba(0x00404dff).into()), - ghost_element_hover: Some(rgba(0x0b505aff).into()), - text: Some(rgba(0xb1c9ccff).into()), - tab_inactive_background: Some(rgba(0x052e32ff).into()), - tab_active_background: Some(rgba(0x031316ff).into()), - editor_background: Some(rgba(0x031316ff).into()), - editor_gutter_background: Some(rgba(0x031316ff).into()), - editor_line_number: Some(rgba(0x4e6b6eff).into()), - editor_active_line_number: Some(rgba(0xb1c9ccff).into()), - terminal_background: Some(rgba(0x020c0eff).into()), - terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), - terminal_ansi_black: Some(rgba(0x324a4dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0x87a7abff).into()), - warning: Some(rgba(0xffa487ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Uva".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x6d66a7ff).into()), - border_variant: Some(rgba(0x6d66a7ff).into()), - border_focused: Some(rgba(0x2f2c49ff).into()), - border_selected: Some(rgba(0x6d66a7ff).into()), - border_transparent: Some(rgba(0x6d66a7ff).into()), - border_disabled: Some(rgba(0x6d66a7ff).into()), - elevated_surface_background: Some(rgba(0x1f1d30ff).into()), - surface_background: Some(rgba(0x1f1d30ff).into()), - background: Some(rgba(0x292640ff).into()), - element_background: Some(rgba(0x007e99ff).into()), - element_hover: Some(rgba(0x383866ff).into()), - element_selected: Some(rgba(0x322e5cff).into()), - drop_target_background: Some(rgba(0x202040ff).into()), - ghost_element_hover: Some(rgba(0x383866ff).into()), - text: Some(rgba(0xc5c2d6ff).into()), - tab_inactive_background: Some(rgba(0x2f2c49ff).into()), - tab_active_background: Some(rgba(0x292640ff).into()), - editor_background: Some(rgba(0x292640ff).into()), - editor_gutter_background: Some(rgba(0x292640ff).into()), - editor_line_number: Some(rgba(0x5c5973ff).into()), - editor_active_line_number: Some(rgba(0xc5c2d6ff).into()), - terminal_background: Some(rgba(0x1f1d30ff).into()), - terminal_ansi_bright_black: Some(rgba(0x504e65ff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xc5c2d6ff).into()), - terminal_ansi_black: Some(rgba(0x302f3dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb6b3ccff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0xa9a5c0ff).into()), - warning: Some(rgba(0xffa857ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Noctis Viola".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x8666a7ff).into()), - border_variant: Some(rgba(0x8666a7ff).into()), - border_focused: Some(rgba(0x3d2e4dff).into()), - border_selected: Some(rgba(0x8666a7ff).into()), - border_transparent: Some(rgba(0x8666a7ff).into()), - border_disabled: Some(rgba(0x8666a7ff).into()), - elevated_surface_background: Some(rgba(0x291d35ff).into()), - surface_background: Some(rgba(0x291d35ff).into()), - background: Some(rgba(0x30243dff).into()), - element_background: Some(rgba(0x007e99ff).into()), - element_hover: Some(rgba(0x69438dff).into()), - element_selected: Some(rgba(0x472e60ff).into()), - drop_target_background: Some(rgba(0x302040ff).into()), - ghost_element_hover: Some(rgba(0x69438dff).into()), - text: Some(rgba(0xccbfd9ff).into()), - tab_inactive_background: Some(rgba(0x3d2e4dff).into()), - tab_active_background: Some(rgba(0x30243dff).into()), - editor_background: Some(rgba(0x30243dff).into()), - editor_gutter_background: Some(rgba(0x30243dff).into()), - editor_line_number: Some(rgba(0x665973ff).into()), - editor_active_line_number: Some(rgba(0xccbfd9ff).into()), - terminal_background: Some(rgba(0x291d35ff).into()), - terminal_ansi_bright_black: Some(rgba(0x594e65ff).into()), - terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), - terminal_ansi_bright_white: Some(rgba(0xccbfd9ff).into()), - terminal_ansi_black: Some(rgba(0x362f3dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), - terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), - terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), - terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xbfafcfff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), - hidden: Some(rgba(0xb3a5c0ff).into()), - warning: Some(rgba(0xffa857ff).into()), - ..Default::default() - }, - }, - }, - ], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn notctis() -> UserThemeFamily { + UserThemeFamily { + name: "Notctis".into(), + author: "Liviu Schera (liviuschera)".into(), + themes: vec![UserTheme { name: "Noctis Azureus".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x1579b6ff).into()),border_variant: Some(rgba(0x1579b6ff).into()),border_focused: Some(rgba(0x08324eff).into()),border_selected: Some(rgba(0x1579b6ff).into()),border_transparent: Some(rgba(0x1579b6ff).into()),border_disabled: Some(rgba(0x1579b6ff).into()),elevated_surface_background: Some(rgba(0x051b28ff).into()),surface_background: Some(rgba(0x051b28ff).into()),background: Some(rgba(0x07263aff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x00558a65).into()),element_selected: Some(rgba(0x0b3f5fff).into()),drop_target_background: Some(rgba(0x00294dff).into()),ghost_element_hover: Some(rgba(0x00558a65).into()),text: Some(rgba(0xbecfdaff).into()),tab_inactive_background: Some(rgba(0x08324eff).into()),tab_active_background: Some(rgba(0x07263aff).into()),editor_background: Some(rgba(0x07263aff).into()),editor_gutter_background: Some(rgba(0x07263aff).into()),editor_line_number: Some(rgba(0x4c6b7fff).into()),editor_active_line_number: Some(rgba(0xbecfdaff).into()),terminal_background: Some(rgba(0x051b28ff).into()),terminal_ansi_bright_black: Some(rgba(0x475e6cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xbecfdaff).into()),terminal_ansi_black: Some(rgba(0x28343dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xaec3d0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x9fb6c6ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5888a5ff).into()), ("punctuation".into(), rgba(0x5888a5ff).into()), ("punctuation".into(), rgba(0xbecfdaff).into()), ("punctuation".into(), rgba(0xbecfdaff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Bordo".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x997582ff).into()),border_variant: Some(rgba(0x997582ff).into()),border_focused: Some(rgba(0x413036ff).into()),border_selected: Some(rgba(0x997582ff).into()),border_transparent: Some(rgba(0x997582ff).into()),border_disabled: Some(rgba(0x997582ff).into()),elevated_surface_background: Some(rgba(0x272022ff).into()),surface_background: Some(rgba(0x272022ff).into()),background: Some(rgba(0x322a2dff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x533641ff).into()),element_selected: Some(rgba(0x5c2e3e99).into()),drop_target_background: Some(rgba(0x38292eff).into()),ghost_element_hover: Some(rgba(0x533641ff).into()),text: Some(rgba(0xcbbec2ff).into()),tab_inactive_background: Some(rgba(0x413036ff).into()),tab_active_background: Some(rgba(0x322a2dff).into()),editor_background: Some(rgba(0x322a2dff).into()),editor_gutter_background: Some(rgba(0x322a2dff).into()),editor_line_number: Some(rgba(0x715b63ff).into()),editor_active_line_number: Some(rgba(0xcbbec2ff).into()),terminal_background: Some(rgba(0x272022ff).into()),terminal_ansi_bright_black: Some(rgba(0x69545bff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xcbbec2ff).into()),terminal_ansi_black: Some(rgba(0x47393eff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb9acb0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0xbbaab0ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x8b737bff).into()), ("punctuation".into(), rgba(0x8b737bff).into()), ("punctuation".into(), rgba(0xcbbec2ff).into()), ("punctuation".into(), rgba(0xcbbec2ff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctus Hibernus".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x00c6e0ff).into()),border_variant: Some(rgba(0x00c6e0ff).into()),border_focused: Some(rgba(0xe0eff1ff).into()),border_selected: Some(rgba(0x00c6e0ff).into()),border_transparent: Some(rgba(0x00c6e0ff).into()),border_disabled: Some(rgba(0x00c6e0ff).into()),elevated_surface_background: Some(rgba(0xe1eeefff).into()),surface_background: Some(rgba(0xe1eeefff).into()),background: Some(rgba(0xf4f6f6ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0xd1eafaff).into()),element_selected: Some(rgba(0xb6e1e7ff).into()),drop_target_background: Some(rgba(0xb1c9ccff).into()),ghost_element_hover: Some(rgba(0xd1eafaff).into()),text: Some(rgba(0x005661ff).into()),tab_inactive_background: Some(rgba(0xcaedf2ff).into()),tab_active_background: Some(rgba(0xf4f6f6ff).into()),editor_background: Some(rgba(0xf4f6f6ff).into()),editor_gutter_background: Some(rgba(0xf4f6f6ff).into()),editor_line_number: Some(rgba(0xa0abacff).into()),editor_active_line_number: Some(rgba(0x005661ff).into()),terminal_background: Some(rgba(0xe1eeefff).into()),terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()),terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()),terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()),terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()),terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()),terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()),terminal_ansi_black: Some(rgba(0x003b41ff).into()),terminal_ansi_red: Some(rgba(0xe34d1bff).into()),terminal_ansi_green: Some(rgba(0x00b368ff).into()),terminal_ansi_yellow: Some(rgba(0xf49724ff).into()),terminal_ansi_blue: Some(rgba(0x0094f0ff).into()),terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff3f00ff).into()),error: Some(rgba(0xff3f00ff).into()),hidden: Some(rgba(0x70838dff).into()),warning: Some(rgba(0xe07a52ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0xff5792ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("punctuation".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x00b368ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into())] }) } }, UserTheme { name: "Noctis Lilac".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xaea4f4ff).into()),border_variant: Some(rgba(0xaea4f4ff).into()),border_focused: Some(rgba(0xdedbf5ff).into()),border_selected: Some(rgba(0xaea4f4ff).into()),border_transparent: Some(rgba(0xaea4f4ff).into()),border_disabled: Some(rgba(0xaea4f4ff).into()),elevated_surface_background: Some(rgba(0xe9e7f3ff).into()),surface_background: Some(rgba(0xe9e7f3ff).into()),background: Some(rgba(0xf2f1f8ff).into()),element_background: Some(rgba(0x8d7ffeff).into()),element_hover: Some(rgba(0xd1cbfeff).into()),element_selected: Some(rgba(0xbcb6e7ff).into()),drop_target_background: Some(rgba(0xafaad4aa).into()),ghost_element_hover: Some(rgba(0xd1cbfeff).into()),text: Some(rgba(0x0c006bff).into()),tab_inactive_background: Some(rgba(0xe2dff6ff).into()),tab_active_background: Some(rgba(0xf2f1f8ff).into()),editor_background: Some(rgba(0xf2f1f8ff).into()),editor_gutter_background: Some(rgba(0xf2f1f8ff).into()),editor_line_number: Some(rgba(0x9c99b0ff).into()),editor_active_line_number: Some(rgba(0x0c006bff).into()),terminal_background: Some(rgba(0xe9e7f3ff).into()),terminal_ansi_bright_black: Some(rgba(0x0f0080ff).into()),terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()),terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()),terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()),terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()),terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()),terminal_ansi_black: Some(rgba(0x0c006bff).into()),terminal_ansi_red: Some(rgba(0xe34d1bff).into()),terminal_ansi_green: Some(rgba(0x00b368ff).into()),terminal_ansi_yellow: Some(rgba(0xf49724ff).into()),terminal_ansi_blue: Some(rgba(0x0094f0ff).into()),terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff3f00ff).into()),error: Some(rgba(0xff3f00ff).into()),hidden: Some(rgba(0x74708dff).into()),warning: Some(rgba(0xe07a52ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x9995b7ff).into()), ("punctuation".into(), rgba(0x9995b7ff).into()), ("punctuation".into(), rgba(0x0c006bff).into()), ("punctuation".into(), rgba(0x0c006bff).into()), ("punctuation".into(), rgba(0xff5792ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("punctuation".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x00b368ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into())] }) } }, UserTheme { name: "Noctis Lux".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x00c6e0ff).into()),border_variant: Some(rgba(0x00c6e0ff).into()),border_focused: Some(rgba(0xf2eddeff).into()),border_selected: Some(rgba(0x00c6e0ff).into()),border_transparent: Some(rgba(0x00c6e0ff).into()),border_disabled: Some(rgba(0x00c6e0ff).into()),elevated_surface_background: Some(rgba(0xf6eddaff).into()),surface_background: Some(rgba(0xf6eddaff).into()),background: Some(rgba(0xfef8ecff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0xd1f2f8ff).into()),element_selected: Some(rgba(0xb6e1e7ff).into()),drop_target_background: Some(rgba(0xcccab1ff).into()),ghost_element_hover: Some(rgba(0xd1f2f8ff).into()),text: Some(rgba(0x005661ff).into()),tab_inactive_background: Some(rgba(0xf0e9d6ff).into()),tab_active_background: Some(rgba(0xfef8ecff).into()),editor_background: Some(rgba(0xfef8ecff).into()),editor_gutter_background: Some(rgba(0xfef8ecff).into()),editor_line_number: Some(rgba(0xa0abacff).into()),editor_active_line_number: Some(rgba(0x005661ff).into()),terminal_background: Some(rgba(0xf6eddaff).into()),terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()),terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()),terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()),terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()),terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()),terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()),terminal_ansi_black: Some(rgba(0x003b41ff).into()),terminal_ansi_red: Some(rgba(0xe34d1bff).into()),terminal_ansi_green: Some(rgba(0x00b368ff).into()),terminal_ansi_yellow: Some(rgba(0xf49724ff).into()),terminal_ansi_blue: Some(rgba(0x0094f0ff).into()),terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff3f00ff).into()),error: Some(rgba(0xff3f00ff).into()),hidden: Some(rgba(0x878476ff).into()),warning: Some(rgba(0xe07a52ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0xff5792ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("punctuation".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x00b368ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into())] }) } }, UserTheme { name: "Noctis Minimus".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x496c83ff).into()),border_variant: Some(rgba(0x496c83ff).into()),border_focused: Some(rgba(0x202d37ff).into()),border_selected: Some(rgba(0x496c83ff).into()),border_transparent: Some(rgba(0x496c83ff).into()),border_disabled: Some(rgba(0x496c83ff).into()),elevated_surface_background: Some(rgba(0x0e1920ff).into()),surface_background: Some(rgba(0x0e1920ff).into()),background: Some(rgba(0x1b2932ff).into()),element_background: Some(rgba(0x2e616bff).into()),element_hover: Some(rgba(0x00558aff).into()),element_selected: Some(rgba(0x2c414eff).into()),drop_target_background: Some(rgba(0x152836ff).into()),ghost_element_hover: Some(rgba(0x00558aff).into()),text: Some(rgba(0xc5cdd3ff).into()),tab_inactive_background: Some(rgba(0x202d37ff).into()),tab_active_background: Some(rgba(0x1b2932ff).into()),editor_background: Some(rgba(0x1b2932ff).into()),editor_gutter_background: Some(rgba(0x1b2932ff).into()),editor_line_number: Some(rgba(0x5d6e79ff).into()),editor_active_line_number: Some(rgba(0xc5cdd3ff).into()),terminal_background: Some(rgba(0x0e1920ff).into()),terminal_ansi_bright_black: Some(rgba(0x425866ff).into()),terminal_ansi_bright_red: Some(rgba(0xca8468ff).into()),terminal_ansi_bright_green: Some(rgba(0x84c8abff).into()),terminal_ansi_bright_yellow: Some(rgba(0xd1aa7bff).into()),terminal_ansi_bright_blue: Some(rgba(0x68a4caff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc88da2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x84bfc8ff).into()),terminal_ansi_bright_white: Some(rgba(0xc5d1d3ff).into()),terminal_ansi_black: Some(rgba(0x182935ff).into()),terminal_ansi_red: Some(rgba(0xc08872ff).into()),terminal_ansi_green: Some(rgba(0x72c09fff).into()),terminal_ansi_yellow: Some(rgba(0xc8a984ff).into()),terminal_ansi_blue: Some(rgba(0x6095b7ff).into()),terminal_ansi_magenta: Some(rgba(0xc28097ff).into()),terminal_ansi_cyan: Some(rgba(0x72b7c0ff).into()),terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xb96245ff).into()),error: Some(rgba(0xb96245ff).into()),hidden: Some(rgba(0x96a8b6ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5d7787ff).into()), ("punctuation".into(), rgba(0x5d7787ff).into()), ("punctuation".into(), rgba(0xc5cdd3ff).into()), ("punctuation".into(), rgba(0xc5cdd3ff).into()), ("punctuation".into(), rgba(0xc88da2ff).into()), ("something".into(), rgba(0xd3b692ff).into()), ("something".into(), rgba(0xd3b692ff).into()), ("punctuation".into(), rgba(0xd3b692ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x72c09fff).into()), ("punctuation".into(), rgba(0x5897bfff).into()), ("punctuation".into(), rgba(0x5897bfff).into())] }) } }, UserTheme { name: "Noctis".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x0d6571ff).into()),border_variant: Some(rgba(0x0d6571ff).into()),border_focused: Some(rgba(0x063940ff).into()),border_selected: Some(rgba(0x0d6571ff).into()),border_transparent: Some(rgba(0x0d6571ff).into()),border_disabled: Some(rgba(0x0d6571ff).into()),elevated_surface_background: Some(rgba(0x03181aff).into()),surface_background: Some(rgba(0x03181aff).into()),background: Some(rgba(0x052428ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0x0b505aff).into()),element_selected: Some(rgba(0x0d6571ff).into()),drop_target_background: Some(rgba(0x00404dff).into()),ghost_element_hover: Some(rgba(0x0b505aff).into()),text: Some(rgba(0xb1c9ccff).into()),tab_inactive_background: Some(rgba(0x052e32ff).into()),tab_active_background: Some(rgba(0x052428ff).into()),editor_background: Some(rgba(0x052428ff).into()),editor_gutter_background: Some(rgba(0x052428ff).into()),editor_line_number: Some(rgba(0x4e6b6eff).into()),editor_active_line_number: Some(rgba(0xb1c9ccff).into()),terminal_background: Some(rgba(0x03181aff).into()),terminal_ansi_bright_black: Some(rgba(0x47686cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()),terminal_ansi_black: Some(rgba(0x324a4dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb1c9ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x87a7abff).into()),warning: Some(rgba(0xffa487ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Obscuro".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x0d6571ff).into()),border_variant: Some(rgba(0x0d6571ff).into()),border_focused: Some(rgba(0x052e32ff).into()),border_selected: Some(rgba(0x0d6571ff).into()),border_transparent: Some(rgba(0x0d6571ff).into()),border_disabled: Some(rgba(0x0d6571ff).into()),elevated_surface_background: Some(rgba(0x020c0eff).into()),surface_background: Some(rgba(0x020c0eff).into()),background: Some(rgba(0x031316ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0x0b505aff).into()),element_selected: Some(rgba(0x0d6571ff).into()),drop_target_background: Some(rgba(0x00404dff).into()),ghost_element_hover: Some(rgba(0x0b505aff).into()),text: Some(rgba(0xb1c9ccff).into()),tab_inactive_background: Some(rgba(0x052e32ff).into()),tab_active_background: Some(rgba(0x031316ff).into()),editor_background: Some(rgba(0x031316ff).into()),editor_gutter_background: Some(rgba(0x031316ff).into()),editor_line_number: Some(rgba(0x4e6b6eff).into()),editor_active_line_number: Some(rgba(0xb1c9ccff).into()),terminal_background: Some(rgba(0x020c0eff).into()),terminal_ansi_bright_black: Some(rgba(0x47686cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()),terminal_ansi_black: Some(rgba(0x324a4dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb1c9ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x87a7abff).into()),warning: Some(rgba(0xffa487ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Sereno".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x0d6571ff).into()),border_variant: Some(rgba(0x0d6571ff).into()),border_focused: Some(rgba(0x052e32ff).into()),border_selected: Some(rgba(0x0d6571ff).into()),border_transparent: Some(rgba(0x0d6571ff).into()),border_disabled: Some(rgba(0x0d6571ff).into()),elevated_surface_background: Some(rgba(0x020c0eff).into()),surface_background: Some(rgba(0x020c0eff).into()),background: Some(rgba(0x031316ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0x0b505aff).into()),element_selected: Some(rgba(0x0d6571ff).into()),drop_target_background: Some(rgba(0x00404dff).into()),ghost_element_hover: Some(rgba(0x0b505aff).into()),text: Some(rgba(0xb1c9ccff).into()),tab_inactive_background: Some(rgba(0x052e32ff).into()),tab_active_background: Some(rgba(0x031316ff).into()),editor_background: Some(rgba(0x031316ff).into()),editor_gutter_background: Some(rgba(0x031316ff).into()),editor_line_number: Some(rgba(0x4e6b6eff).into()),editor_active_line_number: Some(rgba(0xb1c9ccff).into()),terminal_background: Some(rgba(0x020c0eff).into()),terminal_ansi_bright_black: Some(rgba(0x47686cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()),terminal_ansi_black: Some(rgba(0x324a4dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb1c9ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x87a7abff).into()),warning: Some(rgba(0xffa487ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Uva".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x6d66a7ff).into()),border_variant: Some(rgba(0x6d66a7ff).into()),border_focused: Some(rgba(0x2f2c49ff).into()),border_selected: Some(rgba(0x6d66a7ff).into()),border_transparent: Some(rgba(0x6d66a7ff).into()),border_disabled: Some(rgba(0x6d66a7ff).into()),elevated_surface_background: Some(rgba(0x1f1d30ff).into()),surface_background: Some(rgba(0x1f1d30ff).into()),background: Some(rgba(0x292640ff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x383866ff).into()),element_selected: Some(rgba(0x322e5cff).into()),drop_target_background: Some(rgba(0x202040ff).into()),ghost_element_hover: Some(rgba(0x383866ff).into()),text: Some(rgba(0xc5c2d6ff).into()),tab_inactive_background: Some(rgba(0x2f2c49ff).into()),tab_active_background: Some(rgba(0x292640ff).into()),editor_background: Some(rgba(0x292640ff).into()),editor_gutter_background: Some(rgba(0x292640ff).into()),editor_line_number: Some(rgba(0x5c5973ff).into()),editor_active_line_number: Some(rgba(0xc5c2d6ff).into()),terminal_background: Some(rgba(0x1f1d30ff).into()),terminal_ansi_bright_black: Some(rgba(0x504e65ff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc5c2d6ff).into()),terminal_ansi_black: Some(rgba(0x302f3dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb6b3ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0xa9a5c0ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x716b93ff).into()), ("punctuation".into(), rgba(0x716b93ff).into()), ("punctuation".into(), rgba(0xc5c2d6ff).into()), ("punctuation".into(), rgba(0xc5c2d6ff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Viola".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x8666a7ff).into()),border_variant: Some(rgba(0x8666a7ff).into()),border_focused: Some(rgba(0x3d2e4dff).into()),border_selected: Some(rgba(0x8666a7ff).into()),border_transparent: Some(rgba(0x8666a7ff).into()),border_disabled: Some(rgba(0x8666a7ff).into()),elevated_surface_background: Some(rgba(0x291d35ff).into()),surface_background: Some(rgba(0x291d35ff).into()),background: Some(rgba(0x30243dff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x69438dff).into()),element_selected: Some(rgba(0x472e60ff).into()),drop_target_background: Some(rgba(0x302040ff).into()),ghost_element_hover: Some(rgba(0x69438dff).into()),text: Some(rgba(0xccbfd9ff).into()),tab_inactive_background: Some(rgba(0x3d2e4dff).into()),tab_active_background: Some(rgba(0x30243dff).into()),editor_background: Some(rgba(0x30243dff).into()),editor_gutter_background: Some(rgba(0x30243dff).into()),editor_line_number: Some(rgba(0x665973ff).into()),editor_active_line_number: Some(rgba(0xccbfd9ff).into()),terminal_background: Some(rgba(0x291d35ff).into()),terminal_ansi_bright_black: Some(rgba(0x594e65ff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xccbfd9ff).into()),terminal_ansi_black: Some(rgba(0x362f3dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xbfafcfff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0xb3a5c0ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x7e6499ff).into()), ("punctuation".into(), rgba(0x7e6499ff).into()), ("punctuation".into(), rgba(0xccbfd9ff).into()), ("punctuation".into(), rgba(0xccbfd9ff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 35d1aa7505..a516aa4f58 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -1,174 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn palenight() -> UserThemeFamily { - UserThemeFamily { - name: "Palenight".into(), - author: "Olaolu Olawuyi (whizkydee)".into(), - themes: vec![ - UserTheme { - name: "Palenight".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x282b3bff).into()), - border_variant: Some(rgba(0x282b3bff).into()), - border_focused: Some(rgba(0x282b3bff).into()), - border_selected: Some(rgba(0x282b3bff).into()), - border_transparent: Some(rgba(0x282b3bff).into()), - border_disabled: Some(rgba(0x282b3bff).into()), - elevated_surface_background: Some(rgba(0x292c3eff).into()), - surface_background: Some(rgba(0x292c3eff).into()), - background: Some(rgba(0x292c3eff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), - element_hover: Some(rgba(0x0000001a).into()), - element_selected: Some(rgba(0x7d56c1ff).into()), - drop_target_background: Some(rgba(0x2e3245ff).into()), - ghost_element_hover: Some(rgba(0x0000001a).into()), - text: Some(rgba(0xffffffff).into()), - tab_inactive_background: Some(rgba(0x31364aff).into()), - tab_active_background: Some(rgba(0x292c3eff).into()), - editor_background: Some(rgba(0x292c3eff).into()), - editor_gutter_background: Some(rgba(0x292c3eff).into()), - editor_line_number: Some(rgba(0x4c5374ff).into()), - editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), - terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), - terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), - terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), - terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_red: Some(rgba(0xff5571ff).into()), - terminal_ansi_green: Some(rgba(0xa9c77dff).into()), - terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), - terminal_ansi_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_cyan: Some(rgba(0x89ddffff).into()), - terminal_ansi_white: Some(rgba(0xffffffff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x9199c8ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Palenight Operator".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x282b3bff).into()), - border_variant: Some(rgba(0x282b3bff).into()), - border_focused: Some(rgba(0x282b3bff).into()), - border_selected: Some(rgba(0x282b3bff).into()), - border_transparent: Some(rgba(0x282b3bff).into()), - border_disabled: Some(rgba(0x282b3bff).into()), - elevated_surface_background: Some(rgba(0x292c3eff).into()), - surface_background: Some(rgba(0x292c3eff).into()), - background: Some(rgba(0x292c3eff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), - element_hover: Some(rgba(0x0000001a).into()), - element_selected: Some(rgba(0x7d56c1ff).into()), - drop_target_background: Some(rgba(0x2e3245ff).into()), - ghost_element_hover: Some(rgba(0x0000001a).into()), - text: Some(rgba(0xffffffff).into()), - tab_inactive_background: Some(rgba(0x31364aff).into()), - tab_active_background: Some(rgba(0x292c3eff).into()), - editor_background: Some(rgba(0x292c3eff).into()), - editor_gutter_background: Some(rgba(0x292c3eff).into()), - editor_line_number: Some(rgba(0x4c5374ff).into()), - editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), - terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), - terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), - terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), - terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_red: Some(rgba(0xff5571ff).into()), - terminal_ansi_green: Some(rgba(0xa9c77dff).into()), - terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), - terminal_ansi_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_cyan: Some(rgba(0x89ddffff).into()), - terminal_ansi_white: Some(rgba(0xffffffff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x9199c8ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Palenight (Mild Contrast)".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x2c2f40ff).into()), - border_variant: Some(rgba(0x2c2f40ff).into()), - border_focused: Some(rgba(0x2c2f40ff).into()), - border_selected: Some(rgba(0x2c2f40ff).into()), - border_transparent: Some(rgba(0x2c2f40ff).into()), - border_disabled: Some(rgba(0x2c2f40ff).into()), - elevated_surface_background: Some(rgba(0x25283aff).into()), - surface_background: Some(rgba(0x25283aff).into()), - background: Some(rgba(0x292c3eff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), - element_hover: Some(rgba(0x0000001a).into()), - element_selected: Some(rgba(0x7d56c1ff).into()), - drop_target_background: Some(rgba(0x2e3245ff).into()), - ghost_element_hover: Some(rgba(0x0000001a).into()), - text: Some(rgba(0xffffffff).into()), - tab_inactive_background: Some(rgba(0x31364aff).into()), - tab_active_background: Some(rgba(0x25283aff).into()), - editor_background: Some(rgba(0x292c3eff).into()), - editor_gutter_background: Some(rgba(0x292c3eff).into()), - editor_line_number: Some(rgba(0x4c5374ff).into()), - editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), - terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), - terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), - terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), - terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_red: Some(rgba(0xff5571ff).into()), - terminal_ansi_green: Some(rgba(0xa9c77dff).into()), - terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), - terminal_ansi_blue: Some(rgba(0x82aaffff).into()), - terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_cyan: Some(rgba(0x89ddffff).into()), - terminal_ansi_white: Some(rgba(0xffffffff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x9199c8ff).into()), - ..Default::default() - }, - }, - }, - ], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn palenight() -> UserThemeFamily { + UserThemeFamily { + name: "Palenight".into(), + author: "Olaolu Olawuyi (whizkydee)".into(), + themes: vec![UserTheme { name: "Palenight".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x282b3bff).into()),border_variant: Some(rgba(0x282b3bff).into()),border_focused: Some(rgba(0x282b3bff).into()),border_selected: Some(rgba(0x282b3bff).into()),border_transparent: Some(rgba(0x282b3bff).into()),border_disabled: Some(rgba(0x282b3bff).into()),elevated_surface_background: Some(rgba(0x292c3eff).into()),surface_background: Some(rgba(0x292c3eff).into()),background: Some(rgba(0x292c3eff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x0000001a).into()),element_selected: Some(rgba(0x7d56c1ff).into()),drop_target_background: Some(rgba(0x2e3245ff).into()),ghost_element_hover: Some(rgba(0x0000001a).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x31364aff).into()),tab_active_background: Some(rgba(0x292c3eff).into()),editor_background: Some(rgba(0x292c3eff).into()),editor_gutter_background: Some(rgba(0x292c3eff).into()),editor_line_number: Some(rgba(0x4c5374ff).into()),editor_active_line_number: Some(rgba(0xbfc7d5ff).into()),terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()),terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()),terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x676e95ff).into()),terminal_ansi_red: Some(rgba(0xff5571ff).into()),terminal_ansi_green: Some(rgba(0xa9c77dff).into()),terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x9199c8ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0xc3e88dff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x89ddffff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }, UserTheme { name: "Palenight Operator".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x282b3bff).into()),border_variant: Some(rgba(0x282b3bff).into()),border_focused: Some(rgba(0x282b3bff).into()),border_selected: Some(rgba(0x282b3bff).into()),border_transparent: Some(rgba(0x282b3bff).into()),border_disabled: Some(rgba(0x282b3bff).into()),elevated_surface_background: Some(rgba(0x292c3eff).into()),surface_background: Some(rgba(0x292c3eff).into()),background: Some(rgba(0x292c3eff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x0000001a).into()),element_selected: Some(rgba(0x7d56c1ff).into()),drop_target_background: Some(rgba(0x2e3245ff).into()),ghost_element_hover: Some(rgba(0x0000001a).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x31364aff).into()),tab_active_background: Some(rgba(0x292c3eff).into()),editor_background: Some(rgba(0x292c3eff).into()),editor_gutter_background: Some(rgba(0x292c3eff).into()),editor_line_number: Some(rgba(0x4c5374ff).into()),editor_active_line_number: Some(rgba(0xbfc7d5ff).into()),terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()),terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()),terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x676e95ff).into()),terminal_ansi_red: Some(rgba(0xff5571ff).into()),terminal_ansi_green: Some(rgba(0xa9c77dff).into()),terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x9199c8ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0xc3e88dff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x89ddffff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }, UserTheme { name: "Palenight (Mild Contrast)".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x2c2f40ff).into()),border_variant: Some(rgba(0x2c2f40ff).into()),border_focused: Some(rgba(0x2c2f40ff).into()),border_selected: Some(rgba(0x2c2f40ff).into()),border_transparent: Some(rgba(0x2c2f40ff).into()),border_disabled: Some(rgba(0x2c2f40ff).into()),elevated_surface_background: Some(rgba(0x25283aff).into()),surface_background: Some(rgba(0x25283aff).into()),background: Some(rgba(0x292c3eff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x0000001a).into()),element_selected: Some(rgba(0x7d56c1ff).into()),drop_target_background: Some(rgba(0x2e3245ff).into()),ghost_element_hover: Some(rgba(0x0000001a).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x31364aff).into()),tab_active_background: Some(rgba(0x25283aff).into()),editor_background: Some(rgba(0x292c3eff).into()),editor_gutter_background: Some(rgba(0x292c3eff).into()),editor_line_number: Some(rgba(0x4c5374ff).into()),editor_active_line_number: Some(rgba(0xbfc7d5ff).into()),terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()),terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()),terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x676e95ff).into()),terminal_ansi_red: Some(rgba(0xff5571ff).into()),terminal_ansi_green: Some(rgba(0xa9c77dff).into()),terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x9199c8ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0xc3e88dff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x89ddffff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 9cc8b0ab83..fbc06e04dd 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -1,177 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn rose_pine() -> UserThemeFamily { - UserThemeFamily { - name: "Rose Pine".into(), - author: "Rosé Pine".into(), - themes: vec![ - UserTheme { - name: "Rose Pine".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x000000ff).into()), - border_variant: Some(rgba(0x000000ff).into()), - border_focused: Some(rgba(0x6e6a8633).into()), - border_selected: Some(rgba(0x000000ff).into()), - border_transparent: Some(rgba(0x000000ff).into()), - border_disabled: Some(rgba(0x000000ff).into()), - elevated_surface_background: Some(rgba(0x1f1d2eff).into()), - surface_background: Some(rgba(0x1f1d2eff).into()), - background: Some(rgba(0x191724ff).into()), - element_background: Some(rgba(0xebbcbaff).into()), - element_hover: Some(rgba(0x6e6a861a).into()), - element_selected: Some(rgba(0x6e6a8633).into()), - drop_target_background: Some(rgba(0x1f1d2eff).into()), - ghost_element_hover: Some(rgba(0x6e6a861a).into()), - text: Some(rgba(0xe0def4ff).into()), - tab_inactive_background: Some(rgba(0x000000ff).into()), - tab_active_background: Some(rgba(0x6e6a861a).into()), - editor_background: Some(rgba(0x191724ff).into()), - editor_gutter_background: Some(rgba(0x191724ff).into()), - editor_line_number: Some(rgba(0x908caaff).into()), - editor_active_line_number: Some(rgba(0xe0def4ff).into()), - terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), - terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_bright_green: Some(rgba(0x30738fff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0xebbcbaff).into()), - terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()), - terminal_ansi_black: Some(rgba(0x26233aff).into()), - terminal_ansi_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_green: Some(rgba(0x30738fff).into()), - terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()), - terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()), - terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()), - terminal_ansi_cyan: Some(rgba(0xebbcbaff).into()), - terminal_ansi_white: Some(rgba(0xe0def4ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xeb6f92ff).into()), - error: Some(rgba(0xeb6f92ff).into()), - hidden: Some(rgba(0x908caaff).into()), - warning: Some(rgba(0xf5c177ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Rose Moon".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x000000ff).into()), - border_variant: Some(rgba(0x000000ff).into()), - border_focused: Some(rgba(0x817c9c26).into()), - border_selected: Some(rgba(0x000000ff).into()), - border_transparent: Some(rgba(0x000000ff).into()), - border_disabled: Some(rgba(0x000000ff).into()), - elevated_surface_background: Some(rgba(0x2a273eff).into()), - surface_background: Some(rgba(0x2a273eff).into()), - background: Some(rgba(0x232136ff).into()), - element_background: Some(rgba(0xea9a97ff).into()), - element_hover: Some(rgba(0x817c9c14).into()), - element_selected: Some(rgba(0x817c9c26).into()), - drop_target_background: Some(rgba(0x2a273eff).into()), - ghost_element_hover: Some(rgba(0x817c9c14).into()), - text: Some(rgba(0xe0def4ff).into()), - tab_inactive_background: Some(rgba(0x000000ff).into()), - tab_active_background: Some(rgba(0x817c9c14).into()), - editor_background: Some(rgba(0x232136ff).into()), - editor_gutter_background: Some(rgba(0x232136ff).into()), - editor_line_number: Some(rgba(0x908caaff).into()), - editor_active_line_number: Some(rgba(0xe0def4ff).into()), - terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), - terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_bright_green: Some(rgba(0x3d8fb0ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0xea9a97ff).into()), - terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()), - terminal_ansi_black: Some(rgba(0x393552ff).into()), - terminal_ansi_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_green: Some(rgba(0x3d8fb0ff).into()), - terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()), - terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()), - terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()), - terminal_ansi_cyan: Some(rgba(0xea9a97ff).into()), - terminal_ansi_white: Some(rgba(0xe0def4ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xeb6f92ff).into()), - error: Some(rgba(0xeb6f92ff).into()), - hidden: Some(rgba(0x908caaff).into()), - warning: Some(rgba(0xf5c177ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Rose Pine Dawn".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x000000ff).into()), - border_variant: Some(rgba(0x000000ff).into()), - border_focused: Some(rgba(0x6e6a8614).into()), - border_selected: Some(rgba(0x000000ff).into()), - border_transparent: Some(rgba(0x000000ff).into()), - border_disabled: Some(rgba(0x000000ff).into()), - elevated_surface_background: Some(rgba(0xfffaf3ff).into()), - surface_background: Some(rgba(0xfffaf3ff).into()), - background: Some(rgba(0xfaf4edff).into()), - element_background: Some(rgba(0xd7827dff).into()), - element_hover: Some(rgba(0x6e6a860d).into()), - element_selected: Some(rgba(0x6e6a8614).into()), - drop_target_background: Some(rgba(0xfffaf3ff).into()), - ghost_element_hover: Some(rgba(0x6e6a860d).into()), - text: Some(rgba(0x575279ff).into()), - tab_inactive_background: Some(rgba(0x000000ff).into()), - tab_active_background: Some(rgba(0x6e6a860d).into()), - editor_background: Some(rgba(0xfaf4edff).into()), - editor_gutter_background: Some(rgba(0xfaf4edff).into()), - editor_line_number: Some(rgba(0x797593ff).into()), - editor_active_line_number: Some(rgba(0x575279ff).into()), - terminal_ansi_bright_black: Some(rgba(0x797593ff).into()), - terminal_ansi_bright_red: Some(rgba(0xb3627aff).into()), - terminal_ansi_bright_green: Some(rgba(0x276983ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xea9d34ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x55949fff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x9079a9ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0xd7827dff).into()), - terminal_ansi_bright_white: Some(rgba(0x575279ff).into()), - terminal_ansi_black: Some(rgba(0xf2e9e1ff).into()), - terminal_ansi_red: Some(rgba(0xb3627aff).into()), - terminal_ansi_green: Some(rgba(0x276983ff).into()), - terminal_ansi_yellow: Some(rgba(0xea9d34ff).into()), - terminal_ansi_blue: Some(rgba(0x55949fff).into()), - terminal_ansi_magenta: Some(rgba(0x9079a9ff).into()), - terminal_ansi_cyan: Some(rgba(0xd7827dff).into()), - terminal_ansi_white: Some(rgba(0x575279ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xb3627aff).into()), - error: Some(rgba(0xb3627aff).into()), - hidden: Some(rgba(0x797593ff).into()), - warning: Some(rgba(0xea9d34ff).into()), - ..Default::default() - }, - }, - }, - ], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn rose_pine() -> UserThemeFamily { + UserThemeFamily { + name: "Rose Pine".into(), + author: "Rosé Pine".into(), + themes: vec![UserTheme { name: "Rose Pine".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x000000ff).into()),border_variant: Some(rgba(0x000000ff).into()),border_focused: Some(rgba(0x6e6a8633).into()),border_selected: Some(rgba(0x000000ff).into()),border_transparent: Some(rgba(0x000000ff).into()),border_disabled: Some(rgba(0x000000ff).into()),elevated_surface_background: Some(rgba(0x1f1d2eff).into()),surface_background: Some(rgba(0x1f1d2eff).into()),background: Some(rgba(0x191724ff).into()),element_background: Some(rgba(0xebbcbaff).into()),element_hover: Some(rgba(0x6e6a861a).into()),element_selected: Some(rgba(0x6e6a8633).into()),drop_target_background: Some(rgba(0x1f1d2eff).into()),ghost_element_hover: Some(rgba(0x6e6a861a).into()),text: Some(rgba(0xe0def4ff).into()),tab_inactive_background: Some(rgba(0x000000ff).into()),tab_active_background: Some(rgba(0x6e6a861a).into()),editor_background: Some(rgba(0x191724ff).into()),editor_gutter_background: Some(rgba(0x191724ff).into()),editor_line_number: Some(rgba(0x908caaff).into()),editor_active_line_number: Some(rgba(0xe0def4ff).into()),terminal_ansi_bright_black: Some(rgba(0x908caaff).into()),terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_bright_green: Some(rgba(0x30738fff).into()),terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_bright_cyan: Some(rgba(0xebbcbaff).into()),terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()),terminal_ansi_black: Some(rgba(0x26233aff).into()),terminal_ansi_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_green: Some(rgba(0x30738fff).into()),terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_cyan: Some(rgba(0xebbcbaff).into()),terminal_ansi_white: Some(rgba(0xe0def4ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xeb6f92ff).into()),error: Some(rgba(0xeb6f92ff).into()),hidden: Some(rgba(0x908caaff).into()),warning: Some(rgba(0xf5c177ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0x30738fff).into()), ("punctuation".into(), rgba(0x908caaff).into()), ("punctuation".into(), rgba(0x30738fff).into()), ("punctuation".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0xf5c177ff).into()), ("something".into(), rgba(0x9ccfd8ff).into()), ("something".into(), rgba(0xebbcbaff).into())] }) } }, UserTheme { name: "Rose Moon".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x000000ff).into()),border_variant: Some(rgba(0x000000ff).into()),border_focused: Some(rgba(0x817c9c26).into()),border_selected: Some(rgba(0x000000ff).into()),border_transparent: Some(rgba(0x000000ff).into()),border_disabled: Some(rgba(0x000000ff).into()),elevated_surface_background: Some(rgba(0x2a273eff).into()),surface_background: Some(rgba(0x2a273eff).into()),background: Some(rgba(0x232136ff).into()),element_background: Some(rgba(0xea9a97ff).into()),element_hover: Some(rgba(0x817c9c14).into()),element_selected: Some(rgba(0x817c9c26).into()),drop_target_background: Some(rgba(0x2a273eff).into()),ghost_element_hover: Some(rgba(0x817c9c14).into()),text: Some(rgba(0xe0def4ff).into()),tab_inactive_background: Some(rgba(0x000000ff).into()),tab_active_background: Some(rgba(0x817c9c14).into()),editor_background: Some(rgba(0x232136ff).into()),editor_gutter_background: Some(rgba(0x232136ff).into()),editor_line_number: Some(rgba(0x908caaff).into()),editor_active_line_number: Some(rgba(0xe0def4ff).into()),terminal_ansi_bright_black: Some(rgba(0x908caaff).into()),terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_bright_green: Some(rgba(0x3d8fb0ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_bright_cyan: Some(rgba(0xea9a97ff).into()),terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()),terminal_ansi_black: Some(rgba(0x393552ff).into()),terminal_ansi_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_green: Some(rgba(0x3d8fb0ff).into()),terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_cyan: Some(rgba(0xea9a97ff).into()),terminal_ansi_white: Some(rgba(0xe0def4ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xeb6f92ff).into()),error: Some(rgba(0xeb6f92ff).into()),hidden: Some(rgba(0x908caaff).into()),warning: Some(rgba(0xf5c177ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0x3d8fb0ff).into()), ("punctuation".into(), rgba(0x908caaff).into()), ("punctuation".into(), rgba(0x3d8fb0ff).into()), ("punctuation".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0xf5c177ff).into()), ("something".into(), rgba(0x9ccfd8ff).into()), ("something".into(), rgba(0xea9a97ff).into())] }) } }, UserTheme { name: "Rose Pine Dawn".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x000000ff).into()),border_variant: Some(rgba(0x000000ff).into()),border_focused: Some(rgba(0x6e6a8614).into()),border_selected: Some(rgba(0x000000ff).into()),border_transparent: Some(rgba(0x000000ff).into()),border_disabled: Some(rgba(0x000000ff).into()),elevated_surface_background: Some(rgba(0xfffaf3ff).into()),surface_background: Some(rgba(0xfffaf3ff).into()),background: Some(rgba(0xfaf4edff).into()),element_background: Some(rgba(0xd7827dff).into()),element_hover: Some(rgba(0x6e6a860d).into()),element_selected: Some(rgba(0x6e6a8614).into()),drop_target_background: Some(rgba(0xfffaf3ff).into()),ghost_element_hover: Some(rgba(0x6e6a860d).into()),text: Some(rgba(0x575279ff).into()),tab_inactive_background: Some(rgba(0x000000ff).into()),tab_active_background: Some(rgba(0x6e6a860d).into()),editor_background: Some(rgba(0xfaf4edff).into()),editor_gutter_background: Some(rgba(0xfaf4edff).into()),editor_line_number: Some(rgba(0x797593ff).into()),editor_active_line_number: Some(rgba(0x575279ff).into()),terminal_ansi_bright_black: Some(rgba(0x797593ff).into()),terminal_ansi_bright_red: Some(rgba(0xb3627aff).into()),terminal_ansi_bright_green: Some(rgba(0x276983ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xea9d34ff).into()),terminal_ansi_bright_blue: Some(rgba(0x55949fff).into()),terminal_ansi_bright_magenta: Some(rgba(0x9079a9ff).into()),terminal_ansi_bright_cyan: Some(rgba(0xd7827dff).into()),terminal_ansi_bright_white: Some(rgba(0x575279ff).into()),terminal_ansi_black: Some(rgba(0xf2e9e1ff).into()),terminal_ansi_red: Some(rgba(0xb3627aff).into()),terminal_ansi_green: Some(rgba(0x276983ff).into()),terminal_ansi_yellow: Some(rgba(0xea9d34ff).into()),terminal_ansi_blue: Some(rgba(0x55949fff).into()),terminal_ansi_magenta: Some(rgba(0x9079a9ff).into()),terminal_ansi_cyan: Some(rgba(0xd7827dff).into()),terminal_ansi_white: Some(rgba(0x575279ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xb3627aff).into()),error: Some(rgba(0xb3627aff).into()),hidden: Some(rgba(0x797593ff).into()),warning: Some(rgba(0xea9d34ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x9893a5ff).into()), ("something".into(), rgba(0x276983ff).into()), ("punctuation".into(), rgba(0x797593ff).into()), ("punctuation".into(), rgba(0x276983ff).into()), ("punctuation".into(), rgba(0x9893a5ff).into()), ("something".into(), rgba(0xea9d34ff).into()), ("something".into(), rgba(0x55949fff).into()), ("something".into(), rgba(0xd7827dff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 01e3ab9eaf..e3a15deb48 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -1,111 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn solarized() -> UserThemeFamily { - UserThemeFamily { - name: "Solarized".into(), - author: "Ethan Schoonover (altercation)".into(), - themes: vec![ - UserTheme { - name: "Solarized Dark".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0x003847ff).into()), - border_variant: Some(rgba(0x003847ff).into()), - border_focused: Some(rgba(0x29a19899).into()), - border_selected: Some(rgba(0x003847ff).into()), - border_transparent: Some(rgba(0x003847ff).into()), - border_disabled: Some(rgba(0x003847ff).into()), - background: Some(rgba(0x002a35ff).into()), - element_background: Some(rgba(0x29a19899).into()), - element_hover: Some(rgba(0x004353aa).into()), - element_selected: Some(rgba(0x005a6fff).into()), - drop_target_background: Some(rgba(0x00435388).into()), - ghost_element_hover: Some(rgba(0x004353aa).into()), - tab_inactive_background: Some(rgba(0x003f51ff).into()), - tab_active_background: Some(rgba(0x002a36ff).into()), - editor_background: Some(rgba(0x002a35ff).into()), - editor_gutter_background: Some(rgba(0x002a35ff).into()), - editor_line_number: Some(rgba(0x566c74ff).into()), - terminal_ansi_bright_black: Some(rgba(0x586e75ff).into()), - terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), - terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()), - terminal_ansi_bright_white: Some(rgba(0x839496ff).into()), - terminal_ansi_black: Some(rgba(0x063642ff).into()), - terminal_ansi_red: Some(rgba(0xdc312eff).into()), - terminal_ansi_green: Some(rgba(0x859900ff).into()), - terminal_ansi_yellow: Some(rgba(0xb58800ff).into()), - terminal_ansi_blue: Some(rgba(0x258ad2ff).into()), - terminal_ansi_magenta: Some(rgba(0xd33582ff).into()), - terminal_ansi_cyan: Some(rgba(0x29a198ff).into()), - terminal_ansi_white: Some(rgba(0x839496ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xffeaeaff).into()), - error: Some(rgba(0xffeaeaff).into()), - hidden: Some(rgba(0x93a1a1ff).into()), - ..Default::default() - }, - }, - }, - UserTheme { - name: "Solarized Light".into(), - appearance: Appearance::Light, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border: Some(rgba(0xddd6c1ff).into()), - border_variant: Some(rgba(0xddd6c1ff).into()), - border_focused: Some(rgba(0xd3af86ff).into()), - border_selected: Some(rgba(0xddd6c1ff).into()), - border_transparent: Some(rgba(0xddd6c1ff).into()), - border_disabled: Some(rgba(0xddd6c1ff).into()), - background: Some(rgba(0xfdf6e3ff).into()), - element_background: Some(rgba(0xab9d56ff).into()), - element_hover: Some(rgba(0xdec98744).into()), - element_selected: Some(rgba(0xdec987ff).into()), - ghost_element_hover: Some(rgba(0xdec98744).into()), - tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), - tab_active_background: Some(rgba(0xfdf6e3ff).into()), - editor_background: Some(rgba(0xfdf6e3ff).into()), - editor_gutter_background: Some(rgba(0xfdf6e3ff).into()), - editor_line_number: Some(rgba(0x9ca8a6ff).into()), - terminal_ansi_bright_black: Some(rgba(0x657b83ff).into()), - terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), - terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()), - terminal_ansi_bright_white: Some(rgba(0xeee8d5ff).into()), - terminal_ansi_black: Some(rgba(0x657b83ff).into()), - terminal_ansi_red: Some(rgba(0xdc312eff).into()), - terminal_ansi_green: Some(rgba(0x859900ff).into()), - terminal_ansi_yellow: Some(rgba(0xb58800ff).into()), - terminal_ansi_blue: Some(rgba(0x258ad2ff).into()), - terminal_ansi_magenta: Some(rgba(0xd33582ff).into()), - terminal_ansi_cyan: Some(rgba(0x29a198ff).into()), - terminal_ansi_white: Some(rgba(0xeee8d5ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - hidden: Some(rgba(0x586e75ff).into()), - ..Default::default() - }, - }, - }, - ], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn solarized() -> UserThemeFamily { + UserThemeFamily { + name: "Solarized".into(), + author: "Ethan Schoonover (altercation)".into(), + themes: vec![UserTheme { name: "Solarized Dark".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x003847ff).into()),border_variant: Some(rgba(0x003847ff).into()),border_focused: Some(rgba(0x29a19899).into()),border_selected: Some(rgba(0x003847ff).into()),border_transparent: Some(rgba(0x003847ff).into()),border_disabled: Some(rgba(0x003847ff).into()),background: Some(rgba(0x002a35ff).into()),element_background: Some(rgba(0x29a19899).into()),element_hover: Some(rgba(0x004353aa).into()),element_selected: Some(rgba(0x005a6fff).into()),drop_target_background: Some(rgba(0x00435388).into()),ghost_element_hover: Some(rgba(0x004353aa).into()),tab_inactive_background: Some(rgba(0x003f51ff).into()),tab_active_background: Some(rgba(0x002a36ff).into()),editor_background: Some(rgba(0x002a35ff).into()),editor_gutter_background: Some(rgba(0x002a35ff).into()),editor_line_number: Some(rgba(0x566c74ff).into()),terminal_ansi_bright_black: Some(rgba(0x586e75ff).into()),terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()),terminal_ansi_bright_green: Some(rgba(0x859900ff).into()),terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()),terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()),terminal_ansi_bright_white: Some(rgba(0x839496ff).into()),terminal_ansi_black: Some(rgba(0x063642ff).into()),terminal_ansi_red: Some(rgba(0xdc312eff).into()),terminal_ansi_green: Some(rgba(0x859900ff).into()),terminal_ansi_yellow: Some(rgba(0xb58800ff).into()),terminal_ansi_blue: Some(rgba(0x258ad2ff).into()),terminal_ansi_magenta: Some(rgba(0xd33582ff).into()),terminal_ansi_cyan: Some(rgba(0x29a198ff).into()),terminal_ansi_white: Some(rgba(0x839496ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xffeaeaff).into()),error: Some(rgba(0xffeaeaff).into()),hidden: Some(rgba(0x93a1a1ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x657b83ff).into()), ("something".into(), rgba(0x29a198ff).into()), ("something".into(), rgba(0x93a1a1ff).into()), ("punctuation".into(), rgba(0x859900ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0x657b83ff).into())] }) } }, UserTheme { name: "Solarized Light".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xddd6c1ff).into()),border_variant: Some(rgba(0xddd6c1ff).into()),border_focused: Some(rgba(0xd3af86ff).into()),border_selected: Some(rgba(0xddd6c1ff).into()),border_transparent: Some(rgba(0xddd6c1ff).into()),border_disabled: Some(rgba(0xddd6c1ff).into()),background: Some(rgba(0xfdf6e3ff).into()),element_background: Some(rgba(0xab9d56ff).into()),element_hover: Some(rgba(0xdec98744).into()),element_selected: Some(rgba(0xdec987ff).into()),ghost_element_hover: Some(rgba(0xdec98744).into()),tab_inactive_background: Some(rgba(0xd3cbb7ff).into()),tab_active_background: Some(rgba(0xfdf6e3ff).into()),editor_background: Some(rgba(0xfdf6e3ff).into()),editor_gutter_background: Some(rgba(0xfdf6e3ff).into()),editor_line_number: Some(rgba(0x9ca8a6ff).into()),terminal_ansi_bright_black: Some(rgba(0x657b83ff).into()),terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()),terminal_ansi_bright_green: Some(rgba(0x859900ff).into()),terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()),terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()),terminal_ansi_bright_white: Some(rgba(0xeee8d5ff).into()),terminal_ansi_black: Some(rgba(0x657b83ff).into()),terminal_ansi_red: Some(rgba(0xdc312eff).into()),terminal_ansi_green: Some(rgba(0x859900ff).into()),terminal_ansi_yellow: Some(rgba(0xb58800ff).into()),terminal_ansi_blue: Some(rgba(0x258ad2ff).into()),terminal_ansi_magenta: Some(rgba(0xd33582ff).into()),terminal_ansi_cyan: Some(rgba(0x29a198ff).into()),terminal_ansi_white: Some(rgba(0xeee8d5ff).into()),..Default::default()}, status: StatusColorsRefinement {hidden: Some(rgba(0x586e75ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x93a1a1ff).into()), ("something".into(), rgba(0x29a198ff).into()), ("something".into(), rgba(0x063642ff).into()), ("punctuation".into(), rgba(0x859900ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0x93a1a1ff).into()), ("punctuation".into(), rgba(0x93a1a1ff).into()), ("something".into(), rgba(0x657b83ff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index f18b9f9409..ad4677c799 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -1,55 +1,18 @@ -// This file was generated by the `theme_importer`. -// Be careful when modifying it by hand. -use gpui::rgba; + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. -use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, -}; + use gpui::rgba; -pub fn synthwave_84() -> UserThemeFamily { - UserThemeFamily { - name: "Synthwave 84".into(), - author: "Robb Owen (robb0wen)".into(), - themes: vec![UserTheme { - name: "Synthwave 84".into(), - appearance: Appearance::Dark, - styles: UserThemeStylesRefinement { - colors: ThemeColorsRefinement { - border_focused: Some(rgba(0x1f212bff).into()), - background: Some(rgba(0x252334ff).into()), - element_background: Some(rgba(0x614d85ff).into()), - element_hover: Some(rgba(0x37294d99).into()), - element_selected: Some(rgba(0xffffff20).into()), - drop_target_background: Some(rgba(0x34294f66).into()), - ghost_element_hover: Some(rgba(0x37294d99).into()), - text: Some(rgba(0xffffffff).into()), - tab_inactive_background: Some(rgba(0x252334ff).into()), - editor_background: Some(rgba(0x252334ff).into()), - editor_gutter_background: Some(rgba(0x252334ff).into()), - editor_line_number: Some(rgba(0xffffff73).into()), - terminal_ansi_bright_red: Some(rgba(0xfe444fff).into()), - terminal_ansi_bright_green: Some(rgba(0x71f1b7ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfede5cff).into()), - terminal_ansi_bright_blue: Some(rgba(0x02edf9ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff7ddaff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x02edf9ff).into()), - terminal_ansi_red: Some(rgba(0xfe444fff).into()), - terminal_ansi_green: Some(rgba(0x71f1b7ff).into()), - terminal_ansi_yellow: Some(rgba(0xf3e70fff).into()), - terminal_ansi_blue: Some(rgba(0x02edf9ff).into()), - terminal_ansi_magenta: Some(rgba(0xff7ddaff).into()), - terminal_ansi_cyan: Some(rgba(0x02edf9ff).into()), - ..Default::default() - }, - status: StatusColorsRefinement { - deleted: Some(rgba(0xfe444fff).into()), - error: Some(rgba(0xfe444fff).into()), - warning: Some(rgba(0x71f1b7bb).into()), - ..Default::default() - }, - }, - }], - } + use crate::{ + Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + }; + + pub fn synthwave_84() -> UserThemeFamily { + UserThemeFamily { + name: "Synthwave 84".into(), + author: "Robb Owen (robb0wen)".into(), + themes: vec![UserTheme { name: "Synthwave 84".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border_focused: Some(rgba(0x1f212bff).into()),background: Some(rgba(0x252334ff).into()),element_background: Some(rgba(0x614d85ff).into()),element_hover: Some(rgba(0x37294d99).into()),element_selected: Some(rgba(0xffffff20).into()),drop_target_background: Some(rgba(0x34294f66).into()),ghost_element_hover: Some(rgba(0x37294d99).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x252334ff).into()),editor_background: Some(rgba(0x252334ff).into()),editor_gutter_background: Some(rgba(0x252334ff).into()),editor_line_number: Some(rgba(0xffffff73).into()),terminal_ansi_bright_red: Some(rgba(0xfe444fff).into()),terminal_ansi_bright_green: Some(rgba(0x71f1b7ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfede5cff).into()),terminal_ansi_bright_blue: Some(rgba(0x02edf9ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff7ddaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x02edf9ff).into()),terminal_ansi_red: Some(rgba(0xfe444fff).into()),terminal_ansi_green: Some(rgba(0x71f1b7ff).into()),terminal_ansi_yellow: Some(rgba(0xf3e70fff).into()),terminal_ansi_blue: Some(rgba(0x02edf9ff).into()),terminal_ansi_magenta: Some(rgba(0xff7ddaff).into()),terminal_ansi_cyan: Some(rgba(0x02edf9ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfe444fff).into()),error: Some(rgba(0xfe444fff).into()),warning: Some(rgba(0x71f1b7bb).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x848bbdff).into()), ("something".into(), rgba(0xff7ddaff).into()), ("something".into(), rgba(0xf97d71ff).into()), ("punctuation".into(), rgba(0x35f9f5ff).into()), ("something".into(), rgba(0xfe444fff).into()), ("punctuation".into(), rgba(0xfede5cff).into())] }) } }], } + } + \ No newline at end of file diff --git a/crates/theme2/src/user_theme.rs b/crates/theme2/src/user_theme.rs index 0667359dfb..f0287bfb72 100644 --- a/crates/theme2/src/user_theme.rs +++ b/crates/theme2/src/user_theme.rs @@ -1,3 +1,4 @@ +use gpui::Hsla; use refineable::Refineable; use serde::Deserialize; @@ -24,4 +25,21 @@ pub struct UserThemeStyles { pub colors: ThemeColors, #[refineable] pub status: StatusColors, + pub syntax: UserSyntaxTheme, +} + +#[derive(Clone, Default, Deserialize)] +pub struct UserSyntaxTheme { + pub highlights: Vec<(String, UserHighlightStyle)>, +} + +#[derive(Clone, Default, Deserialize)] +pub struct UserHighlightStyle { + pub color: Option, +} + +impl UserHighlightStyle { + pub fn is_empty(&self) -> bool { + self.color.is_none() + } } diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 6981ae4170..531d4913fa 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -1,6 +1,7 @@ mod theme_printer; mod util; mod vscode; +mod vscode_syntax; use std::fs::{self, File}; use std::io::Write; diff --git a/crates/theme_importer/src/theme_printer.rs b/crates/theme_importer/src/theme_printer.rs index ba85fb9441..e114584d83 100644 --- a/crates/theme_importer/src/theme_printer.rs +++ b/crates/theme_importer/src/theme_printer.rs @@ -2,8 +2,8 @@ use std::fmt::{self, Debug}; use gpui::{Hsla, Rgba}; use theme::{ - Appearance, PlayerColor, PlayerColors, StatusColors, StatusColorsRefinement, SyntaxTheme, - SystemColors, ThemeColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, PlayerColor, PlayerColors, StatusColorsRefinement, SystemColors, + ThemeColorsRefinement, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; struct RawSyntaxPrinter<'a>(&'a str); @@ -30,6 +30,17 @@ impl<'a, D: Debug> Debug for IntoPrinter<'a, D> { } } +pub struct OptionPrinter<'a, T>(&'a Option); + +impl<'a, T: Debug> Debug for OptionPrinter<'a, T> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self.0 { + Some(value) => write!(f, "Some({:?})", value), + None => write!(f, "None"), + } + } +} + pub struct VecPrinter<'a, T>(&'a Vec); impl<'a, T: Debug> Debug for VecPrinter<'a, T> { @@ -93,6 +104,16 @@ impl<'a> Debug for UserThemeStylesRefinementPrinter<'a> { f.debug_struct("UserThemeStylesRefinement") .field("colors", &ThemeColorsRefinementPrinter(&self.0.colors)) .field("status", &StatusColorsRefinementPrinter(&self.0.status)) + .field( + "syntax", + &OptionPrinter( + &self + .0 + .syntax + .as_ref() + .map(|syntax| UserSyntaxThemePrinter(syntax)), + ), + ) .finish() } } @@ -316,11 +337,11 @@ impl<'a> Debug for PlayerColorPrinter<'a> { } } -pub struct SyntaxThemePrinter<'a>(&'a SyntaxTheme); +pub struct UserSyntaxThemePrinter<'a>(&'a UserSyntaxTheme); -impl<'a> Debug for SyntaxThemePrinter<'a> { +impl<'a> Debug for UserSyntaxThemePrinter<'a> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_struct("SyntaxTheme") + f.debug_struct("UserSyntaxTheme") .field( "highlights", &VecPrinter( diff --git a/crates/theme_importer/src/vscode.rs b/crates/theme_importer/src/vscode.rs index 2eb80fc53f..9ebb0c7b52 100644 --- a/crates/theme_importer/src/vscode.rs +++ b/crates/theme_importer/src/vscode.rs @@ -1,9 +1,13 @@ use anyhow::Result; use gpui::{Hsla, Rgba}; use serde::Deserialize; -use theme::{StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeStylesRefinement}; +use theme::{ + StatusColorsRefinement, ThemeColorsRefinement, UserSyntaxTheme, UserTheme, + UserThemeStylesRefinement, +}; use crate::util::Traverse; +use crate::vscode_syntax::VsCodeTokenColor; use crate::ThemeMetadata; #[derive(Deserialize, Debug)] @@ -18,6 +22,8 @@ pub struct VsCodeTheme { #[serde(rename = "semanticHighlighting")] pub semantic_highlighting: Option, pub colors: VsCodeColors, + #[serde(rename = "tokenColors")] + pub token_colors: Vec, } #[derive(Debug, Deserialize)] @@ -413,7 +419,7 @@ pub struct VsCodeColors { pub list_filter_widget_no_matches_outline: Option, } -fn try_parse_color(color: &str) -> Result { +pub(crate) fn try_parse_color(color: &str) -> Result { Ok(Rgba::try_from(color)?.into()) } @@ -618,12 +624,23 @@ impl VsCodeThemeConverter { ..Default::default() }; + let mut highlight_styles = Vec::new(); + + for token_color in self.theme.token_colors { + highlight_styles.extend(token_color.highlight_styles()?); + } + + let syntax_theme = UserSyntaxTheme { + highlights: highlight_styles, + }; + Ok(UserTheme { name: self.theme_metadata.name.into(), appearance, styles: UserThemeStylesRefinement { colors: theme_colors_refinements, status: status_color_refinements, + syntax: Some(syntax_theme), }, }) } diff --git a/crates/theme_importer/src/vscode_syntax.rs b/crates/theme_importer/src/vscode_syntax.rs new file mode 100644 index 0000000000..7891c43235 --- /dev/null +++ b/crates/theme_importer/src/vscode_syntax.rs @@ -0,0 +1,261 @@ +// Create ThemeSyntaxRefinement +// Map tokenColors style to HighlightStyle (fontStyle, foreground, background) +// Take in the scopes from the tokenColors and try to match each to our HighlightStyles + +use anyhow::Result; +use serde::Deserialize; +use theme::UserHighlightStyle; + +use crate::{util::Traverse, vscode::try_parse_color}; + +#[derive(Debug, Deserialize)] +#[serde(untagged)] +pub enum VsCodeTokenScope { + One(String), + Many(Vec), +} + +#[derive(Debug, Deserialize)] +pub struct VsCodeTokenColor { + pub scope: Option, + pub settings: VsCodeTokenColorSettings, +} + +#[derive(Debug, Deserialize)] +pub struct VsCodeTokenColorSettings { + pub foreground: Option, + pub background: Option, + #[serde(rename = "fontStyle")] + pub font_style: Option, +} + +impl VsCodeTokenColor { + pub fn highlight_styles(&self) -> Result> { + let mut highlight_styles = Vec::new(); + + let scope = match self.scope { + Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()], + Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(), + None => return Ok(Vec::new()), + }; + + for scope in &scope { + let Some(syntax_token) = Self::to_zed_token(&scope) else { + continue; + }; + + let highlight_style = UserHighlightStyle { + color: self + .settings + .foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + }; + + if highlight_style.is_empty() { + continue; + } + + highlight_styles.push((syntax_token, highlight_style)); + } + + Ok(highlight_styles) + } + + fn to_zed_token(scope: &str) -> Option { + match scope { + "attribute" => Some("attribute".to_string()), + "boolean" => Some("boolean".to_string()), + "comment" => Some("comment".to_string()), + "comment.doc" => Some("comment.doc".to_string()), + "punctuation" + | "punctuation.accessor" + | "punctuation.definition.array.begin.json" + | "punctuation.definition.array.end.json" + | "punctuation.definition.dictionary.begin.json" + | "punctuation.definition.dictionary.end.json" + | "punctuation.definition.markdown" + | "punctuation.definition.tag" + | "punctuation.definition.tag.begin" + | "punctuation.definition.tag.end" + | "punctuation.definition.template-expression" + | "punctuation.definition.variable" + | "punctuation.section" + | "punctuation.section.embedded" + | "punctuation.section.embedded.begin" + | "punctuation.section.embedded.end" + | "punctuation.separator" + | "punctuation.separator.array.json" + | "punctuation.separator.dictionary.key-value.json" + | "punctuation.separator.dictionary.pair.json" => Some("punctuation".to_string()), + + // --- + "constant" | "character" | "language" | "language.python" | "numeric" | "other" + | "other.symbol" => Some("something".to_string()), + + "entity" + | "name" + | "name.class" + | "name.filename.find-in-files" + | "name.function" + | "name.function.python" + | "name.import" + | "name.package" + | "name.tag" + | "name.type" + | "name.type.class.python" + | "other.attribute-name" + | "other.inherited-class" => Some("something".to_string()), + + "markup" | "bold" | "changed" | "deleted" | "heading" | "heading.setext" + | "inline.raw" | "italic" | "list" | "quote" | "raw" | "raw.inline" | "strike" + | "table" | "underline.link" => Some("something".to_string()), + + "source" => Some("something".to_string()), + "storage" => Some("something".to_string()), + "string" => Some("something".to_string()), + "support" => Some("something".to_string()), + "text" => Some("something".to_string()), + "token" => Some("something".to_string()), + "variable" => Some("something".to_string()), + _ => None, + } + } +} + +// "comment" => "" +// "constant.character" => "" +// "constant.language" => "" +// "constant.language.python" => "" +// "constant.numeric" => "" +// "constant.numeric.line-number.find-in-files - match" => "" +// "constant.numeric.line-number.match" => "" +// "constant.other" => "" +// "constant.other.symbol" => "" +// "entity.name" => "" +// "entity.name.class" => "" +// "entity.name.filename.find-in-files" => "" +// "entity.name.function" => "" +// "entity.name.function.python" => "" +// "entity.name.import" => "" +// "entity.name.package" => "" +// "entity.name.tag" => "" +// "entity.name.type" => "" +// "entity.name.type.class.python" => "" +// "entity.other.attribute-name" => "" +// "entity.other.inherited-class" => "" +// "invalid" => "" +// "keyword" => "" +// "keyword.control.from" => "" +// "keyword.control.import" => "" +// "keyword.operator" => "" +// "keyword.other.new" => "" +// "markup.bold markup.italic" => "" +// "markup.bold" => "" +// "markup.changed" => "" +// "markup.deleted" => "" +// "markup.heading entity.name" => "" +// "markup.heading" => "" +// "markup.heading.setext" => "" +// "markup.inline.raw" => "" +// "markup.inserted" => "" +// "markup.inserted" => "" +// "markup.italic markup.bold" => "" +// "markup.italic" => "" +// "markup.list punctuation.definition.list.begin" => "" +// "markup.list" => "" +// "markup.quote" => "" +// "markup.raw" => "" +// "markup.raw.inline" => "" +// "markup.strike" => "" +// "markup.table" => "" +// "markup.underline.link" => "" +// "message.error" => "" +// "meta.decorator punctuation.decorator" => "" +// "meta.decorator variable.other" => "" +// "meta.diff" => "" +// "meta.diff.header" => "" +// "meta.embedded" => "" +// "meta.function-call" => "" +// "meta.function-call.generic" => "" +// "meta.import" => "" +// "meta.parameter" => "" +// "meta.preprocessor" => "" +// "meta.separator" => "" +// "meta.tag.sgml" => "" +// "punctuation.accessor" => "" +// "punctuation.definition.array.begin.json" => "" +// "punctuation.definition.array.end.json" => "" +// "punctuation.definition.dictionary.begin.json" => "" +// "punctuation.definition.dictionary.end.json" => "" +// "punctuation.definition.markdown" => "" +// "punctuation.definition.tag" => "" +// "punctuation.definition.tag.begin" => "" +// "punctuation.definition.tag.end" => "" +// "punctuation.definition.template-expression" => "" +// "punctuation.definition.variable" => "" +// "punctuation.section" => "" +// "punctuation.section.embedded" => "" +// "punctuation.section.embedded.begin" => "" +// "punctuation.section.embedded.end" => "" +// "punctuation.separator" => "" +// "punctuation.separator.array.json" => "" +// "punctuation.separator.dictionary.key-value.json" => "" +// "punctuation.separator.dictionary.pair.json" => "" +// "punctuation.terminator" => "" +// "source.c storage.type" => "" +// "source.css entity.name.tag" => "" +// "source.css support.type" => "" +// "source.go storage.type" => "" +// "source.groovy.embedded" => "" +// "source.haskell storage.type" => "" +// "source.java storage.type" => "" +// "source.java storage.type.primitive" => "" +// "source.less entity.name.tag" => "" +// "source.less support.type" => "" +// "source.python" => "" +// "source.ruby variable.other.readwrite" => "" +// "source.sass entity.name.tag" => "" +// "source.sass support.type" => "" +// "source.scss entity.name.tag" => "" +// "source.scss support.type" => "" +// "source.stylus entity.name.tag" => "" +// "source.stylus support.type" => "" +// "source.ts" => "" +// "storage" => "" +// "storage.modifier" => "" +// "storage.modifier.async" => "" +// "storage.modifier.tsx" => "" +// "storage.type.annotation" => "" +// "storage.type.function" => "" +// "string" => "" +// "string.other.link" => "" +// "string.regexp" => "" +// "support.class" => "" +// "support.class.component" => "" +// "support.constant" => "" +// "support.function" => "" +// "support.function.construct" => "" +// "support.function.go" => "" +// "support.macro" => "" +// "support.other.variable" => "" +// "support.type" => "" +// "support.type.exception" => "" +// "support.type.primitive" => "" +// "support.type.property-name" => "" +// "support.type.python" => "" +// "text.html.markdown markup.inline.raw" => "" +// "text.html.markdown meta.dummy.line-break" => "" +// "token.debug-token" => "" +// "token.error-token" => "" +// "token.info-token" => "" +// "token.warn-token" => "" +// "variable" => "" +// "variable.annotation" => "" +// "variable.function" => "" +// "variable.language" => "" +// "variable.member" => "" +// "variable.object.property" => "" +// "variable.other" => "" +// "variable.parameter" => "" +// "variable.parameter.function-call" => "" From 60eae3e50a20e47f5cfeb522e689a5d506a9644f Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 9 Nov 2023 12:46:37 -0500 Subject: [PATCH 07/15] Emit unique highlights for each syntax token --- crates/theme2/src/themes/andromeda.rs | 12 +- crates/theme2/src/themes/ayu.rs | 34 +- crates/theme2/src/themes/dracula.rs | 87 ++- crates/theme2/src/themes/gruvbox.rs | 376 ++++++++++- crates/theme2/src/themes/mod.rs | 56 +- crates/theme2/src/themes/night_owl.rs | 147 ++++- crates/theme2/src/themes/nord.rs | 87 ++- crates/theme2/src/themes/notctis.rs | 699 ++++++++++++++++++++- crates/theme2/src/themes/palenight.rs | 205 +++++- crates/theme2/src/themes/rose_pine.rs | 208 +++++- crates/theme2/src/themes/solarized.rs | 135 +++- crates/theme2/src/themes/synthwave_84.rs | 72 ++- crates/theme_importer/src/main.rs | 2 +- crates/theme_importer/src/vscode.rs | 57 +- crates/theme_importer/src/vscode_syntax.rs | 13 +- 15 files changed, 1969 insertions(+), 221 deletions(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 6e2b2989f7..00973f0f51 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -62,10 +62,6 @@ pub fn andromeda() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ("comment".into(), rgba(0x9fa0a6cc).into()), - ("something".into(), rgba(0x00e8c6ff).into()), - ("punctuation".into(), rgba(0xf92571ff).into()), - ("something".into(), rgba(0xc64dedff).into()), - ("something".into(), rgba(0xee5d42ff).into()), ("something".into(), rgba(0x95e072ff).into()), ("punctuation".into(), rgba(0x95e072ff).into()), ], @@ -120,13 +116,9 @@ pub fn andromeda() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x9fa0a6cc).into()), - ("something".into(), rgba(0x00e8c6ff).into()), - ("punctuation".into(), rgba(0xf92571ff).into()), - ("something".into(), rgba(0xc64dedff).into()), - ("something".into(), rgba(0xee5d42ff).into()), - ("something".into(), rgba(0x95e072ff).into()), ("punctuation".into(), rgba(0x95e072ff).into()), + ("comment".into(), rgba(0x9fa0a6cc).into()), + ("something".into(), rgba(0x95e072ff).into()), ], }), }, diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 3aa1e0a7c3..47d50d96c4 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -65,19 +65,9 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x787b8099).into()), - ("something".into(), rgba(0x86b300ff).into()), - ("something".into(), rgba(0x5c6166ff).into()), ("something".into(), rgba(0xfa8d3eff).into()), - ("punctuation".into(), rgba(0x5c6166b3).into()), - ("punctuation".into(), rgba(0x5c6166ff).into()), - ("punctuation".into(), rgba(0xed9365ff).into()), - ("punctuation".into(), rgba(0xfa8d3eff).into()), - ("punctuation".into(), rgba(0xfa8d3eff).into()), - ("punctuation".into(), rgba(0x55b4d380).into()), - ("punctuation".into(), rgba(0x55b4d380).into()), - ("punctuation".into(), rgba(0x55b4d380).into()), ("punctuation".into(), rgba(0x787b8099).into()), + ("comment".into(), rgba(0x787b8099).into()), ], }), }, @@ -134,18 +124,8 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0xb8cfe680).into()), - ("something".into(), rgba(0xd4fe7fff).into()), - ("something".into(), rgba(0xcccac2ff).into()), ("something".into(), rgba(0xffad65ff).into()), - ("punctuation".into(), rgba(0xcccac2b3).into()), - ("punctuation".into(), rgba(0xcccac2ff).into()), - ("punctuation".into(), rgba(0xf29e74ff).into()), - ("punctuation".into(), rgba(0xffad65ff).into()), - ("punctuation".into(), rgba(0xffad65ff).into()), - ("punctuation".into(), rgba(0x5ccfe680).into()), - ("punctuation".into(), rgba(0x5ccfe680).into()), - ("punctuation".into(), rgba(0x5ccfe680).into()), + ("comment".into(), rgba(0xb8cfe680).into()), ("punctuation".into(), rgba(0xb8cfe680).into()), ], }), @@ -204,17 +184,7 @@ pub fn ayu() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ("comment".into(), rgba(0xabb5be8c).into()), - ("something".into(), rgba(0xa9d94bff).into()), - ("something".into(), rgba(0xbfbdb6ff).into()), ("something".into(), rgba(0xff8f3fff).into()), - ("punctuation".into(), rgba(0xbfbdb6b3).into()), - ("punctuation".into(), rgba(0xbfbdb6ff).into()), - ("punctuation".into(), rgba(0xf29668ff).into()), - ("punctuation".into(), rgba(0xff8f3fff).into()), - ("punctuation".into(), rgba(0xff8f3fff).into()), - ("punctuation".into(), rgba(0x38b9e680).into()), - ("punctuation".into(), rgba(0x38b9e680).into()), - ("punctuation".into(), rgba(0x38b9e680).into()), ("punctuation".into(), rgba(0xabb5be8c).into()), ], }), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 757f5d5a18..d8b97589ab 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -1,18 +1,77 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn dracula() -> UserThemeFamily { - UserThemeFamily { - name: "Dracula".into(), - author: "Zeno Rocha".into(), - themes: vec![UserTheme { name: "Dracula".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xbd93f9ff).into()),border_variant: Some(rgba(0xbd93f9ff).into()),border_focused: Some(rgba(0x6272a4ff).into()),border_selected: Some(rgba(0xbd93f9ff).into()),border_transparent: Some(rgba(0xbd93f9ff).into()),border_disabled: Some(rgba(0xbd93f9ff).into()),elevated_surface_background: Some(rgba(0x282a35ff).into()),surface_background: Some(rgba(0x282a35ff).into()),background: Some(rgba(0x282a35ff).into()),element_background: Some(rgba(0x44475aff).into()),element_hover: Some(rgba(0x44475a75).into()),element_selected: Some(rgba(0x44475aff).into()),drop_target_background: Some(rgba(0x44475aff).into()),ghost_element_hover: Some(rgba(0x44475a75).into()),text: Some(rgba(0xf8f8f2ff).into()),tab_inactive_background: Some(rgba(0x21222cff).into()),tab_active_background: Some(rgba(0x282a35ff).into()),editor_background: Some(rgba(0x282a35ff).into()),editor_gutter_background: Some(rgba(0x282a35ff).into()),editor_line_number: Some(rgba(0x6272a4ff).into()),editor_active_line_number: Some(rgba(0xf8f8f2ff).into()),terminal_background: Some(rgba(0x282a35ff).into()),terminal_ansi_bright_black: Some(rgba(0x6272a4ff).into()),terminal_ansi_bright_red: Some(rgba(0xff6d6dff).into()),terminal_ansi_bright_green: Some(rgba(0x69ff94ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffffa5ff).into()),terminal_ansi_bright_blue: Some(rgba(0xd6abfeff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff92dfff).into()),terminal_ansi_bright_cyan: Some(rgba(0xa3fefeff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x21222cff).into()),terminal_ansi_red: Some(rgba(0xff5555ff).into()),terminal_ansi_green: Some(rgba(0x50fa7bff).into()),terminal_ansi_yellow: Some(rgba(0xf1fa8cff).into()),terminal_ansi_blue: Some(rgba(0xbd93f9ff).into()),terminal_ansi_magenta: Some(rgba(0xff79c6ff).into()),terminal_ansi_cyan: Some(rgba(0x8be9fdff).into()),terminal_ansi_white: Some(rgba(0xf8f8f2ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff5555ff).into()),error: Some(rgba(0xff5555ff).into()),hidden: Some(rgba(0x6272a4ff).into()),warning: Some(rgba(0xffb76bff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x6272a4ff).into()), ("something".into(), rgba(0xbd93f9ff).into()), ("something".into(), rgba(0x8be9fdff).into()), ("punctuation".into(), rgba(0xff79c6ff).into()), ("punctuation".into(), rgba(0xff79c6ff).into()), ("something".into(), rgba(0xff79c6ff).into()), ("something".into(), rgba(0xf1fa8cff).into()), ("something".into(), rgba(0xf8f8f2ff).into())] }) } }], +pub fn dracula() -> UserThemeFamily { + UserThemeFamily { + name: "Dracula".into(), + author: "Zeno Rocha".into(), + themes: vec![UserTheme { + name: "Dracula".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xbd93f9ff).into()), + border_variant: Some(rgba(0xbd93f9ff).into()), + border_focused: Some(rgba(0x6272a4ff).into()), + border_selected: Some(rgba(0xbd93f9ff).into()), + border_transparent: Some(rgba(0xbd93f9ff).into()), + border_disabled: Some(rgba(0xbd93f9ff).into()), + elevated_surface_background: Some(rgba(0x282a35ff).into()), + surface_background: Some(rgba(0x282a35ff).into()), + background: Some(rgba(0x282a35ff).into()), + element_background: Some(rgba(0x44475aff).into()), + element_hover: Some(rgba(0x44475a75).into()), + element_selected: Some(rgba(0x44475aff).into()), + drop_target_background: Some(rgba(0x44475aff).into()), + ghost_element_hover: Some(rgba(0x44475a75).into()), + text: Some(rgba(0xf8f8f2ff).into()), + tab_inactive_background: Some(rgba(0x21222cff).into()), + tab_active_background: Some(rgba(0x282a35ff).into()), + editor_background: Some(rgba(0x282a35ff).into()), + editor_gutter_background: Some(rgba(0x282a35ff).into()), + editor_line_number: Some(rgba(0x6272a4ff).into()), + editor_active_line_number: Some(rgba(0xf8f8f2ff).into()), + terminal_background: Some(rgba(0x282a35ff).into()), + terminal_ansi_bright_black: Some(rgba(0x6272a4ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff6d6dff).into()), + terminal_ansi_bright_green: Some(rgba(0x69ff94ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xffffa5ff).into()), + terminal_ansi_bright_blue: Some(rgba(0xd6abfeff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff92dfff).into()), + terminal_ansi_bright_cyan: Some(rgba(0xa3fefeff).into()), + terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), + terminal_ansi_black: Some(rgba(0x21222cff).into()), + terminal_ansi_red: Some(rgba(0xff5555ff).into()), + terminal_ansi_green: Some(rgba(0x50fa7bff).into()), + terminal_ansi_yellow: Some(rgba(0xf1fa8cff).into()), + terminal_ansi_blue: Some(rgba(0xbd93f9ff).into()), + terminal_ansi_magenta: Some(rgba(0xff79c6ff).into()), + terminal_ansi_cyan: Some(rgba(0x8be9fdff).into()), + terminal_ansi_white: Some(rgba(0xf8f8f2ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff5555ff).into()), + error: Some(rgba(0xff5555ff).into()), + hidden: Some(rgba(0x6272a4ff).into()), + warning: Some(rgba(0xffb76bff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x6272a4ff).into()), + ("something".into(), rgba(0xf8f8f2ff).into()), + ("punctuation".into(), rgba(0xff79c6ff).into()), + ], + }), + }, + }], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 71be1ec98b..a7a3a42f19 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -1,18 +1,366 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn gruvbox() -> UserThemeFamily { - UserThemeFamily { - name: "Gruvbox".into(), - author: "morhetz".into(), - themes: vec![UserTheme { name: "Gruvbox Dark Hard".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3c3836ff).into()),border_variant: Some(rgba(0x3c3836ff).into()),border_focused: Some(rgba(0x3c3836ff).into()),border_selected: Some(rgba(0x3c3836ff).into()),border_transparent: Some(rgba(0x3c3836ff).into()),border_disabled: Some(rgba(0x3c3836ff).into()),background: Some(rgba(0x1d2021ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0x3c383680).into()),element_selected: Some(rgba(0x3c383680).into()),drop_target_background: Some(rgba(0x3c3836ff).into()),ghost_element_hover: Some(rgba(0x3c383680).into()),text: Some(rgba(0xebdbb2ff).into()),tab_inactive_background: Some(rgba(0x1d2021ff).into()),tab_active_background: Some(rgba(0x32302fff).into()),editor_background: Some(rgba(0x1d2021ff).into()),editor_gutter_background: Some(rgba(0x1d2021ff).into()),editor_line_number: Some(rgba(0x665c54ff).into()),editor_active_line_number: Some(rgba(0xebdbb2ff).into()),terminal_background: Some(rgba(0x1d2021ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()),terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()),terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()),terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()),terminal_ansi_black: Some(rgba(0x3c3836ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0xa89984ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfb4833ff).into()),error: Some(rgba(0xfb4833ff).into()),hidden: Some(rgba(0xa89984ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0xd3869bff).into()), ("something".into(), rgba(0xfb4833ff).into()), ("something".into(), rgba(0xb8bb25ff).into()), ("something".into(), rgba(0x83a598ff).into()), ("punctuation".into(), rgba(0xa89984ff).into()), ("punctuation".into(), rgba(0x83a598ff).into())] }) } }, UserTheme { name: "Gruvbox Dark Medium".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3c3836ff).into()),border_variant: Some(rgba(0x3c3836ff).into()),border_focused: Some(rgba(0x3c3836ff).into()),border_selected: Some(rgba(0x3c3836ff).into()),border_transparent: Some(rgba(0x3c3836ff).into()),border_disabled: Some(rgba(0x3c3836ff).into()),background: Some(rgba(0x282828ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0x3c383680).into()),element_selected: Some(rgba(0x3c383680).into()),drop_target_background: Some(rgba(0x3c3836ff).into()),ghost_element_hover: Some(rgba(0x3c383680).into()),text: Some(rgba(0xebdbb2ff).into()),tab_inactive_background: Some(rgba(0x282828ff).into()),tab_active_background: Some(rgba(0x3c3836ff).into()),editor_background: Some(rgba(0x282828ff).into()),editor_gutter_background: Some(rgba(0x282828ff).into()),editor_line_number: Some(rgba(0x665c54ff).into()),editor_active_line_number: Some(rgba(0xebdbb2ff).into()),terminal_background: Some(rgba(0x282828ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()),terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()),terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()),terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()),terminal_ansi_black: Some(rgba(0x3c3836ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0xa89984ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfb4833ff).into()),error: Some(rgba(0xfb4833ff).into()),hidden: Some(rgba(0xa89984ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0xd3869bff).into()), ("something".into(), rgba(0xfb4833ff).into()), ("something".into(), rgba(0xb8bb25ff).into()), ("something".into(), rgba(0x83a598ff).into()), ("punctuation".into(), rgba(0xa89984ff).into()), ("punctuation".into(), rgba(0x83a598ff).into())] }) } }, UserTheme { name: "Gruvbox Dark Soft".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3c3836ff).into()),border_variant: Some(rgba(0x3c3836ff).into()),border_focused: Some(rgba(0x3c3836ff).into()),border_selected: Some(rgba(0x3c3836ff).into()),border_transparent: Some(rgba(0x3c3836ff).into()),border_disabled: Some(rgba(0x3c3836ff).into()),background: Some(rgba(0x32302fff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0x3c383680).into()),element_selected: Some(rgba(0x3c383680).into()),drop_target_background: Some(rgba(0x3c3836ff).into()),ghost_element_hover: Some(rgba(0x3c383680).into()),text: Some(rgba(0xebdbb2ff).into()),tab_inactive_background: Some(rgba(0x32302fff).into()),tab_active_background: Some(rgba(0x504945ff).into()),editor_background: Some(rgba(0x32302fff).into()),editor_gutter_background: Some(rgba(0x32302fff).into()),editor_line_number: Some(rgba(0x665c54ff).into()),editor_active_line_number: Some(rgba(0xebdbb2ff).into()),terminal_background: Some(rgba(0x32302fff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()),terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()),terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()),terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()),terminal_ansi_black: Some(rgba(0x3c3836ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0xa89984ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfb4833ff).into()),error: Some(rgba(0xfb4833ff).into()),hidden: Some(rgba(0xa89984ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0xd3869bff).into()), ("something".into(), rgba(0xfb4833ff).into()), ("something".into(), rgba(0xb8bb25ff).into()), ("something".into(), rgba(0x83a598ff).into()), ("punctuation".into(), rgba(0xa89984ff).into()), ("punctuation".into(), rgba(0x83a598ff).into())] }) } }, UserTheme { name: "Gruvbox Light Hard".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xebdbb2ff).into()),border_variant: Some(rgba(0xebdbb2ff).into()),border_focused: Some(rgba(0xebdbb2ff).into()),border_selected: Some(rgba(0xebdbb2ff).into()),border_transparent: Some(rgba(0xebdbb2ff).into()),border_disabled: Some(rgba(0xebdbb2ff).into()),background: Some(rgba(0xf9f5d7ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0xebdbb280).into()),element_selected: Some(rgba(0xebdbb280).into()),drop_target_background: Some(rgba(0xebdbb2ff).into()),ghost_element_hover: Some(rgba(0xebdbb280).into()),text: Some(rgba(0x3c3836ff).into()),tab_inactive_background: Some(rgba(0xf9f5d7ff).into()),tab_active_background: Some(rgba(0xf2e5bcff).into()),editor_background: Some(rgba(0xf9f5d7ff).into()),editor_gutter_background: Some(rgba(0xf9f5d7ff).into()),editor_line_number: Some(rgba(0xbdae93ff).into()),editor_active_line_number: Some(rgba(0x3c3836ff).into()),terminal_background: Some(rgba(0xf9f5d7ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()),terminal_ansi_bright_green: Some(rgba(0x79740eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()),terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()),terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()),terminal_ansi_black: Some(rgba(0xebdbb2ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x9d0006ff).into()),error: Some(rgba(0x9d0006ff).into()),hidden: Some(rgba(0x7c6f64ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0x8f3e71ff).into()), ("something".into(), rgba(0x9d0006ff).into()), ("something".into(), rgba(0x79740eff).into()), ("something".into(), rgba(0x066578ff).into()), ("punctuation".into(), rgba(0x7c6f64ff).into()), ("punctuation".into(), rgba(0x066578ff).into())] }) } }, UserTheme { name: "Gruvbox Light Medium".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xebdbb2ff).into()),border_variant: Some(rgba(0xebdbb2ff).into()),border_focused: Some(rgba(0xebdbb2ff).into()),border_selected: Some(rgba(0xebdbb2ff).into()),border_transparent: Some(rgba(0xebdbb2ff).into()),border_disabled: Some(rgba(0xebdbb2ff).into()),background: Some(rgba(0xfbf1c7ff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0xebdbb280).into()),element_selected: Some(rgba(0xebdbb280).into()),drop_target_background: Some(rgba(0xebdbb2ff).into()),ghost_element_hover: Some(rgba(0xebdbb280).into()),text: Some(rgba(0x3c3836ff).into()),tab_inactive_background: Some(rgba(0xfbf1c7ff).into()),tab_active_background: Some(rgba(0xebdbb2ff).into()),editor_background: Some(rgba(0xfbf1c7ff).into()),editor_gutter_background: Some(rgba(0xfbf1c7ff).into()),editor_line_number: Some(rgba(0xbdae93ff).into()),editor_active_line_number: Some(rgba(0x3c3836ff).into()),terminal_background: Some(rgba(0xfbf1c7ff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()),terminal_ansi_bright_green: Some(rgba(0x79740eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()),terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()),terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()),terminal_ansi_black: Some(rgba(0xebdbb2ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x9d0006ff).into()),error: Some(rgba(0x9d0006ff).into()),hidden: Some(rgba(0x7c6f64ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0x8f3e71ff).into()), ("something".into(), rgba(0x9d0006ff).into()), ("something".into(), rgba(0x79740eff).into()), ("something".into(), rgba(0x066578ff).into()), ("punctuation".into(), rgba(0x7c6f64ff).into()), ("punctuation".into(), rgba(0x066578ff).into())] }) } }, UserTheme { name: "Gruvbox Light Soft".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xebdbb2ff).into()),border_variant: Some(rgba(0xebdbb2ff).into()),border_focused: Some(rgba(0xebdbb2ff).into()),border_selected: Some(rgba(0xebdbb2ff).into()),border_transparent: Some(rgba(0xebdbb2ff).into()),border_disabled: Some(rgba(0xebdbb2ff).into()),background: Some(rgba(0xf2e5bcff).into()),element_background: Some(rgba(0x44858780).into()),element_hover: Some(rgba(0xebdbb280).into()),element_selected: Some(rgba(0xebdbb280).into()),drop_target_background: Some(rgba(0xebdbb2ff).into()),ghost_element_hover: Some(rgba(0xebdbb280).into()),text: Some(rgba(0x3c3836ff).into()),tab_inactive_background: Some(rgba(0xf2e5bcff).into()),tab_active_background: Some(rgba(0xd5c4a1ff).into()),editor_background: Some(rgba(0xf2e5bcff).into()),editor_gutter_background: Some(rgba(0xf2e5bcff).into()),editor_line_number: Some(rgba(0xbdae93ff).into()),editor_active_line_number: Some(rgba(0x3c3836ff).into()),terminal_background: Some(rgba(0xf2e5bcff).into()),terminal_ansi_bright_black: Some(rgba(0x928374ff).into()),terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()),terminal_ansi_bright_green: Some(rgba(0x79740eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()),terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()),terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()),terminal_ansi_black: Some(rgba(0xebdbb2ff).into()),terminal_ansi_red: Some(rgba(0xcc241cff).into()),terminal_ansi_green: Some(rgba(0x989719ff).into()),terminal_ansi_yellow: Some(rgba(0xd79920ff).into()),terminal_ansi_blue: Some(rgba(0x448587ff).into()),terminal_ansi_magenta: Some(rgba(0xb16185ff).into()),terminal_ansi_cyan: Some(rgba(0x679d6aff).into()),terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x9d0006ff).into()),error: Some(rgba(0x9d0006ff).into()),hidden: Some(rgba(0x7c6f64ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x928374ff).into()), ("something".into(), rgba(0x8f3e71ff).into()), ("something".into(), rgba(0x9d0006ff).into()), ("something".into(), rgba(0x79740eff).into()), ("something".into(), rgba(0x066578ff).into()), ("punctuation".into(), rgba(0x7c6f64ff).into()), ("punctuation".into(), rgba(0x066578ff).into())] }) } }], +pub fn gruvbox() -> UserThemeFamily { + UserThemeFamily { + name: "Gruvbox".into(), + author: "morhetz".into(), + themes: vec![ + UserTheme { + name: "Gruvbox Dark Hard".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x3c3836ff).into()), + border_variant: Some(rgba(0x3c3836ff).into()), + border_focused: Some(rgba(0x3c3836ff).into()), + border_selected: Some(rgba(0x3c3836ff).into()), + border_transparent: Some(rgba(0x3c3836ff).into()), + border_disabled: Some(rgba(0x3c3836ff).into()), + background: Some(rgba(0x1d2021ff).into()), + element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0x3c383680).into()), + element_selected: Some(rgba(0x3c383680).into()), + drop_target_background: Some(rgba(0x3c3836ff).into()), + ghost_element_hover: Some(rgba(0x3c383680).into()), + text: Some(rgba(0xebdbb2ff).into()), + tab_inactive_background: Some(rgba(0x1d2021ff).into()), + tab_active_background: Some(rgba(0x32302fff).into()), + editor_background: Some(rgba(0x1d2021ff).into()), + editor_gutter_background: Some(rgba(0x1d2021ff).into()), + editor_line_number: Some(rgba(0x665c54ff).into()), + editor_active_line_number: Some(rgba(0xebdbb2ff).into()), + terminal_background: Some(rgba(0x1d2021ff).into()), + terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), + terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), + terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), + terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), + terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), + terminal_ansi_black: Some(rgba(0x3c3836ff).into()), + terminal_ansi_red: Some(rgba(0xcc241cff).into()), + terminal_ansi_green: Some(rgba(0x989719ff).into()), + terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), + terminal_ansi_blue: Some(rgba(0x448587ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), + terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_white: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfb4833ff).into()), + error: Some(rgba(0xfb4833ff).into()), + hidden: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x928374ff).into()), + ("something".into(), rgba(0x83a598ff).into()), + ("punctuation".into(), rgba(0x83a598ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Gruvbox Dark Medium".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x3c3836ff).into()), + border_variant: Some(rgba(0x3c3836ff).into()), + border_focused: Some(rgba(0x3c3836ff).into()), + border_selected: Some(rgba(0x3c3836ff).into()), + border_transparent: Some(rgba(0x3c3836ff).into()), + border_disabled: Some(rgba(0x3c3836ff).into()), + background: Some(rgba(0x282828ff).into()), + element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0x3c383680).into()), + element_selected: Some(rgba(0x3c383680).into()), + drop_target_background: Some(rgba(0x3c3836ff).into()), + ghost_element_hover: Some(rgba(0x3c383680).into()), + text: Some(rgba(0xebdbb2ff).into()), + tab_inactive_background: Some(rgba(0x282828ff).into()), + tab_active_background: Some(rgba(0x3c3836ff).into()), + editor_background: Some(rgba(0x282828ff).into()), + editor_gutter_background: Some(rgba(0x282828ff).into()), + editor_line_number: Some(rgba(0x665c54ff).into()), + editor_active_line_number: Some(rgba(0xebdbb2ff).into()), + terminal_background: Some(rgba(0x282828ff).into()), + terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), + terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), + terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), + terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), + terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), + terminal_ansi_black: Some(rgba(0x3c3836ff).into()), + terminal_ansi_red: Some(rgba(0xcc241cff).into()), + terminal_ansi_green: Some(rgba(0x989719ff).into()), + terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), + terminal_ansi_blue: Some(rgba(0x448587ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), + terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_white: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfb4833ff).into()), + error: Some(rgba(0xfb4833ff).into()), + hidden: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x83a598ff).into()), + ("comment".into(), rgba(0x928374ff).into()), + ("punctuation".into(), rgba(0x83a598ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Gruvbox Dark Soft".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x3c3836ff).into()), + border_variant: Some(rgba(0x3c3836ff).into()), + border_focused: Some(rgba(0x3c3836ff).into()), + border_selected: Some(rgba(0x3c3836ff).into()), + border_transparent: Some(rgba(0x3c3836ff).into()), + border_disabled: Some(rgba(0x3c3836ff).into()), + background: Some(rgba(0x32302fff).into()), + element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0x3c383680).into()), + element_selected: Some(rgba(0x3c383680).into()), + drop_target_background: Some(rgba(0x3c3836ff).into()), + ghost_element_hover: Some(rgba(0x3c383680).into()), + text: Some(rgba(0xebdbb2ff).into()), + tab_inactive_background: Some(rgba(0x32302fff).into()), + tab_active_background: Some(rgba(0x504945ff).into()), + editor_background: Some(rgba(0x32302fff).into()), + editor_gutter_background: Some(rgba(0x32302fff).into()), + editor_line_number: Some(rgba(0x665c54ff).into()), + editor_active_line_number: Some(rgba(0xebdbb2ff).into()), + terminal_background: Some(rgba(0x32302fff).into()), + terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), + terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), + terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), + terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), + terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), + terminal_ansi_black: Some(rgba(0x3c3836ff).into()), + terminal_ansi_red: Some(rgba(0xcc241cff).into()), + terminal_ansi_green: Some(rgba(0x989719ff).into()), + terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), + terminal_ansi_blue: Some(rgba(0x448587ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), + terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_white: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfb4833ff).into()), + error: Some(rgba(0xfb4833ff).into()), + hidden: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x928374ff).into()), + ("something".into(), rgba(0x83a598ff).into()), + ("punctuation".into(), rgba(0x83a598ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Gruvbox Light Hard".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xebdbb2ff).into()), + border_variant: Some(rgba(0xebdbb2ff).into()), + border_focused: Some(rgba(0xebdbb2ff).into()), + border_selected: Some(rgba(0xebdbb2ff).into()), + border_transparent: Some(rgba(0xebdbb2ff).into()), + border_disabled: Some(rgba(0xebdbb2ff).into()), + background: Some(rgba(0xf9f5d7ff).into()), + element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0xebdbb280).into()), + element_selected: Some(rgba(0xebdbb280).into()), + drop_target_background: Some(rgba(0xebdbb2ff).into()), + ghost_element_hover: Some(rgba(0xebdbb280).into()), + text: Some(rgba(0x3c3836ff).into()), + tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), + tab_active_background: Some(rgba(0xf2e5bcff).into()), + editor_background: Some(rgba(0xf9f5d7ff).into()), + editor_gutter_background: Some(rgba(0xf9f5d7ff).into()), + editor_line_number: Some(rgba(0xbdae93ff).into()), + editor_active_line_number: Some(rgba(0x3c3836ff).into()), + terminal_background: Some(rgba(0xf9f5d7ff).into()), + terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), + terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), + terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), + terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), + terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), + terminal_ansi_red: Some(rgba(0xcc241cff).into()), + terminal_ansi_green: Some(rgba(0x989719ff).into()), + terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), + terminal_ansi_blue: Some(rgba(0x448587ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), + terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x9d0006ff).into()), + error: Some(rgba(0x9d0006ff).into()), + hidden: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x928374ff).into()), + ("something".into(), rgba(0x066578ff).into()), + ("punctuation".into(), rgba(0x066578ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Gruvbox Light Medium".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xebdbb2ff).into()), + border_variant: Some(rgba(0xebdbb2ff).into()), + border_focused: Some(rgba(0xebdbb2ff).into()), + border_selected: Some(rgba(0xebdbb2ff).into()), + border_transparent: Some(rgba(0xebdbb2ff).into()), + border_disabled: Some(rgba(0xebdbb2ff).into()), + background: Some(rgba(0xfbf1c7ff).into()), + element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0xebdbb280).into()), + element_selected: Some(rgba(0xebdbb280).into()), + drop_target_background: Some(rgba(0xebdbb2ff).into()), + ghost_element_hover: Some(rgba(0xebdbb280).into()), + text: Some(rgba(0x3c3836ff).into()), + tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), + tab_active_background: Some(rgba(0xebdbb2ff).into()), + editor_background: Some(rgba(0xfbf1c7ff).into()), + editor_gutter_background: Some(rgba(0xfbf1c7ff).into()), + editor_line_number: Some(rgba(0xbdae93ff).into()), + editor_active_line_number: Some(rgba(0x3c3836ff).into()), + terminal_background: Some(rgba(0xfbf1c7ff).into()), + terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), + terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), + terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), + terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), + terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), + terminal_ansi_red: Some(rgba(0xcc241cff).into()), + terminal_ansi_green: Some(rgba(0x989719ff).into()), + terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), + terminal_ansi_blue: Some(rgba(0x448587ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), + terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x9d0006ff).into()), + error: Some(rgba(0x9d0006ff).into()), + hidden: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x066578ff).into()), + ("comment".into(), rgba(0x928374ff).into()), + ("punctuation".into(), rgba(0x066578ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Gruvbox Light Soft".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xebdbb2ff).into()), + border_variant: Some(rgba(0xebdbb2ff).into()), + border_focused: Some(rgba(0xebdbb2ff).into()), + border_selected: Some(rgba(0xebdbb2ff).into()), + border_transparent: Some(rgba(0xebdbb2ff).into()), + border_disabled: Some(rgba(0xebdbb2ff).into()), + background: Some(rgba(0xf2e5bcff).into()), + element_background: Some(rgba(0x44858780).into()), + element_hover: Some(rgba(0xebdbb280).into()), + element_selected: Some(rgba(0xebdbb280).into()), + drop_target_background: Some(rgba(0xebdbb2ff).into()), + ghost_element_hover: Some(rgba(0xebdbb280).into()), + text: Some(rgba(0x3c3836ff).into()), + tab_inactive_background: Some(rgba(0xf2e5bcff).into()), + tab_active_background: Some(rgba(0xd5c4a1ff).into()), + editor_background: Some(rgba(0xf2e5bcff).into()), + editor_gutter_background: Some(rgba(0xf2e5bcff).into()), + editor_line_number: Some(rgba(0xbdae93ff).into()), + editor_active_line_number: Some(rgba(0x3c3836ff).into()), + terminal_background: Some(rgba(0xf2e5bcff).into()), + terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), + terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), + terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), + terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), + terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), + terminal_ansi_red: Some(rgba(0xcc241cff).into()), + terminal_ansi_green: Some(rgba(0x989719ff).into()), + terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), + terminal_ansi_blue: Some(rgba(0x448587ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), + terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x9d0006ff).into()), + error: Some(rgba(0x9d0006ff).into()), + hidden: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x066578ff).into()), + ("comment".into(), rgba(0x928374ff).into()), + ("punctuation".into(), rgba(0x066578ff).into()), + ], + }), + }, + }, + ], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/mod.rs b/crates/theme2/src/themes/mod.rs index 13397105e2..c48338b184 100644 --- a/crates/theme2/src/themes/mod.rs +++ b/crates/theme2/src/themes/mod.rs @@ -1,36 +1,44 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. - - mod rose_pine; -mod night_owl; mod andromeda; -mod synthwave_84; -mod palenight; +mod ayu; mod dracula; -mod solarized; +mod gruvbox; +mod night_owl; mod nord; mod notctis; -mod ayu; -mod gruvbox; +mod palenight; +mod rose_pine; +mod solarized; +mod synthwave_84; - pub use rose_pine::*; -pub use night_owl::*; pub use andromeda::*; -pub use synthwave_84::*; -pub use palenight::*; +pub use ayu::*; pub use dracula::*; -pub use solarized::*; +pub use gruvbox::*; +pub use night_owl::*; pub use nord::*; pub use notctis::*; -pub use ayu::*; -pub use gruvbox::*; +pub use palenight::*; +pub use rose_pine::*; +pub use solarized::*; +pub use synthwave_84::*; - - use crate::UserThemeFamily; +use crate::UserThemeFamily; - pub(crate) fn all_user_themes() -> Vec { - vec![rose_pine(), night_owl(), andromeda(), synthwave_84(), palenight(), dracula(), solarized(), nord(), notctis(), ayu(), gruvbox()] - } - - \ No newline at end of file +pub(crate) fn all_user_themes() -> Vec { + vec![ + rose_pine(), + night_owl(), + andromeda(), + synthwave_84(), + palenight(), + dracula(), + solarized(), + nord(), + notctis(), + ayu(), + gruvbox(), + ] +} diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 20619cbdb4..a0a11b9aa1 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -1,18 +1,137 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn night_owl() -> UserThemeFamily { - UserThemeFamily { - name: "Night Owl".into(), - author: "Sarah Drasner (sdras)".into(), - themes: vec![UserTheme { name: "Night Owl".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x5f7e97ff).into()),border_variant: Some(rgba(0x5f7e97ff).into()),border_focused: Some(rgba(0x122d42ff).into()),border_selected: Some(rgba(0x5f7e97ff).into()),border_transparent: Some(rgba(0x5f7e97ff).into()),border_disabled: Some(rgba(0x5f7e97ff).into()),elevated_surface_background: Some(rgba(0x011526ff).into()),surface_background: Some(rgba(0x011526ff).into()),background: Some(rgba(0x011526ff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x011526ff).into()),element_selected: Some(rgba(0x234c708c).into()),drop_target_background: Some(rgba(0x011526ff).into()),ghost_element_hover: Some(rgba(0x011526ff).into()),text: Some(rgba(0xd6deebff).into()),tab_inactive_background: Some(rgba(0x01101cff).into()),tab_active_background: Some(rgba(0x0a2842ff).into()),editor_background: Some(rgba(0x011526ff).into()),editor_gutter_background: Some(rgba(0x011526ff).into()),editor_line_number: Some(rgba(0x4b6479ff).into()),editor_active_line_number: Some(rgba(0xd6deebff).into()),terminal_ansi_bright_black: Some(rgba(0x575656ff).into()),terminal_ansi_bright_red: Some(rgba(0xef524fff).into()),terminal_ansi_bright_green: Some(rgba(0x21da6eff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffeb95ff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x7fdbcaff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x011526ff).into()),terminal_ansi_red: Some(rgba(0xef524fff).into()),terminal_ansi_green: Some(rgba(0x21da6eff).into()),terminal_ansi_yellow: Some(rgba(0xc5e478ff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x20c7a7ff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x5f7e97ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x637777ff).into()), ("something".into(), rgba(0xecc48dff).into()), ("something".into(), rgba(0xc5e478ff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x7fdbcaff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc5e478ff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }, UserTheme { name: "Night Owl Light".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xd9d9d9ff).into()),border_variant: Some(rgba(0xd9d9d9ff).into()),border_focused: Some(rgba(0x93a1a1ff).into()),border_selected: Some(rgba(0xd9d9d9ff).into()),border_transparent: Some(rgba(0xd9d9d9ff).into()),border_disabled: Some(rgba(0xd9d9d9ff).into()),elevated_surface_background: Some(rgba(0xf0f0f0ff).into()),surface_background: Some(rgba(0xf0f0f0ff).into()),background: Some(rgba(0xfbfbfbff).into()),element_background: Some(rgba(0x29a298ff).into()),element_hover: Some(rgba(0xd3e7f8ff).into()),element_selected: Some(rgba(0xd3e7f8ff).into()),ghost_element_hover: Some(rgba(0xd3e7f8ff).into()),text: Some(rgba(0x403f53ff).into()),tab_inactive_background: Some(rgba(0xf0f0f0ff).into()),tab_active_background: Some(rgba(0xf6f6f6ff).into()),editor_background: Some(rgba(0xfbfbfbff).into()),editor_gutter_background: Some(rgba(0xfbfbfbff).into()),editor_line_number: Some(rgba(0x90a7b2ff).into()),editor_active_line_number: Some(rgba(0x403f53ff).into()),terminal_background: Some(rgba(0xf6f6f6ff).into()),terminal_ansi_bright_black: Some(rgba(0x403f53ff).into()),terminal_ansi_bright_red: Some(rgba(0xde3c3aff).into()),terminal_ansi_bright_green: Some(rgba(0x07916aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xdaa900ff).into()),terminal_ansi_bright_blue: Some(rgba(0x278dd7ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xd64289ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x29a298ff).into()),terminal_ansi_bright_white: Some(rgba(0xf0f0f0ff).into()),terminal_ansi_black: Some(rgba(0x403f53ff).into()),terminal_ansi_red: Some(rgba(0xde3c3aff).into()),terminal_ansi_green: Some(rgba(0x07916aff).into()),terminal_ansi_yellow: Some(rgba(0xe0ae01ff).into()),terminal_ansi_blue: Some(rgba(0x278dd7ff).into()),terminal_ansi_magenta: Some(rgba(0xd64289ff).into()),terminal_ansi_cyan: Some(rgba(0x29a298ff).into()),terminal_ansi_white: Some(rgba(0xf0f0f0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0x403f53ff).into()),error: Some(rgba(0x403f53ff).into()),hidden: Some(rgba(0x403f53ff).into()),warning: Some(rgba(0xdaa900ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x989fb1ff).into()), ("something".into(), rgba(0x4876d6ff).into()), ("something".into(), rgba(0x4876d6ff).into()), ("punctuation".into(), rgba(0x994bc3ff).into()), ("something".into(), rgba(0x994bc3ff).into()), ("punctuation".into(), rgba(0x994bc3ff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0x994bc3ff).into()), ("something".into(), rgba(0x4876d6ff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x0b969bff).into())] }) } }], +pub fn night_owl() -> UserThemeFamily { + UserThemeFamily { + name: "Night Owl".into(), + author: "Sarah Drasner (sdras)".into(), + themes: vec![ + UserTheme { + name: "Night Owl".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x5f7e97ff).into()), + border_variant: Some(rgba(0x5f7e97ff).into()), + border_focused: Some(rgba(0x122d42ff).into()), + border_selected: Some(rgba(0x5f7e97ff).into()), + border_transparent: Some(rgba(0x5f7e97ff).into()), + border_disabled: Some(rgba(0x5f7e97ff).into()), + elevated_surface_background: Some(rgba(0x011526ff).into()), + surface_background: Some(rgba(0x011526ff).into()), + background: Some(rgba(0x011526ff).into()), + element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x011526ff).into()), + element_selected: Some(rgba(0x234c708c).into()), + drop_target_background: Some(rgba(0x011526ff).into()), + ghost_element_hover: Some(rgba(0x011526ff).into()), + text: Some(rgba(0xd6deebff).into()), + tab_inactive_background: Some(rgba(0x01101cff).into()), + tab_active_background: Some(rgba(0x0a2842ff).into()), + editor_background: Some(rgba(0x011526ff).into()), + editor_gutter_background: Some(rgba(0x011526ff).into()), + editor_line_number: Some(rgba(0x4b6479ff).into()), + editor_active_line_number: Some(rgba(0xd6deebff).into()), + terminal_ansi_bright_black: Some(rgba(0x575656ff).into()), + terminal_ansi_bright_red: Some(rgba(0xef524fff).into()), + terminal_ansi_bright_green: Some(rgba(0x21da6eff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xffeb95ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x7fdbcaff).into()), + terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), + terminal_ansi_black: Some(rgba(0x011526ff).into()), + terminal_ansi_red: Some(rgba(0xef524fff).into()), + terminal_ansi_green: Some(rgba(0x21da6eff).into()), + terminal_ansi_yellow: Some(rgba(0xc5e478ff).into()), + terminal_ansi_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_cyan: Some(rgba(0x20c7a7ff).into()), + terminal_ansi_white: Some(rgba(0xffffffff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x5f7e97ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x637777ff).into()), + ("something".into(), rgba(0x7fcac3ff).into()), + ("punctuation".into(), rgba(0xd3413dff).into()), + ], + }), + }, + }, + UserTheme { + name: "Night Owl Light".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xd9d9d9ff).into()), + border_variant: Some(rgba(0xd9d9d9ff).into()), + border_focused: Some(rgba(0x93a1a1ff).into()), + border_selected: Some(rgba(0xd9d9d9ff).into()), + border_transparent: Some(rgba(0xd9d9d9ff).into()), + border_disabled: Some(rgba(0xd9d9d9ff).into()), + elevated_surface_background: Some(rgba(0xf0f0f0ff).into()), + surface_background: Some(rgba(0xf0f0f0ff).into()), + background: Some(rgba(0xfbfbfbff).into()), + element_background: Some(rgba(0x29a298ff).into()), + element_hover: Some(rgba(0xd3e7f8ff).into()), + element_selected: Some(rgba(0xd3e7f8ff).into()), + ghost_element_hover: Some(rgba(0xd3e7f8ff).into()), + text: Some(rgba(0x403f53ff).into()), + tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), + tab_active_background: Some(rgba(0xf6f6f6ff).into()), + editor_background: Some(rgba(0xfbfbfbff).into()), + editor_gutter_background: Some(rgba(0xfbfbfbff).into()), + editor_line_number: Some(rgba(0x90a7b2ff).into()), + editor_active_line_number: Some(rgba(0x403f53ff).into()), + terminal_background: Some(rgba(0xf6f6f6ff).into()), + terminal_ansi_bright_black: Some(rgba(0x403f53ff).into()), + terminal_ansi_bright_red: Some(rgba(0xde3c3aff).into()), + terminal_ansi_bright_green: Some(rgba(0x07916aff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xdaa900ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x278dd7ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xd64289ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x29a298ff).into()), + terminal_ansi_bright_white: Some(rgba(0xf0f0f0ff).into()), + terminal_ansi_black: Some(rgba(0x403f53ff).into()), + terminal_ansi_red: Some(rgba(0xde3c3aff).into()), + terminal_ansi_green: Some(rgba(0x07916aff).into()), + terminal_ansi_yellow: Some(rgba(0xe0ae01ff).into()), + terminal_ansi_blue: Some(rgba(0x278dd7ff).into()), + terminal_ansi_magenta: Some(rgba(0xd64289ff).into()), + terminal_ansi_cyan: Some(rgba(0x29a298ff).into()), + terminal_ansi_white: Some(rgba(0xf0f0f0ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0x403f53ff).into()), + error: Some(rgba(0x403f53ff).into()), + hidden: Some(rgba(0x403f53ff).into()), + warning: Some(rgba(0xdaa900ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x989fb1ff).into()), + ("something".into(), rgba(0x0b969bff).into()), + ("punctuation".into(), rgba(0xd3413dff).into()), + ], + }), + }, + }, + ], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 2bbdab069d..eb0deed4f0 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -1,18 +1,77 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn nord() -> UserThemeFamily { - UserThemeFamily { - name: "Nord".into(), - author: "Sven Greb (svengreb)".into(), - themes: vec![UserTheme { name: "Nord".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x3b4252ff).into()),border_variant: Some(rgba(0x3b4252ff).into()),border_focused: Some(rgba(0x3b4252ff).into()),border_selected: Some(rgba(0x3b4252ff).into()),border_transparent: Some(rgba(0x3b4252ff).into()),border_disabled: Some(rgba(0x3b4252ff).into()),elevated_surface_background: Some(rgba(0x2e3440ff).into()),surface_background: Some(rgba(0x2e3440ff).into()),background: Some(rgba(0x2e3440ff).into()),element_background: Some(rgba(0x88bfd0ee).into()),element_hover: Some(rgba(0x3b4252ff).into()),element_selected: Some(rgba(0x88bfd0ff).into()),drop_target_background: Some(rgba(0x88bfd099).into()),ghost_element_hover: Some(rgba(0x3b4252ff).into()),text: Some(rgba(0xd8dee9ff).into()),tab_inactive_background: Some(rgba(0x2e3440ff).into()),tab_active_background: Some(rgba(0x3b4252ff).into()),editor_background: Some(rgba(0x2e3440ff).into()),editor_gutter_background: Some(rgba(0x2e3440ff).into()),editor_line_number: Some(rgba(0x4c566aff).into()),editor_active_line_number: Some(rgba(0xd8dee9ff).into()),terminal_background: Some(rgba(0x2e3440ff).into()),terminal_ansi_bright_black: Some(rgba(0x4c566aff).into()),terminal_ansi_bright_red: Some(rgba(0xbf616aff).into()),terminal_ansi_bright_green: Some(rgba(0xa3be8cff).into()),terminal_ansi_bright_yellow: Some(rgba(0xebcb8bff).into()),terminal_ansi_bright_blue: Some(rgba(0x81a1c1ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xb48eacff).into()),terminal_ansi_bright_cyan: Some(rgba(0x8fbcbbff).into()),terminal_ansi_bright_white: Some(rgba(0xeceff4ff).into()),terminal_ansi_black: Some(rgba(0x3b4252ff).into()),terminal_ansi_red: Some(rgba(0xbf616aff).into()),terminal_ansi_green: Some(rgba(0xa3be8cff).into()),terminal_ansi_yellow: Some(rgba(0xebcb8bff).into()),terminal_ansi_blue: Some(rgba(0x81a1c1ff).into()),terminal_ansi_magenta: Some(rgba(0xb48eacff).into()),terminal_ansi_cyan: Some(rgba(0x88bfd0ff).into()),terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xbf616aff).into()),error: Some(rgba(0xbf616aff).into()),hidden: Some(rgba(0xd8dee966).into()),warning: Some(rgba(0xebcb8bff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x606e87ff).into()), ("punctuation".into(), rgba(0xeceff4ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("punctuation".into(), rgba(0xeceff4ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("punctuation".into(), rgba(0x81a1c1ff).into()), ("something".into(), rgba(0x81a1c1ff).into()), ("something".into(), rgba(0xa3be8cff).into())] }) } }], +pub fn nord() -> UserThemeFamily { + UserThemeFamily { + name: "Nord".into(), + author: "Sven Greb (svengreb)".into(), + themes: vec![UserTheme { + name: "Nord".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x3b4252ff).into()), + border_variant: Some(rgba(0x3b4252ff).into()), + border_focused: Some(rgba(0x3b4252ff).into()), + border_selected: Some(rgba(0x3b4252ff).into()), + border_transparent: Some(rgba(0x3b4252ff).into()), + border_disabled: Some(rgba(0x3b4252ff).into()), + elevated_surface_background: Some(rgba(0x2e3440ff).into()), + surface_background: Some(rgba(0x2e3440ff).into()), + background: Some(rgba(0x2e3440ff).into()), + element_background: Some(rgba(0x88bfd0ee).into()), + element_hover: Some(rgba(0x3b4252ff).into()), + element_selected: Some(rgba(0x88bfd0ff).into()), + drop_target_background: Some(rgba(0x88bfd099).into()), + ghost_element_hover: Some(rgba(0x3b4252ff).into()), + text: Some(rgba(0xd8dee9ff).into()), + tab_inactive_background: Some(rgba(0x2e3440ff).into()), + tab_active_background: Some(rgba(0x3b4252ff).into()), + editor_background: Some(rgba(0x2e3440ff).into()), + editor_gutter_background: Some(rgba(0x2e3440ff).into()), + editor_line_number: Some(rgba(0x4c566aff).into()), + editor_active_line_number: Some(rgba(0xd8dee9ff).into()), + terminal_background: Some(rgba(0x2e3440ff).into()), + terminal_ansi_bright_black: Some(rgba(0x4c566aff).into()), + terminal_ansi_bright_red: Some(rgba(0xbf616aff).into()), + terminal_ansi_bright_green: Some(rgba(0xa3be8cff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xebcb8bff).into()), + terminal_ansi_bright_blue: Some(rgba(0x81a1c1ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xb48eacff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x8fbcbbff).into()), + terminal_ansi_bright_white: Some(rgba(0xeceff4ff).into()), + terminal_ansi_black: Some(rgba(0x3b4252ff).into()), + terminal_ansi_red: Some(rgba(0xbf616aff).into()), + terminal_ansi_green: Some(rgba(0xa3be8cff).into()), + terminal_ansi_yellow: Some(rgba(0xebcb8bff).into()), + terminal_ansi_blue: Some(rgba(0x81a1c1ff).into()), + terminal_ansi_magenta: Some(rgba(0xb48eacff).into()), + terminal_ansi_cyan: Some(rgba(0x88bfd0ff).into()), + terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xbf616aff).into()), + error: Some(rgba(0xbf616aff).into()), + hidden: Some(rgba(0xd8dee966).into()), + warning: Some(rgba(0xebcb8bff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x606e87ff).into()), + ("punctuation".into(), rgba(0x81a1c1ff).into()), + ("something".into(), rgba(0xa3be8cff).into()), + ], + }), + }, + }], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index 8ac36cad64..437fa98298 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -1,18 +1,689 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn notctis() -> UserThemeFamily { - UserThemeFamily { - name: "Notctis".into(), - author: "Liviu Schera (liviuschera)".into(), - themes: vec![UserTheme { name: "Noctis Azureus".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x1579b6ff).into()),border_variant: Some(rgba(0x1579b6ff).into()),border_focused: Some(rgba(0x08324eff).into()),border_selected: Some(rgba(0x1579b6ff).into()),border_transparent: Some(rgba(0x1579b6ff).into()),border_disabled: Some(rgba(0x1579b6ff).into()),elevated_surface_background: Some(rgba(0x051b28ff).into()),surface_background: Some(rgba(0x051b28ff).into()),background: Some(rgba(0x07263aff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x00558a65).into()),element_selected: Some(rgba(0x0b3f5fff).into()),drop_target_background: Some(rgba(0x00294dff).into()),ghost_element_hover: Some(rgba(0x00558a65).into()),text: Some(rgba(0xbecfdaff).into()),tab_inactive_background: Some(rgba(0x08324eff).into()),tab_active_background: Some(rgba(0x07263aff).into()),editor_background: Some(rgba(0x07263aff).into()),editor_gutter_background: Some(rgba(0x07263aff).into()),editor_line_number: Some(rgba(0x4c6b7fff).into()),editor_active_line_number: Some(rgba(0xbecfdaff).into()),terminal_background: Some(rgba(0x051b28ff).into()),terminal_ansi_bright_black: Some(rgba(0x475e6cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xbecfdaff).into()),terminal_ansi_black: Some(rgba(0x28343dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xaec3d0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x9fb6c6ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5888a5ff).into()), ("punctuation".into(), rgba(0x5888a5ff).into()), ("punctuation".into(), rgba(0xbecfdaff).into()), ("punctuation".into(), rgba(0xbecfdaff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Bordo".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x997582ff).into()),border_variant: Some(rgba(0x997582ff).into()),border_focused: Some(rgba(0x413036ff).into()),border_selected: Some(rgba(0x997582ff).into()),border_transparent: Some(rgba(0x997582ff).into()),border_disabled: Some(rgba(0x997582ff).into()),elevated_surface_background: Some(rgba(0x272022ff).into()),surface_background: Some(rgba(0x272022ff).into()),background: Some(rgba(0x322a2dff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x533641ff).into()),element_selected: Some(rgba(0x5c2e3e99).into()),drop_target_background: Some(rgba(0x38292eff).into()),ghost_element_hover: Some(rgba(0x533641ff).into()),text: Some(rgba(0xcbbec2ff).into()),tab_inactive_background: Some(rgba(0x413036ff).into()),tab_active_background: Some(rgba(0x322a2dff).into()),editor_background: Some(rgba(0x322a2dff).into()),editor_gutter_background: Some(rgba(0x322a2dff).into()),editor_line_number: Some(rgba(0x715b63ff).into()),editor_active_line_number: Some(rgba(0xcbbec2ff).into()),terminal_background: Some(rgba(0x272022ff).into()),terminal_ansi_bright_black: Some(rgba(0x69545bff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xcbbec2ff).into()),terminal_ansi_black: Some(rgba(0x47393eff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb9acb0ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0xbbaab0ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x8b737bff).into()), ("punctuation".into(), rgba(0x8b737bff).into()), ("punctuation".into(), rgba(0xcbbec2ff).into()), ("punctuation".into(), rgba(0xcbbec2ff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctus Hibernus".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x00c6e0ff).into()),border_variant: Some(rgba(0x00c6e0ff).into()),border_focused: Some(rgba(0xe0eff1ff).into()),border_selected: Some(rgba(0x00c6e0ff).into()),border_transparent: Some(rgba(0x00c6e0ff).into()),border_disabled: Some(rgba(0x00c6e0ff).into()),elevated_surface_background: Some(rgba(0xe1eeefff).into()),surface_background: Some(rgba(0xe1eeefff).into()),background: Some(rgba(0xf4f6f6ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0xd1eafaff).into()),element_selected: Some(rgba(0xb6e1e7ff).into()),drop_target_background: Some(rgba(0xb1c9ccff).into()),ghost_element_hover: Some(rgba(0xd1eafaff).into()),text: Some(rgba(0x005661ff).into()),tab_inactive_background: Some(rgba(0xcaedf2ff).into()),tab_active_background: Some(rgba(0xf4f6f6ff).into()),editor_background: Some(rgba(0xf4f6f6ff).into()),editor_gutter_background: Some(rgba(0xf4f6f6ff).into()),editor_line_number: Some(rgba(0xa0abacff).into()),editor_active_line_number: Some(rgba(0x005661ff).into()),terminal_background: Some(rgba(0xe1eeefff).into()),terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()),terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()),terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()),terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()),terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()),terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()),terminal_ansi_black: Some(rgba(0x003b41ff).into()),terminal_ansi_red: Some(rgba(0xe34d1bff).into()),terminal_ansi_green: Some(rgba(0x00b368ff).into()),terminal_ansi_yellow: Some(rgba(0xf49724ff).into()),terminal_ansi_blue: Some(rgba(0x0094f0ff).into()),terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff3f00ff).into()),error: Some(rgba(0xff3f00ff).into()),hidden: Some(rgba(0x70838dff).into()),warning: Some(rgba(0xe07a52ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0xff5792ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("punctuation".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x00b368ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into())] }) } }, UserTheme { name: "Noctis Lilac".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xaea4f4ff).into()),border_variant: Some(rgba(0xaea4f4ff).into()),border_focused: Some(rgba(0xdedbf5ff).into()),border_selected: Some(rgba(0xaea4f4ff).into()),border_transparent: Some(rgba(0xaea4f4ff).into()),border_disabled: Some(rgba(0xaea4f4ff).into()),elevated_surface_background: Some(rgba(0xe9e7f3ff).into()),surface_background: Some(rgba(0xe9e7f3ff).into()),background: Some(rgba(0xf2f1f8ff).into()),element_background: Some(rgba(0x8d7ffeff).into()),element_hover: Some(rgba(0xd1cbfeff).into()),element_selected: Some(rgba(0xbcb6e7ff).into()),drop_target_background: Some(rgba(0xafaad4aa).into()),ghost_element_hover: Some(rgba(0xd1cbfeff).into()),text: Some(rgba(0x0c006bff).into()),tab_inactive_background: Some(rgba(0xe2dff6ff).into()),tab_active_background: Some(rgba(0xf2f1f8ff).into()),editor_background: Some(rgba(0xf2f1f8ff).into()),editor_gutter_background: Some(rgba(0xf2f1f8ff).into()),editor_line_number: Some(rgba(0x9c99b0ff).into()),editor_active_line_number: Some(rgba(0x0c006bff).into()),terminal_background: Some(rgba(0xe9e7f3ff).into()),terminal_ansi_bright_black: Some(rgba(0x0f0080ff).into()),terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()),terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()),terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()),terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()),terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()),terminal_ansi_black: Some(rgba(0x0c006bff).into()),terminal_ansi_red: Some(rgba(0xe34d1bff).into()),terminal_ansi_green: Some(rgba(0x00b368ff).into()),terminal_ansi_yellow: Some(rgba(0xf49724ff).into()),terminal_ansi_blue: Some(rgba(0x0094f0ff).into()),terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff3f00ff).into()),error: Some(rgba(0xff3f00ff).into()),hidden: Some(rgba(0x74708dff).into()),warning: Some(rgba(0xe07a52ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x9995b7ff).into()), ("punctuation".into(), rgba(0x9995b7ff).into()), ("punctuation".into(), rgba(0x0c006bff).into()), ("punctuation".into(), rgba(0x0c006bff).into()), ("punctuation".into(), rgba(0xff5792ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("punctuation".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x00b368ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into())] }) } }, UserTheme { name: "Noctis Lux".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x00c6e0ff).into()),border_variant: Some(rgba(0x00c6e0ff).into()),border_focused: Some(rgba(0xf2eddeff).into()),border_selected: Some(rgba(0x00c6e0ff).into()),border_transparent: Some(rgba(0x00c6e0ff).into()),border_disabled: Some(rgba(0x00c6e0ff).into()),elevated_surface_background: Some(rgba(0xf6eddaff).into()),surface_background: Some(rgba(0xf6eddaff).into()),background: Some(rgba(0xfef8ecff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0xd1f2f8ff).into()),element_selected: Some(rgba(0xb6e1e7ff).into()),drop_target_background: Some(rgba(0xcccab1ff).into()),ghost_element_hover: Some(rgba(0xd1f2f8ff).into()),text: Some(rgba(0x005661ff).into()),tab_inactive_background: Some(rgba(0xf0e9d6ff).into()),tab_active_background: Some(rgba(0xfef8ecff).into()),editor_background: Some(rgba(0xfef8ecff).into()),editor_gutter_background: Some(rgba(0xfef8ecff).into()),editor_line_number: Some(rgba(0xa0abacff).into()),editor_active_line_number: Some(rgba(0x005661ff).into()),terminal_background: Some(rgba(0xf6eddaff).into()),terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()),terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()),terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()),terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()),terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()),terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()),terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()),terminal_ansi_black: Some(rgba(0x003b41ff).into()),terminal_ansi_red: Some(rgba(0xe34d1bff).into()),terminal_ansi_green: Some(rgba(0x00b368ff).into()),terminal_ansi_yellow: Some(rgba(0xf49724ff).into()),terminal_ansi_blue: Some(rgba(0x0094f0ff).into()),terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xff3f00ff).into()),error: Some(rgba(0xff3f00ff).into()),hidden: Some(rgba(0x878476ff).into()),warning: Some(rgba(0xe07a52ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x8ca6a6ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0x004d57ff).into()), ("punctuation".into(), rgba(0xff5792ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xfa8900ff).into()), ("punctuation".into(), rgba(0xfa8900ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x00b368ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into()), ("punctuation".into(), rgba(0x0094f0ff).into())] }) } }, UserTheme { name: "Noctis Minimus".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x496c83ff).into()),border_variant: Some(rgba(0x496c83ff).into()),border_focused: Some(rgba(0x202d37ff).into()),border_selected: Some(rgba(0x496c83ff).into()),border_transparent: Some(rgba(0x496c83ff).into()),border_disabled: Some(rgba(0x496c83ff).into()),elevated_surface_background: Some(rgba(0x0e1920ff).into()),surface_background: Some(rgba(0x0e1920ff).into()),background: Some(rgba(0x1b2932ff).into()),element_background: Some(rgba(0x2e616bff).into()),element_hover: Some(rgba(0x00558aff).into()),element_selected: Some(rgba(0x2c414eff).into()),drop_target_background: Some(rgba(0x152836ff).into()),ghost_element_hover: Some(rgba(0x00558aff).into()),text: Some(rgba(0xc5cdd3ff).into()),tab_inactive_background: Some(rgba(0x202d37ff).into()),tab_active_background: Some(rgba(0x1b2932ff).into()),editor_background: Some(rgba(0x1b2932ff).into()),editor_gutter_background: Some(rgba(0x1b2932ff).into()),editor_line_number: Some(rgba(0x5d6e79ff).into()),editor_active_line_number: Some(rgba(0xc5cdd3ff).into()),terminal_background: Some(rgba(0x0e1920ff).into()),terminal_ansi_bright_black: Some(rgba(0x425866ff).into()),terminal_ansi_bright_red: Some(rgba(0xca8468ff).into()),terminal_ansi_bright_green: Some(rgba(0x84c8abff).into()),terminal_ansi_bright_yellow: Some(rgba(0xd1aa7bff).into()),terminal_ansi_bright_blue: Some(rgba(0x68a4caff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc88da2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x84bfc8ff).into()),terminal_ansi_bright_white: Some(rgba(0xc5d1d3ff).into()),terminal_ansi_black: Some(rgba(0x182935ff).into()),terminal_ansi_red: Some(rgba(0xc08872ff).into()),terminal_ansi_green: Some(rgba(0x72c09fff).into()),terminal_ansi_yellow: Some(rgba(0xc8a984ff).into()),terminal_ansi_blue: Some(rgba(0x6095b7ff).into()),terminal_ansi_magenta: Some(rgba(0xc28097ff).into()),terminal_ansi_cyan: Some(rgba(0x72b7c0ff).into()),terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xb96245ff).into()),error: Some(rgba(0xb96245ff).into()),hidden: Some(rgba(0x96a8b6ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5d7787ff).into()), ("punctuation".into(), rgba(0x5d7787ff).into()), ("punctuation".into(), rgba(0xc5cdd3ff).into()), ("punctuation".into(), rgba(0xc5cdd3ff).into()), ("punctuation".into(), rgba(0xc88da2ff).into()), ("something".into(), rgba(0xd3b692ff).into()), ("something".into(), rgba(0xd3b692ff).into()), ("punctuation".into(), rgba(0xd3b692ff).into()), ("something".into(), rgba(0xa88c00ff).into()), ("something".into(), rgba(0x72c09fff).into()), ("punctuation".into(), rgba(0x5897bfff).into()), ("punctuation".into(), rgba(0x5897bfff).into())] }) } }, UserTheme { name: "Noctis".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x0d6571ff).into()),border_variant: Some(rgba(0x0d6571ff).into()),border_focused: Some(rgba(0x063940ff).into()),border_selected: Some(rgba(0x0d6571ff).into()),border_transparent: Some(rgba(0x0d6571ff).into()),border_disabled: Some(rgba(0x0d6571ff).into()),elevated_surface_background: Some(rgba(0x03181aff).into()),surface_background: Some(rgba(0x03181aff).into()),background: Some(rgba(0x052428ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0x0b505aff).into()),element_selected: Some(rgba(0x0d6571ff).into()),drop_target_background: Some(rgba(0x00404dff).into()),ghost_element_hover: Some(rgba(0x0b505aff).into()),text: Some(rgba(0xb1c9ccff).into()),tab_inactive_background: Some(rgba(0x052e32ff).into()),tab_active_background: Some(rgba(0x052428ff).into()),editor_background: Some(rgba(0x052428ff).into()),editor_gutter_background: Some(rgba(0x052428ff).into()),editor_line_number: Some(rgba(0x4e6b6eff).into()),editor_active_line_number: Some(rgba(0xb1c9ccff).into()),terminal_background: Some(rgba(0x03181aff).into()),terminal_ansi_bright_black: Some(rgba(0x47686cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()),terminal_ansi_black: Some(rgba(0x324a4dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb1c9ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x87a7abff).into()),warning: Some(rgba(0xffa487ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Obscuro".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x0d6571ff).into()),border_variant: Some(rgba(0x0d6571ff).into()),border_focused: Some(rgba(0x052e32ff).into()),border_selected: Some(rgba(0x0d6571ff).into()),border_transparent: Some(rgba(0x0d6571ff).into()),border_disabled: Some(rgba(0x0d6571ff).into()),elevated_surface_background: Some(rgba(0x020c0eff).into()),surface_background: Some(rgba(0x020c0eff).into()),background: Some(rgba(0x031316ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0x0b505aff).into()),element_selected: Some(rgba(0x0d6571ff).into()),drop_target_background: Some(rgba(0x00404dff).into()),ghost_element_hover: Some(rgba(0x0b505aff).into()),text: Some(rgba(0xb1c9ccff).into()),tab_inactive_background: Some(rgba(0x052e32ff).into()),tab_active_background: Some(rgba(0x031316ff).into()),editor_background: Some(rgba(0x031316ff).into()),editor_gutter_background: Some(rgba(0x031316ff).into()),editor_line_number: Some(rgba(0x4e6b6eff).into()),editor_active_line_number: Some(rgba(0xb1c9ccff).into()),terminal_background: Some(rgba(0x020c0eff).into()),terminal_ansi_bright_black: Some(rgba(0x47686cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()),terminal_ansi_black: Some(rgba(0x324a4dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb1c9ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x87a7abff).into()),warning: Some(rgba(0xffa487ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Sereno".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x0d6571ff).into()),border_variant: Some(rgba(0x0d6571ff).into()),border_focused: Some(rgba(0x052e32ff).into()),border_selected: Some(rgba(0x0d6571ff).into()),border_transparent: Some(rgba(0x0d6571ff).into()),border_disabled: Some(rgba(0x0d6571ff).into()),elevated_surface_background: Some(rgba(0x020c0eff).into()),surface_background: Some(rgba(0x020c0eff).into()),background: Some(rgba(0x031316ff).into()),element_background: Some(rgba(0x089099ff).into()),element_hover: Some(rgba(0x0b505aff).into()),element_selected: Some(rgba(0x0d6571ff).into()),drop_target_background: Some(rgba(0x00404dff).into()),ghost_element_hover: Some(rgba(0x0b505aff).into()),text: Some(rgba(0xb1c9ccff).into()),tab_inactive_background: Some(rgba(0x052e32ff).into()),tab_active_background: Some(rgba(0x031316ff).into()),editor_background: Some(rgba(0x031316ff).into()),editor_gutter_background: Some(rgba(0x031316ff).into()),editor_line_number: Some(rgba(0x4e6b6eff).into()),editor_active_line_number: Some(rgba(0xb1c9ccff).into()),terminal_background: Some(rgba(0x020c0eff).into()),terminal_ansi_bright_black: Some(rgba(0x47686cff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()),terminal_ansi_black: Some(rgba(0x324a4dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb1c9ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0x87a7abff).into()),warning: Some(rgba(0xffa487ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0x5b858bff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xb1c9ccff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Uva".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x6d66a7ff).into()),border_variant: Some(rgba(0x6d66a7ff).into()),border_focused: Some(rgba(0x2f2c49ff).into()),border_selected: Some(rgba(0x6d66a7ff).into()),border_transparent: Some(rgba(0x6d66a7ff).into()),border_disabled: Some(rgba(0x6d66a7ff).into()),elevated_surface_background: Some(rgba(0x1f1d30ff).into()),surface_background: Some(rgba(0x1f1d30ff).into()),background: Some(rgba(0x292640ff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x383866ff).into()),element_selected: Some(rgba(0x322e5cff).into()),drop_target_background: Some(rgba(0x202040ff).into()),ghost_element_hover: Some(rgba(0x383866ff).into()),text: Some(rgba(0xc5c2d6ff).into()),tab_inactive_background: Some(rgba(0x2f2c49ff).into()),tab_active_background: Some(rgba(0x292640ff).into()),editor_background: Some(rgba(0x292640ff).into()),editor_gutter_background: Some(rgba(0x292640ff).into()),editor_line_number: Some(rgba(0x5c5973ff).into()),editor_active_line_number: Some(rgba(0xc5c2d6ff).into()),terminal_background: Some(rgba(0x1f1d30ff).into()),terminal_ansi_bright_black: Some(rgba(0x504e65ff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xc5c2d6ff).into()),terminal_ansi_black: Some(rgba(0x302f3dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xb6b3ccff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0xa9a5c0ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x716b93ff).into()), ("punctuation".into(), rgba(0x716b93ff).into()), ("punctuation".into(), rgba(0xc5c2d6ff).into()), ("punctuation".into(), rgba(0xc5c2d6ff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }, UserTheme { name: "Noctis Viola".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x8666a7ff).into()),border_variant: Some(rgba(0x8666a7ff).into()),border_focused: Some(rgba(0x3d2e4dff).into()),border_selected: Some(rgba(0x8666a7ff).into()),border_transparent: Some(rgba(0x8666a7ff).into()),border_disabled: Some(rgba(0x8666a7ff).into()),elevated_surface_background: Some(rgba(0x291d35ff).into()),surface_background: Some(rgba(0x291d35ff).into()),background: Some(rgba(0x30243dff).into()),element_background: Some(rgba(0x007e99ff).into()),element_hover: Some(rgba(0x69438dff).into()),element_selected: Some(rgba(0x472e60ff).into()),drop_target_background: Some(rgba(0x302040ff).into()),ghost_element_hover: Some(rgba(0x69438dff).into()),text: Some(rgba(0xccbfd9ff).into()),tab_inactive_background: Some(rgba(0x3d2e4dff).into()),tab_active_background: Some(rgba(0x30243dff).into()),editor_background: Some(rgba(0x30243dff).into()),editor_gutter_background: Some(rgba(0x30243dff).into()),editor_line_number: Some(rgba(0x665973ff).into()),editor_active_line_number: Some(rgba(0xccbfd9ff).into()),terminal_background: Some(rgba(0x291d35ff).into()),terminal_ansi_bright_black: Some(rgba(0x594e65ff).into()),terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()),terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()),terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()),terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()),terminal_ansi_bright_white: Some(rgba(0xccbfd9ff).into()),terminal_ansi_black: Some(rgba(0x362f3dff).into()),terminal_ansi_red: Some(rgba(0xe66432ff).into()),terminal_ansi_green: Some(rgba(0x49e9a6ff).into()),terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()),terminal_ansi_blue: Some(rgba(0x49ace9ff).into()),terminal_ansi_magenta: Some(rgba(0xdf759aff).into()),terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()),terminal_ansi_white: Some(rgba(0xbfafcfff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xe34d1bff).into()),error: Some(rgba(0xe34d1bff).into()),hidden: Some(rgba(0xb3a5c0ff).into()),warning: Some(rgba(0xffa857ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x7e6499ff).into()), ("punctuation".into(), rgba(0x7e6499ff).into()), ("punctuation".into(), rgba(0xccbfd9ff).into()), ("punctuation".into(), rgba(0xccbfd9ff).into()), ("punctuation".into(), rgba(0xdf759aff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xe4b781ff).into()), ("punctuation".into(), rgba(0xe4b781ff).into()), ("something".into(), rgba(0xd59719ff).into()), ("something".into(), rgba(0x49e9a6ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into()), ("punctuation".into(), rgba(0x49ace9ff).into())] }) } }], +pub fn notctis() -> UserThemeFamily { + UserThemeFamily { + name: "Notctis".into(), + author: "Liviu Schera (liviuschera)".into(), + themes: vec![ + UserTheme { + name: "Noctis Azureus".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x1579b6ff).into()), + border_variant: Some(rgba(0x1579b6ff).into()), + border_focused: Some(rgba(0x08324eff).into()), + border_selected: Some(rgba(0x1579b6ff).into()), + border_transparent: Some(rgba(0x1579b6ff).into()), + border_disabled: Some(rgba(0x1579b6ff).into()), + elevated_surface_background: Some(rgba(0x051b28ff).into()), + surface_background: Some(rgba(0x051b28ff).into()), + background: Some(rgba(0x07263aff).into()), + element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x00558a65).into()), + element_selected: Some(rgba(0x0b3f5fff).into()), + drop_target_background: Some(rgba(0x00294dff).into()), + ghost_element_hover: Some(rgba(0x00558a65).into()), + text: Some(rgba(0xbecfdaff).into()), + tab_inactive_background: Some(rgba(0x08324eff).into()), + tab_active_background: Some(rgba(0x07263aff).into()), + editor_background: Some(rgba(0x07263aff).into()), + editor_gutter_background: Some(rgba(0x07263aff).into()), + editor_line_number: Some(rgba(0x4c6b7fff).into()), + editor_active_line_number: Some(rgba(0xbecfdaff).into()), + terminal_background: Some(rgba(0x051b28ff).into()), + terminal_ansi_bright_black: Some(rgba(0x475e6cff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xbecfdaff).into()), + terminal_ansi_black: Some(rgba(0x28343dff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xaec3d0ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x9fb6c6ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x5888a5ff).into()), + ("something".into(), rgba(0x49e9a6ff).into()), + ("punctuation".into(), rgba(0x49ace9ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Bordo".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x997582ff).into()), + border_variant: Some(rgba(0x997582ff).into()), + border_focused: Some(rgba(0x413036ff).into()), + border_selected: Some(rgba(0x997582ff).into()), + border_transparent: Some(rgba(0x997582ff).into()), + border_disabled: Some(rgba(0x997582ff).into()), + elevated_surface_background: Some(rgba(0x272022ff).into()), + surface_background: Some(rgba(0x272022ff).into()), + background: Some(rgba(0x322a2dff).into()), + element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x533641ff).into()), + element_selected: Some(rgba(0x5c2e3e99).into()), + drop_target_background: Some(rgba(0x38292eff).into()), + ghost_element_hover: Some(rgba(0x533641ff).into()), + text: Some(rgba(0xcbbec2ff).into()), + tab_inactive_background: Some(rgba(0x413036ff).into()), + tab_active_background: Some(rgba(0x322a2dff).into()), + editor_background: Some(rgba(0x322a2dff).into()), + editor_gutter_background: Some(rgba(0x322a2dff).into()), + editor_line_number: Some(rgba(0x715b63ff).into()), + editor_active_line_number: Some(rgba(0xcbbec2ff).into()), + terminal_background: Some(rgba(0x272022ff).into()), + terminal_ansi_bright_black: Some(rgba(0x69545bff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xcbbec2ff).into()), + terminal_ansi_black: Some(rgba(0x47393eff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xb9acb0ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0xbbaab0ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x8b737bff).into()), + ("punctuation".into(), rgba(0x49ace9ff).into()), + ("something".into(), rgba(0x49e9a6ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctus Hibernus".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x00c6e0ff).into()), + border_variant: Some(rgba(0x00c6e0ff).into()), + border_focused: Some(rgba(0xe0eff1ff).into()), + border_selected: Some(rgba(0x00c6e0ff).into()), + border_transparent: Some(rgba(0x00c6e0ff).into()), + border_disabled: Some(rgba(0x00c6e0ff).into()), + elevated_surface_background: Some(rgba(0xe1eeefff).into()), + surface_background: Some(rgba(0xe1eeefff).into()), + background: Some(rgba(0xf4f6f6ff).into()), + element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0xd1eafaff).into()), + element_selected: Some(rgba(0xb6e1e7ff).into()), + drop_target_background: Some(rgba(0xb1c9ccff).into()), + ghost_element_hover: Some(rgba(0xd1eafaff).into()), + text: Some(rgba(0x005661ff).into()), + tab_inactive_background: Some(rgba(0xcaedf2ff).into()), + tab_active_background: Some(rgba(0xf4f6f6ff).into()), + editor_background: Some(rgba(0xf4f6f6ff).into()), + editor_gutter_background: Some(rgba(0xf4f6f6ff).into()), + editor_line_number: Some(rgba(0xa0abacff).into()), + editor_active_line_number: Some(rgba(0x005661ff).into()), + terminal_background: Some(rgba(0xe1eeefff).into()), + terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), + terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), + terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), + terminal_ansi_black: Some(rgba(0x003b41ff).into()), + terminal_ansi_red: Some(rgba(0xe34d1bff).into()), + terminal_ansi_green: Some(rgba(0x00b368ff).into()), + terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), + terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), + terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), + terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), + terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff3f00ff).into()), + error: Some(rgba(0xff3f00ff).into()), + hidden: Some(rgba(0x70838dff).into()), + warning: Some(rgba(0xe07a52ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("punctuation".into(), rgba(0x0094f0ff).into()), + ("something".into(), rgba(0x00b368ff).into()), + ("comment".into(), rgba(0x8ca6a6ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Lilac".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xaea4f4ff).into()), + border_variant: Some(rgba(0xaea4f4ff).into()), + border_focused: Some(rgba(0xdedbf5ff).into()), + border_selected: Some(rgba(0xaea4f4ff).into()), + border_transparent: Some(rgba(0xaea4f4ff).into()), + border_disabled: Some(rgba(0xaea4f4ff).into()), + elevated_surface_background: Some(rgba(0xe9e7f3ff).into()), + surface_background: Some(rgba(0xe9e7f3ff).into()), + background: Some(rgba(0xf2f1f8ff).into()), + element_background: Some(rgba(0x8d7ffeff).into()), + element_hover: Some(rgba(0xd1cbfeff).into()), + element_selected: Some(rgba(0xbcb6e7ff).into()), + drop_target_background: Some(rgba(0xafaad4aa).into()), + ghost_element_hover: Some(rgba(0xd1cbfeff).into()), + text: Some(rgba(0x0c006bff).into()), + tab_inactive_background: Some(rgba(0xe2dff6ff).into()), + tab_active_background: Some(rgba(0xf2f1f8ff).into()), + editor_background: Some(rgba(0xf2f1f8ff).into()), + editor_gutter_background: Some(rgba(0xf2f1f8ff).into()), + editor_line_number: Some(rgba(0x9c99b0ff).into()), + editor_active_line_number: Some(rgba(0x0c006bff).into()), + terminal_background: Some(rgba(0xe9e7f3ff).into()), + terminal_ansi_bright_black: Some(rgba(0x0f0080ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), + terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), + terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), + terminal_ansi_black: Some(rgba(0x0c006bff).into()), + terminal_ansi_red: Some(rgba(0xe34d1bff).into()), + terminal_ansi_green: Some(rgba(0x00b368ff).into()), + terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), + terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), + terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), + terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), + terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff3f00ff).into()), + error: Some(rgba(0xff3f00ff).into()), + hidden: Some(rgba(0x74708dff).into()), + warning: Some(rgba(0xe07a52ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x9995b7ff).into()), + ("punctuation".into(), rgba(0x0094f0ff).into()), + ("something".into(), rgba(0x00b368ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Lux".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x00c6e0ff).into()), + border_variant: Some(rgba(0x00c6e0ff).into()), + border_focused: Some(rgba(0xf2eddeff).into()), + border_selected: Some(rgba(0x00c6e0ff).into()), + border_transparent: Some(rgba(0x00c6e0ff).into()), + border_disabled: Some(rgba(0x00c6e0ff).into()), + elevated_surface_background: Some(rgba(0xf6eddaff).into()), + surface_background: Some(rgba(0xf6eddaff).into()), + background: Some(rgba(0xfef8ecff).into()), + element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0xd1f2f8ff).into()), + element_selected: Some(rgba(0xb6e1e7ff).into()), + drop_target_background: Some(rgba(0xcccab1ff).into()), + ghost_element_hover: Some(rgba(0xd1f2f8ff).into()), + text: Some(rgba(0x005661ff).into()), + tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), + tab_active_background: Some(rgba(0xfef8ecff).into()), + editor_background: Some(rgba(0xfef8ecff).into()), + editor_gutter_background: Some(rgba(0xfef8ecff).into()), + editor_line_number: Some(rgba(0xa0abacff).into()), + editor_active_line_number: Some(rgba(0x005661ff).into()), + terminal_background: Some(rgba(0xf6eddaff).into()), + terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), + terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), + terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), + terminal_ansi_black: Some(rgba(0x003b41ff).into()), + terminal_ansi_red: Some(rgba(0xe34d1bff).into()), + terminal_ansi_green: Some(rgba(0x00b368ff).into()), + terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), + terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), + terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), + terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), + terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xff3f00ff).into()), + error: Some(rgba(0xff3f00ff).into()), + hidden: Some(rgba(0x878476ff).into()), + warning: Some(rgba(0xe07a52ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("punctuation".into(), rgba(0x0094f0ff).into()), + ("comment".into(), rgba(0x8ca6a6ff).into()), + ("something".into(), rgba(0x00b368ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Minimus".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x496c83ff).into()), + border_variant: Some(rgba(0x496c83ff).into()), + border_focused: Some(rgba(0x202d37ff).into()), + border_selected: Some(rgba(0x496c83ff).into()), + border_transparent: Some(rgba(0x496c83ff).into()), + border_disabled: Some(rgba(0x496c83ff).into()), + elevated_surface_background: Some(rgba(0x0e1920ff).into()), + surface_background: Some(rgba(0x0e1920ff).into()), + background: Some(rgba(0x1b2932ff).into()), + element_background: Some(rgba(0x2e616bff).into()), + element_hover: Some(rgba(0x00558aff).into()), + element_selected: Some(rgba(0x2c414eff).into()), + drop_target_background: Some(rgba(0x152836ff).into()), + ghost_element_hover: Some(rgba(0x00558aff).into()), + text: Some(rgba(0xc5cdd3ff).into()), + tab_inactive_background: Some(rgba(0x202d37ff).into()), + tab_active_background: Some(rgba(0x1b2932ff).into()), + editor_background: Some(rgba(0x1b2932ff).into()), + editor_gutter_background: Some(rgba(0x1b2932ff).into()), + editor_line_number: Some(rgba(0x5d6e79ff).into()), + editor_active_line_number: Some(rgba(0xc5cdd3ff).into()), + terminal_background: Some(rgba(0x0e1920ff).into()), + terminal_ansi_bright_black: Some(rgba(0x425866ff).into()), + terminal_ansi_bright_red: Some(rgba(0xca8468ff).into()), + terminal_ansi_bright_green: Some(rgba(0x84c8abff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xd1aa7bff).into()), + terminal_ansi_bright_blue: Some(rgba(0x68a4caff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc88da2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x84bfc8ff).into()), + terminal_ansi_bright_white: Some(rgba(0xc5d1d3ff).into()), + terminal_ansi_black: Some(rgba(0x182935ff).into()), + terminal_ansi_red: Some(rgba(0xc08872ff).into()), + terminal_ansi_green: Some(rgba(0x72c09fff).into()), + terminal_ansi_yellow: Some(rgba(0xc8a984ff).into()), + terminal_ansi_blue: Some(rgba(0x6095b7ff).into()), + terminal_ansi_magenta: Some(rgba(0xc28097ff).into()), + terminal_ansi_cyan: Some(rgba(0x72b7c0ff).into()), + terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xb96245ff).into()), + error: Some(rgba(0xb96245ff).into()), + hidden: Some(rgba(0x96a8b6ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("punctuation".into(), rgba(0x5897bfff).into()), + ("comment".into(), rgba(0x5d7787ff).into()), + ("something".into(), rgba(0x72c09fff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x0d6571ff).into()), + border_variant: Some(rgba(0x0d6571ff).into()), + border_focused: Some(rgba(0x063940ff).into()), + border_selected: Some(rgba(0x0d6571ff).into()), + border_transparent: Some(rgba(0x0d6571ff).into()), + border_disabled: Some(rgba(0x0d6571ff).into()), + elevated_surface_background: Some(rgba(0x03181aff).into()), + surface_background: Some(rgba(0x03181aff).into()), + background: Some(rgba(0x052428ff).into()), + element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0x0b505aff).into()), + element_selected: Some(rgba(0x0d6571ff).into()), + drop_target_background: Some(rgba(0x00404dff).into()), + ghost_element_hover: Some(rgba(0x0b505aff).into()), + text: Some(rgba(0xb1c9ccff).into()), + tab_inactive_background: Some(rgba(0x052e32ff).into()), + tab_active_background: Some(rgba(0x052428ff).into()), + editor_background: Some(rgba(0x052428ff).into()), + editor_gutter_background: Some(rgba(0x052428ff).into()), + editor_line_number: Some(rgba(0x4e6b6eff).into()), + editor_active_line_number: Some(rgba(0xb1c9ccff).into()), + terminal_background: Some(rgba(0x03181aff).into()), + terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), + terminal_ansi_black: Some(rgba(0x324a4dff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x87a7abff).into()), + warning: Some(rgba(0xffa487ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x5b858bff).into()), + ("punctuation".into(), rgba(0x49ace9ff).into()), + ("something".into(), rgba(0x49e9a6ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Obscuro".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x0d6571ff).into()), + border_variant: Some(rgba(0x0d6571ff).into()), + border_focused: Some(rgba(0x052e32ff).into()), + border_selected: Some(rgba(0x0d6571ff).into()), + border_transparent: Some(rgba(0x0d6571ff).into()), + border_disabled: Some(rgba(0x0d6571ff).into()), + elevated_surface_background: Some(rgba(0x020c0eff).into()), + surface_background: Some(rgba(0x020c0eff).into()), + background: Some(rgba(0x031316ff).into()), + element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0x0b505aff).into()), + element_selected: Some(rgba(0x0d6571ff).into()), + drop_target_background: Some(rgba(0x00404dff).into()), + ghost_element_hover: Some(rgba(0x0b505aff).into()), + text: Some(rgba(0xb1c9ccff).into()), + tab_inactive_background: Some(rgba(0x052e32ff).into()), + tab_active_background: Some(rgba(0x031316ff).into()), + editor_background: Some(rgba(0x031316ff).into()), + editor_gutter_background: Some(rgba(0x031316ff).into()), + editor_line_number: Some(rgba(0x4e6b6eff).into()), + editor_active_line_number: Some(rgba(0xb1c9ccff).into()), + terminal_background: Some(rgba(0x020c0eff).into()), + terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), + terminal_ansi_black: Some(rgba(0x324a4dff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x87a7abff).into()), + warning: Some(rgba(0xffa487ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x49e9a6ff).into()), + ("comment".into(), rgba(0x5b858bff).into()), + ("punctuation".into(), rgba(0x49ace9ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Sereno".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x0d6571ff).into()), + border_variant: Some(rgba(0x0d6571ff).into()), + border_focused: Some(rgba(0x052e32ff).into()), + border_selected: Some(rgba(0x0d6571ff).into()), + border_transparent: Some(rgba(0x0d6571ff).into()), + border_disabled: Some(rgba(0x0d6571ff).into()), + elevated_surface_background: Some(rgba(0x020c0eff).into()), + surface_background: Some(rgba(0x020c0eff).into()), + background: Some(rgba(0x031316ff).into()), + element_background: Some(rgba(0x089099ff).into()), + element_hover: Some(rgba(0x0b505aff).into()), + element_selected: Some(rgba(0x0d6571ff).into()), + drop_target_background: Some(rgba(0x00404dff).into()), + ghost_element_hover: Some(rgba(0x0b505aff).into()), + text: Some(rgba(0xb1c9ccff).into()), + tab_inactive_background: Some(rgba(0x052e32ff).into()), + tab_active_background: Some(rgba(0x031316ff).into()), + editor_background: Some(rgba(0x031316ff).into()), + editor_gutter_background: Some(rgba(0x031316ff).into()), + editor_line_number: Some(rgba(0x4e6b6eff).into()), + editor_active_line_number: Some(rgba(0xb1c9ccff).into()), + terminal_background: Some(rgba(0x020c0eff).into()), + terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), + terminal_ansi_black: Some(rgba(0x324a4dff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0x87a7abff).into()), + warning: Some(rgba(0xffa487ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x49e9a6ff).into()), + ("punctuation".into(), rgba(0x49ace9ff).into()), + ("comment".into(), rgba(0x5b858bff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Uva".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x6d66a7ff).into()), + border_variant: Some(rgba(0x6d66a7ff).into()), + border_focused: Some(rgba(0x2f2c49ff).into()), + border_selected: Some(rgba(0x6d66a7ff).into()), + border_transparent: Some(rgba(0x6d66a7ff).into()), + border_disabled: Some(rgba(0x6d66a7ff).into()), + elevated_surface_background: Some(rgba(0x1f1d30ff).into()), + surface_background: Some(rgba(0x1f1d30ff).into()), + background: Some(rgba(0x292640ff).into()), + element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x383866ff).into()), + element_selected: Some(rgba(0x322e5cff).into()), + drop_target_background: Some(rgba(0x202040ff).into()), + ghost_element_hover: Some(rgba(0x383866ff).into()), + text: Some(rgba(0xc5c2d6ff).into()), + tab_inactive_background: Some(rgba(0x2f2c49ff).into()), + tab_active_background: Some(rgba(0x292640ff).into()), + editor_background: Some(rgba(0x292640ff).into()), + editor_gutter_background: Some(rgba(0x292640ff).into()), + editor_line_number: Some(rgba(0x5c5973ff).into()), + editor_active_line_number: Some(rgba(0xc5c2d6ff).into()), + terminal_background: Some(rgba(0x1f1d30ff).into()), + terminal_ansi_bright_black: Some(rgba(0x504e65ff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xc5c2d6ff).into()), + terminal_ansi_black: Some(rgba(0x302f3dff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xb6b3ccff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0xa9a5c0ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("punctuation".into(), rgba(0x49ace9ff).into()), + ("comment".into(), rgba(0x716b93ff).into()), + ("something".into(), rgba(0x49e9a6ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Noctis Viola".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x8666a7ff).into()), + border_variant: Some(rgba(0x8666a7ff).into()), + border_focused: Some(rgba(0x3d2e4dff).into()), + border_selected: Some(rgba(0x8666a7ff).into()), + border_transparent: Some(rgba(0x8666a7ff).into()), + border_disabled: Some(rgba(0x8666a7ff).into()), + elevated_surface_background: Some(rgba(0x291d35ff).into()), + surface_background: Some(rgba(0x291d35ff).into()), + background: Some(rgba(0x30243dff).into()), + element_background: Some(rgba(0x007e99ff).into()), + element_hover: Some(rgba(0x69438dff).into()), + element_selected: Some(rgba(0x472e60ff).into()), + drop_target_background: Some(rgba(0x302040ff).into()), + ghost_element_hover: Some(rgba(0x69438dff).into()), + text: Some(rgba(0xccbfd9ff).into()), + tab_inactive_background: Some(rgba(0x3d2e4dff).into()), + tab_active_background: Some(rgba(0x30243dff).into()), + editor_background: Some(rgba(0x30243dff).into()), + editor_gutter_background: Some(rgba(0x30243dff).into()), + editor_line_number: Some(rgba(0x665973ff).into()), + editor_active_line_number: Some(rgba(0xccbfd9ff).into()), + terminal_background: Some(rgba(0x291d35ff).into()), + terminal_ansi_bright_black: Some(rgba(0x594e65ff).into()), + terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), + terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_white: Some(rgba(0xccbfd9ff).into()), + terminal_ansi_black: Some(rgba(0x362f3dff).into()), + terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), + terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), + terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), + terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_white: Some(rgba(0xbfafcfff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xe34d1bff).into()), + error: Some(rgba(0xe34d1bff).into()), + hidden: Some(rgba(0xb3a5c0ff).into()), + warning: Some(rgba(0xffa857ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x49e9a6ff).into()), + ("comment".into(), rgba(0x7e6499ff).into()), + ("punctuation".into(), rgba(0x49ace9ff).into()), + ], + }), + }, + }, + ], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index a516aa4f58..679fe1514c 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -1,18 +1,195 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn palenight() -> UserThemeFamily { - UserThemeFamily { - name: "Palenight".into(), - author: "Olaolu Olawuyi (whizkydee)".into(), - themes: vec![UserTheme { name: "Palenight".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x282b3bff).into()),border_variant: Some(rgba(0x282b3bff).into()),border_focused: Some(rgba(0x282b3bff).into()),border_selected: Some(rgba(0x282b3bff).into()),border_transparent: Some(rgba(0x282b3bff).into()),border_disabled: Some(rgba(0x282b3bff).into()),elevated_surface_background: Some(rgba(0x292c3eff).into()),surface_background: Some(rgba(0x292c3eff).into()),background: Some(rgba(0x292c3eff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x0000001a).into()),element_selected: Some(rgba(0x7d56c1ff).into()),drop_target_background: Some(rgba(0x2e3245ff).into()),ghost_element_hover: Some(rgba(0x0000001a).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x31364aff).into()),tab_active_background: Some(rgba(0x292c3eff).into()),editor_background: Some(rgba(0x292c3eff).into()),editor_gutter_background: Some(rgba(0x292c3eff).into()),editor_line_number: Some(rgba(0x4c5374ff).into()),editor_active_line_number: Some(rgba(0xbfc7d5ff).into()),terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()),terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()),terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x676e95ff).into()),terminal_ansi_red: Some(rgba(0xff5571ff).into()),terminal_ansi_green: Some(rgba(0xa9c77dff).into()),terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x9199c8ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0xc3e88dff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x89ddffff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }, UserTheme { name: "Palenight Operator".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x282b3bff).into()),border_variant: Some(rgba(0x282b3bff).into()),border_focused: Some(rgba(0x282b3bff).into()),border_selected: Some(rgba(0x282b3bff).into()),border_transparent: Some(rgba(0x282b3bff).into()),border_disabled: Some(rgba(0x282b3bff).into()),elevated_surface_background: Some(rgba(0x292c3eff).into()),surface_background: Some(rgba(0x292c3eff).into()),background: Some(rgba(0x292c3eff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x0000001a).into()),element_selected: Some(rgba(0x7d56c1ff).into()),drop_target_background: Some(rgba(0x2e3245ff).into()),ghost_element_hover: Some(rgba(0x0000001a).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x31364aff).into()),tab_active_background: Some(rgba(0x292c3eff).into()),editor_background: Some(rgba(0x292c3eff).into()),editor_gutter_background: Some(rgba(0x292c3eff).into()),editor_line_number: Some(rgba(0x4c5374ff).into()),editor_active_line_number: Some(rgba(0xbfc7d5ff).into()),terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()),terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()),terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x676e95ff).into()),terminal_ansi_red: Some(rgba(0xff5571ff).into()),terminal_ansi_green: Some(rgba(0xa9c77dff).into()),terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x9199c8ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0xc3e88dff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x89ddffff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }, UserTheme { name: "Palenight (Mild Contrast)".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x2c2f40ff).into()),border_variant: Some(rgba(0x2c2f40ff).into()),border_focused: Some(rgba(0x2c2f40ff).into()),border_selected: Some(rgba(0x2c2f40ff).into()),border_transparent: Some(rgba(0x2c2f40ff).into()),border_disabled: Some(rgba(0x2c2f40ff).into()),elevated_surface_background: Some(rgba(0x25283aff).into()),surface_background: Some(rgba(0x25283aff).into()),background: Some(rgba(0x292c3eff).into()),element_background: Some(rgba(0x7d56c1cc).into()),element_hover: Some(rgba(0x0000001a).into()),element_selected: Some(rgba(0x7d56c1ff).into()),drop_target_background: Some(rgba(0x2e3245ff).into()),ghost_element_hover: Some(rgba(0x0000001a).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x31364aff).into()),tab_active_background: Some(rgba(0x25283aff).into()),editor_background: Some(rgba(0x292c3eff).into()),editor_gutter_background: Some(rgba(0x292c3eff).into()),editor_line_number: Some(rgba(0x4c5374ff).into()),editor_active_line_number: Some(rgba(0xbfc7d5ff).into()),terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()),terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()),terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()),terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_bright_white: Some(rgba(0xffffffff).into()),terminal_ansi_black: Some(rgba(0x676e95ff).into()),terminal_ansi_red: Some(rgba(0xff5571ff).into()),terminal_ansi_green: Some(rgba(0xa9c77dff).into()),terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()),terminal_ansi_blue: Some(rgba(0x82aaffff).into()),terminal_ansi_magenta: Some(rgba(0xc792eaff).into()),terminal_ansi_cyan: Some(rgba(0x89ddffff).into()),terminal_ansi_white: Some(rgba(0xffffffff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xef524fff).into()),error: Some(rgba(0xef524fff).into()),hidden: Some(rgba(0x9199c8ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0xc3e88dff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("punctuation".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xc792eaff).into()), ("punctuation".into(), rgba(0x89ddffff).into()), ("punctuation".into(), rgba(0xd3413dff).into()), ("something".into(), rgba(0xc792eaff).into()), ("something".into(), rgba(0xffcb6bff).into()), ("something".into(), rgba(0x687097ff).into()), ("something".into(), rgba(0x7fcac3ff).into())] }) } }], +pub fn palenight() -> UserThemeFamily { + UserThemeFamily { + name: "Palenight".into(), + author: "Olaolu Olawuyi (whizkydee)".into(), + themes: vec![ + UserTheme { + name: "Palenight".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x282b3bff).into()), + border_variant: Some(rgba(0x282b3bff).into()), + border_focused: Some(rgba(0x282b3bff).into()), + border_selected: Some(rgba(0x282b3bff).into()), + border_transparent: Some(rgba(0x282b3bff).into()), + border_disabled: Some(rgba(0x282b3bff).into()), + elevated_surface_background: Some(rgba(0x292c3eff).into()), + surface_background: Some(rgba(0x292c3eff).into()), + background: Some(rgba(0x292c3eff).into()), + element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x0000001a).into()), + element_selected: Some(rgba(0x7d56c1ff).into()), + drop_target_background: Some(rgba(0x2e3245ff).into()), + ghost_element_hover: Some(rgba(0x0000001a).into()), + text: Some(rgba(0xffffffff).into()), + tab_inactive_background: Some(rgba(0x31364aff).into()), + tab_active_background: Some(rgba(0x292c3eff).into()), + editor_background: Some(rgba(0x292c3eff).into()), + editor_gutter_background: Some(rgba(0x292c3eff).into()), + editor_line_number: Some(rgba(0x4c5374ff).into()), + editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), + terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), + terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), + terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), + terminal_ansi_black: Some(rgba(0x676e95ff).into()), + terminal_ansi_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_green: Some(rgba(0xa9c77dff).into()), + terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), + terminal_ansi_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_cyan: Some(rgba(0x89ddffff).into()), + terminal_ansi_white: Some(rgba(0xffffffff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x9199c8ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("punctuation".into(), rgba(0xd3413dff).into()), + ("something".into(), rgba(0x7fcac3ff).into()), + ("comment".into(), rgba(0x687097ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Palenight Operator".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x282b3bff).into()), + border_variant: Some(rgba(0x282b3bff).into()), + border_focused: Some(rgba(0x282b3bff).into()), + border_selected: Some(rgba(0x282b3bff).into()), + border_transparent: Some(rgba(0x282b3bff).into()), + border_disabled: Some(rgba(0x282b3bff).into()), + elevated_surface_background: Some(rgba(0x292c3eff).into()), + surface_background: Some(rgba(0x292c3eff).into()), + background: Some(rgba(0x292c3eff).into()), + element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x0000001a).into()), + element_selected: Some(rgba(0x7d56c1ff).into()), + drop_target_background: Some(rgba(0x2e3245ff).into()), + ghost_element_hover: Some(rgba(0x0000001a).into()), + text: Some(rgba(0xffffffff).into()), + tab_inactive_background: Some(rgba(0x31364aff).into()), + tab_active_background: Some(rgba(0x292c3eff).into()), + editor_background: Some(rgba(0x292c3eff).into()), + editor_gutter_background: Some(rgba(0x292c3eff).into()), + editor_line_number: Some(rgba(0x4c5374ff).into()), + editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), + terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), + terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), + terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), + terminal_ansi_black: Some(rgba(0x676e95ff).into()), + terminal_ansi_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_green: Some(rgba(0xa9c77dff).into()), + terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), + terminal_ansi_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_cyan: Some(rgba(0x89ddffff).into()), + terminal_ansi_white: Some(rgba(0xffffffff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x9199c8ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x7fcac3ff).into()), + ("comment".into(), rgba(0x687097ff).into()), + ("punctuation".into(), rgba(0xd3413dff).into()), + ], + }), + }, + }, + UserTheme { + name: "Palenight (Mild Contrast)".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x2c2f40ff).into()), + border_variant: Some(rgba(0x2c2f40ff).into()), + border_focused: Some(rgba(0x2c2f40ff).into()), + border_selected: Some(rgba(0x2c2f40ff).into()), + border_transparent: Some(rgba(0x2c2f40ff).into()), + border_disabled: Some(rgba(0x2c2f40ff).into()), + elevated_surface_background: Some(rgba(0x25283aff).into()), + surface_background: Some(rgba(0x25283aff).into()), + background: Some(rgba(0x292c3eff).into()), + element_background: Some(rgba(0x7d56c1cc).into()), + element_hover: Some(rgba(0x0000001a).into()), + element_selected: Some(rgba(0x7d56c1ff).into()), + drop_target_background: Some(rgba(0x2e3245ff).into()), + ghost_element_hover: Some(rgba(0x0000001a).into()), + text: Some(rgba(0xffffffff).into()), + tab_inactive_background: Some(rgba(0x31364aff).into()), + tab_active_background: Some(rgba(0x25283aff).into()), + editor_background: Some(rgba(0x292c3eff).into()), + editor_gutter_background: Some(rgba(0x292c3eff).into()), + editor_line_number: Some(rgba(0x4c5374ff).into()), + editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), + terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), + terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), + terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), + terminal_ansi_black: Some(rgba(0x676e95ff).into()), + terminal_ansi_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_green: Some(rgba(0xa9c77dff).into()), + terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), + terminal_ansi_blue: Some(rgba(0x82aaffff).into()), + terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), + terminal_ansi_cyan: Some(rgba(0x89ddffff).into()), + terminal_ansi_white: Some(rgba(0xffffffff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xef524fff).into()), + error: Some(rgba(0xef524fff).into()), + hidden: Some(rgba(0x9199c8ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("something".into(), rgba(0x7fcac3ff).into()), + ("comment".into(), rgba(0x687097ff).into()), + ("punctuation".into(), rgba(0xd3413dff).into()), + ], + }), + }, + }, + ], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index fbc06e04dd..353fcd10d3 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -1,18 +1,198 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn rose_pine() -> UserThemeFamily { - UserThemeFamily { - name: "Rose Pine".into(), - author: "Rosé Pine".into(), - themes: vec![UserTheme { name: "Rose Pine".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x000000ff).into()),border_variant: Some(rgba(0x000000ff).into()),border_focused: Some(rgba(0x6e6a8633).into()),border_selected: Some(rgba(0x000000ff).into()),border_transparent: Some(rgba(0x000000ff).into()),border_disabled: Some(rgba(0x000000ff).into()),elevated_surface_background: Some(rgba(0x1f1d2eff).into()),surface_background: Some(rgba(0x1f1d2eff).into()),background: Some(rgba(0x191724ff).into()),element_background: Some(rgba(0xebbcbaff).into()),element_hover: Some(rgba(0x6e6a861a).into()),element_selected: Some(rgba(0x6e6a8633).into()),drop_target_background: Some(rgba(0x1f1d2eff).into()),ghost_element_hover: Some(rgba(0x6e6a861a).into()),text: Some(rgba(0xe0def4ff).into()),tab_inactive_background: Some(rgba(0x000000ff).into()),tab_active_background: Some(rgba(0x6e6a861a).into()),editor_background: Some(rgba(0x191724ff).into()),editor_gutter_background: Some(rgba(0x191724ff).into()),editor_line_number: Some(rgba(0x908caaff).into()),editor_active_line_number: Some(rgba(0xe0def4ff).into()),terminal_ansi_bright_black: Some(rgba(0x908caaff).into()),terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_bright_green: Some(rgba(0x30738fff).into()),terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_bright_cyan: Some(rgba(0xebbcbaff).into()),terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()),terminal_ansi_black: Some(rgba(0x26233aff).into()),terminal_ansi_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_green: Some(rgba(0x30738fff).into()),terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_cyan: Some(rgba(0xebbcbaff).into()),terminal_ansi_white: Some(rgba(0xe0def4ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xeb6f92ff).into()),error: Some(rgba(0xeb6f92ff).into()),hidden: Some(rgba(0x908caaff).into()),warning: Some(rgba(0xf5c177ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0x30738fff).into()), ("punctuation".into(), rgba(0x908caaff).into()), ("punctuation".into(), rgba(0x30738fff).into()), ("punctuation".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0xf5c177ff).into()), ("something".into(), rgba(0x9ccfd8ff).into()), ("something".into(), rgba(0xebbcbaff).into())] }) } }, UserTheme { name: "Rose Moon".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x000000ff).into()),border_variant: Some(rgba(0x000000ff).into()),border_focused: Some(rgba(0x817c9c26).into()),border_selected: Some(rgba(0x000000ff).into()),border_transparent: Some(rgba(0x000000ff).into()),border_disabled: Some(rgba(0x000000ff).into()),elevated_surface_background: Some(rgba(0x2a273eff).into()),surface_background: Some(rgba(0x2a273eff).into()),background: Some(rgba(0x232136ff).into()),element_background: Some(rgba(0xea9a97ff).into()),element_hover: Some(rgba(0x817c9c14).into()),element_selected: Some(rgba(0x817c9c26).into()),drop_target_background: Some(rgba(0x2a273eff).into()),ghost_element_hover: Some(rgba(0x817c9c14).into()),text: Some(rgba(0xe0def4ff).into()),tab_inactive_background: Some(rgba(0x000000ff).into()),tab_active_background: Some(rgba(0x817c9c14).into()),editor_background: Some(rgba(0x232136ff).into()),editor_gutter_background: Some(rgba(0x232136ff).into()),editor_line_number: Some(rgba(0x908caaff).into()),editor_active_line_number: Some(rgba(0xe0def4ff).into()),terminal_ansi_bright_black: Some(rgba(0x908caaff).into()),terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_bright_green: Some(rgba(0x3d8fb0ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_bright_cyan: Some(rgba(0xea9a97ff).into()),terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()),terminal_ansi_black: Some(rgba(0x393552ff).into()),terminal_ansi_red: Some(rgba(0xeb6f92ff).into()),terminal_ansi_green: Some(rgba(0x3d8fb0ff).into()),terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()),terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()),terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()),terminal_ansi_cyan: Some(rgba(0xea9a97ff).into()),terminal_ansi_white: Some(rgba(0xe0def4ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xeb6f92ff).into()),error: Some(rgba(0xeb6f92ff).into()),hidden: Some(rgba(0x908caaff).into()),warning: Some(rgba(0xf5c177ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0x3d8fb0ff).into()), ("punctuation".into(), rgba(0x908caaff).into()), ("punctuation".into(), rgba(0x3d8fb0ff).into()), ("punctuation".into(), rgba(0x6e6a86ff).into()), ("something".into(), rgba(0xf5c177ff).into()), ("something".into(), rgba(0x9ccfd8ff).into()), ("something".into(), rgba(0xea9a97ff).into())] }) } }, UserTheme { name: "Rose Pine Dawn".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x000000ff).into()),border_variant: Some(rgba(0x000000ff).into()),border_focused: Some(rgba(0x6e6a8614).into()),border_selected: Some(rgba(0x000000ff).into()),border_transparent: Some(rgba(0x000000ff).into()),border_disabled: Some(rgba(0x000000ff).into()),elevated_surface_background: Some(rgba(0xfffaf3ff).into()),surface_background: Some(rgba(0xfffaf3ff).into()),background: Some(rgba(0xfaf4edff).into()),element_background: Some(rgba(0xd7827dff).into()),element_hover: Some(rgba(0x6e6a860d).into()),element_selected: Some(rgba(0x6e6a8614).into()),drop_target_background: Some(rgba(0xfffaf3ff).into()),ghost_element_hover: Some(rgba(0x6e6a860d).into()),text: Some(rgba(0x575279ff).into()),tab_inactive_background: Some(rgba(0x000000ff).into()),tab_active_background: Some(rgba(0x6e6a860d).into()),editor_background: Some(rgba(0xfaf4edff).into()),editor_gutter_background: Some(rgba(0xfaf4edff).into()),editor_line_number: Some(rgba(0x797593ff).into()),editor_active_line_number: Some(rgba(0x575279ff).into()),terminal_ansi_bright_black: Some(rgba(0x797593ff).into()),terminal_ansi_bright_red: Some(rgba(0xb3627aff).into()),terminal_ansi_bright_green: Some(rgba(0x276983ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xea9d34ff).into()),terminal_ansi_bright_blue: Some(rgba(0x55949fff).into()),terminal_ansi_bright_magenta: Some(rgba(0x9079a9ff).into()),terminal_ansi_bright_cyan: Some(rgba(0xd7827dff).into()),terminal_ansi_bright_white: Some(rgba(0x575279ff).into()),terminal_ansi_black: Some(rgba(0xf2e9e1ff).into()),terminal_ansi_red: Some(rgba(0xb3627aff).into()),terminal_ansi_green: Some(rgba(0x276983ff).into()),terminal_ansi_yellow: Some(rgba(0xea9d34ff).into()),terminal_ansi_blue: Some(rgba(0x55949fff).into()),terminal_ansi_magenta: Some(rgba(0x9079a9ff).into()),terminal_ansi_cyan: Some(rgba(0xd7827dff).into()),terminal_ansi_white: Some(rgba(0x575279ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xb3627aff).into()),error: Some(rgba(0xb3627aff).into()),hidden: Some(rgba(0x797593ff).into()),warning: Some(rgba(0xea9d34ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x9893a5ff).into()), ("something".into(), rgba(0x276983ff).into()), ("punctuation".into(), rgba(0x797593ff).into()), ("punctuation".into(), rgba(0x276983ff).into()), ("punctuation".into(), rgba(0x9893a5ff).into()), ("something".into(), rgba(0xea9d34ff).into()), ("something".into(), rgba(0x55949fff).into()), ("something".into(), rgba(0xd7827dff).into())] }) } }], +pub fn rose_pine() -> UserThemeFamily { + UserThemeFamily { + name: "Rose Pine".into(), + author: "Rosé Pine".into(), + themes: vec![ + UserTheme { + name: "Rose Pine".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x000000ff).into()), + border_variant: Some(rgba(0x000000ff).into()), + border_focused: Some(rgba(0x6e6a8633).into()), + border_selected: Some(rgba(0x000000ff).into()), + border_transparent: Some(rgba(0x000000ff).into()), + border_disabled: Some(rgba(0x000000ff).into()), + elevated_surface_background: Some(rgba(0x1f1d2eff).into()), + surface_background: Some(rgba(0x1f1d2eff).into()), + background: Some(rgba(0x191724ff).into()), + element_background: Some(rgba(0xebbcbaff).into()), + element_hover: Some(rgba(0x6e6a861a).into()), + element_selected: Some(rgba(0x6e6a8633).into()), + drop_target_background: Some(rgba(0x1f1d2eff).into()), + ghost_element_hover: Some(rgba(0x6e6a861a).into()), + text: Some(rgba(0xe0def4ff).into()), + tab_inactive_background: Some(rgba(0x000000ff).into()), + tab_active_background: Some(rgba(0x6e6a861a).into()), + editor_background: Some(rgba(0x191724ff).into()), + editor_gutter_background: Some(rgba(0x191724ff).into()), + editor_line_number: Some(rgba(0x908caaff).into()), + editor_active_line_number: Some(rgba(0xe0def4ff).into()), + terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), + terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), + terminal_ansi_bright_green: Some(rgba(0x30738fff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0xebbcbaff).into()), + terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()), + terminal_ansi_black: Some(rgba(0x26233aff).into()), + terminal_ansi_red: Some(rgba(0xeb6f92ff).into()), + terminal_ansi_green: Some(rgba(0x30738fff).into()), + terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()), + terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()), + terminal_ansi_cyan: Some(rgba(0xebbcbaff).into()), + terminal_ansi_white: Some(rgba(0xe0def4ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xeb6f92ff).into()), + error: Some(rgba(0xeb6f92ff).into()), + hidden: Some(rgba(0x908caaff).into()), + warning: Some(rgba(0xf5c177ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("punctuation".into(), rgba(0x6e6a86ff).into()), + ("comment".into(), rgba(0x6e6a86ff).into()), + ("something".into(), rgba(0xebbcbaff).into()), + ], + }), + }, + }, + UserTheme { + name: "Rose Moon".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x000000ff).into()), + border_variant: Some(rgba(0x000000ff).into()), + border_focused: Some(rgba(0x817c9c26).into()), + border_selected: Some(rgba(0x000000ff).into()), + border_transparent: Some(rgba(0x000000ff).into()), + border_disabled: Some(rgba(0x000000ff).into()), + elevated_surface_background: Some(rgba(0x2a273eff).into()), + surface_background: Some(rgba(0x2a273eff).into()), + background: Some(rgba(0x232136ff).into()), + element_background: Some(rgba(0xea9a97ff).into()), + element_hover: Some(rgba(0x817c9c14).into()), + element_selected: Some(rgba(0x817c9c26).into()), + drop_target_background: Some(rgba(0x2a273eff).into()), + ghost_element_hover: Some(rgba(0x817c9c14).into()), + text: Some(rgba(0xe0def4ff).into()), + tab_inactive_background: Some(rgba(0x000000ff).into()), + tab_active_background: Some(rgba(0x817c9c14).into()), + editor_background: Some(rgba(0x232136ff).into()), + editor_gutter_background: Some(rgba(0x232136ff).into()), + editor_line_number: Some(rgba(0x908caaff).into()), + editor_active_line_number: Some(rgba(0xe0def4ff).into()), + terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), + terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), + terminal_ansi_bright_green: Some(rgba(0x3d8fb0ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0xea9a97ff).into()), + terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()), + terminal_ansi_black: Some(rgba(0x393552ff).into()), + terminal_ansi_red: Some(rgba(0xeb6f92ff).into()), + terminal_ansi_green: Some(rgba(0x3d8fb0ff).into()), + terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()), + terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()), + terminal_ansi_cyan: Some(rgba(0xea9a97ff).into()), + terminal_ansi_white: Some(rgba(0xe0def4ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xeb6f92ff).into()), + error: Some(rgba(0xeb6f92ff).into()), + hidden: Some(rgba(0x908caaff).into()), + warning: Some(rgba(0xf5c177ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x6e6a86ff).into()), + ("something".into(), rgba(0xea9a97ff).into()), + ("punctuation".into(), rgba(0x6e6a86ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Rose Pine Dawn".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x000000ff).into()), + border_variant: Some(rgba(0x000000ff).into()), + border_focused: Some(rgba(0x6e6a8614).into()), + border_selected: Some(rgba(0x000000ff).into()), + border_transparent: Some(rgba(0x000000ff).into()), + border_disabled: Some(rgba(0x000000ff).into()), + elevated_surface_background: Some(rgba(0xfffaf3ff).into()), + surface_background: Some(rgba(0xfffaf3ff).into()), + background: Some(rgba(0xfaf4edff).into()), + element_background: Some(rgba(0xd7827dff).into()), + element_hover: Some(rgba(0x6e6a860d).into()), + element_selected: Some(rgba(0x6e6a8614).into()), + drop_target_background: Some(rgba(0xfffaf3ff).into()), + ghost_element_hover: Some(rgba(0x6e6a860d).into()), + text: Some(rgba(0x575279ff).into()), + tab_inactive_background: Some(rgba(0x000000ff).into()), + tab_active_background: Some(rgba(0x6e6a860d).into()), + editor_background: Some(rgba(0xfaf4edff).into()), + editor_gutter_background: Some(rgba(0xfaf4edff).into()), + editor_line_number: Some(rgba(0x797593ff).into()), + editor_active_line_number: Some(rgba(0x575279ff).into()), + terminal_ansi_bright_black: Some(rgba(0x797593ff).into()), + terminal_ansi_bright_red: Some(rgba(0xb3627aff).into()), + terminal_ansi_bright_green: Some(rgba(0x276983ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xea9d34ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x55949fff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x9079a9ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0xd7827dff).into()), + terminal_ansi_bright_white: Some(rgba(0x575279ff).into()), + terminal_ansi_black: Some(rgba(0xf2e9e1ff).into()), + terminal_ansi_red: Some(rgba(0xb3627aff).into()), + terminal_ansi_green: Some(rgba(0x276983ff).into()), + terminal_ansi_yellow: Some(rgba(0xea9d34ff).into()), + terminal_ansi_blue: Some(rgba(0x55949fff).into()), + terminal_ansi_magenta: Some(rgba(0x9079a9ff).into()), + terminal_ansi_cyan: Some(rgba(0xd7827dff).into()), + terminal_ansi_white: Some(rgba(0x575279ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xb3627aff).into()), + error: Some(rgba(0xb3627aff).into()), + hidden: Some(rgba(0x797593ff).into()), + warning: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x9893a5ff).into()), + ("punctuation".into(), rgba(0x9893a5ff).into()), + ("something".into(), rgba(0xd7827dff).into()), + ], + }), + }, + }, + ], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index e3a15deb48..e970dd7b0c 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -1,18 +1,125 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn solarized() -> UserThemeFamily { - UserThemeFamily { - name: "Solarized".into(), - author: "Ethan Schoonover (altercation)".into(), - themes: vec![UserTheme { name: "Solarized Dark".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0x003847ff).into()),border_variant: Some(rgba(0x003847ff).into()),border_focused: Some(rgba(0x29a19899).into()),border_selected: Some(rgba(0x003847ff).into()),border_transparent: Some(rgba(0x003847ff).into()),border_disabled: Some(rgba(0x003847ff).into()),background: Some(rgba(0x002a35ff).into()),element_background: Some(rgba(0x29a19899).into()),element_hover: Some(rgba(0x004353aa).into()),element_selected: Some(rgba(0x005a6fff).into()),drop_target_background: Some(rgba(0x00435388).into()),ghost_element_hover: Some(rgba(0x004353aa).into()),tab_inactive_background: Some(rgba(0x003f51ff).into()),tab_active_background: Some(rgba(0x002a36ff).into()),editor_background: Some(rgba(0x002a35ff).into()),editor_gutter_background: Some(rgba(0x002a35ff).into()),editor_line_number: Some(rgba(0x566c74ff).into()),terminal_ansi_bright_black: Some(rgba(0x586e75ff).into()),terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()),terminal_ansi_bright_green: Some(rgba(0x859900ff).into()),terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()),terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()),terminal_ansi_bright_white: Some(rgba(0x839496ff).into()),terminal_ansi_black: Some(rgba(0x063642ff).into()),terminal_ansi_red: Some(rgba(0xdc312eff).into()),terminal_ansi_green: Some(rgba(0x859900ff).into()),terminal_ansi_yellow: Some(rgba(0xb58800ff).into()),terminal_ansi_blue: Some(rgba(0x258ad2ff).into()),terminal_ansi_magenta: Some(rgba(0xd33582ff).into()),terminal_ansi_cyan: Some(rgba(0x29a198ff).into()),terminal_ansi_white: Some(rgba(0x839496ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xffeaeaff).into()),error: Some(rgba(0xffeaeaff).into()),hidden: Some(rgba(0x93a1a1ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x657b83ff).into()), ("something".into(), rgba(0x29a198ff).into()), ("something".into(), rgba(0x93a1a1ff).into()), ("punctuation".into(), rgba(0x859900ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0x657b83ff).into())] }) } }, UserTheme { name: "Solarized Light".into(), appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border: Some(rgba(0xddd6c1ff).into()),border_variant: Some(rgba(0xddd6c1ff).into()),border_focused: Some(rgba(0xd3af86ff).into()),border_selected: Some(rgba(0xddd6c1ff).into()),border_transparent: Some(rgba(0xddd6c1ff).into()),border_disabled: Some(rgba(0xddd6c1ff).into()),background: Some(rgba(0xfdf6e3ff).into()),element_background: Some(rgba(0xab9d56ff).into()),element_hover: Some(rgba(0xdec98744).into()),element_selected: Some(rgba(0xdec987ff).into()),ghost_element_hover: Some(rgba(0xdec98744).into()),tab_inactive_background: Some(rgba(0xd3cbb7ff).into()),tab_active_background: Some(rgba(0xfdf6e3ff).into()),editor_background: Some(rgba(0xfdf6e3ff).into()),editor_gutter_background: Some(rgba(0xfdf6e3ff).into()),editor_line_number: Some(rgba(0x9ca8a6ff).into()),terminal_ansi_bright_black: Some(rgba(0x657b83ff).into()),terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()),terminal_ansi_bright_green: Some(rgba(0x859900ff).into()),terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()),terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()),terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()),terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()),terminal_ansi_bright_white: Some(rgba(0xeee8d5ff).into()),terminal_ansi_black: Some(rgba(0x657b83ff).into()),terminal_ansi_red: Some(rgba(0xdc312eff).into()),terminal_ansi_green: Some(rgba(0x859900ff).into()),terminal_ansi_yellow: Some(rgba(0xb58800ff).into()),terminal_ansi_blue: Some(rgba(0x258ad2ff).into()),terminal_ansi_magenta: Some(rgba(0xd33582ff).into()),terminal_ansi_cyan: Some(rgba(0x29a198ff).into()),terminal_ansi_white: Some(rgba(0xeee8d5ff).into()),..Default::default()}, status: StatusColorsRefinement {hidden: Some(rgba(0x586e75ff).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x93a1a1ff).into()), ("something".into(), rgba(0x29a198ff).into()), ("something".into(), rgba(0x063642ff).into()), ("punctuation".into(), rgba(0x859900ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0xd30001ff).into()), ("punctuation".into(), rgba(0x93a1a1ff).into()), ("punctuation".into(), rgba(0x93a1a1ff).into()), ("something".into(), rgba(0x657b83ff).into())] }) } }], +pub fn solarized() -> UserThemeFamily { + UserThemeFamily { + name: "Solarized".into(), + author: "Ethan Schoonover (altercation)".into(), + themes: vec![ + UserTheme { + name: "Solarized Dark".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0x003847ff).into()), + border_variant: Some(rgba(0x003847ff).into()), + border_focused: Some(rgba(0x29a19899).into()), + border_selected: Some(rgba(0x003847ff).into()), + border_transparent: Some(rgba(0x003847ff).into()), + border_disabled: Some(rgba(0x003847ff).into()), + background: Some(rgba(0x002a35ff).into()), + element_background: Some(rgba(0x29a19899).into()), + element_hover: Some(rgba(0x004353aa).into()), + element_selected: Some(rgba(0x005a6fff).into()), + drop_target_background: Some(rgba(0x00435388).into()), + ghost_element_hover: Some(rgba(0x004353aa).into()), + tab_inactive_background: Some(rgba(0x003f51ff).into()), + tab_active_background: Some(rgba(0x002a36ff).into()), + editor_background: Some(rgba(0x002a35ff).into()), + editor_gutter_background: Some(rgba(0x002a35ff).into()), + editor_line_number: Some(rgba(0x566c74ff).into()), + terminal_ansi_bright_black: Some(rgba(0x586e75ff).into()), + terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), + terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()), + terminal_ansi_bright_white: Some(rgba(0x839496ff).into()), + terminal_ansi_black: Some(rgba(0x063642ff).into()), + terminal_ansi_red: Some(rgba(0xdc312eff).into()), + terminal_ansi_green: Some(rgba(0x859900ff).into()), + terminal_ansi_yellow: Some(rgba(0xb58800ff).into()), + terminal_ansi_blue: Some(rgba(0x258ad2ff).into()), + terminal_ansi_magenta: Some(rgba(0xd33582ff).into()), + terminal_ansi_cyan: Some(rgba(0x29a198ff).into()), + terminal_ansi_white: Some(rgba(0x839496ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xffeaeaff).into()), + error: Some(rgba(0xffeaeaff).into()), + hidden: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x657b83ff).into()), + ("something".into(), rgba(0x93a1a1ff).into()), + ("punctuation".into(), rgba(0x657b83ff).into()), + ], + }), + }, + }, + UserTheme { + name: "Solarized Light".into(), + appearance: Appearance::Light, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border: Some(rgba(0xddd6c1ff).into()), + border_variant: Some(rgba(0xddd6c1ff).into()), + border_focused: Some(rgba(0xd3af86ff).into()), + border_selected: Some(rgba(0xddd6c1ff).into()), + border_transparent: Some(rgba(0xddd6c1ff).into()), + border_disabled: Some(rgba(0xddd6c1ff).into()), + background: Some(rgba(0xfdf6e3ff).into()), + element_background: Some(rgba(0xab9d56ff).into()), + element_hover: Some(rgba(0xdec98744).into()), + element_selected: Some(rgba(0xdec987ff).into()), + ghost_element_hover: Some(rgba(0xdec98744).into()), + tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), + tab_active_background: Some(rgba(0xfdf6e3ff).into()), + editor_background: Some(rgba(0xfdf6e3ff).into()), + editor_gutter_background: Some(rgba(0xfdf6e3ff).into()), + editor_line_number: Some(rgba(0x9ca8a6ff).into()), + terminal_ansi_bright_black: Some(rgba(0x657b83ff).into()), + terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), + terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()), + terminal_ansi_bright_white: Some(rgba(0xeee8d5ff).into()), + terminal_ansi_black: Some(rgba(0x657b83ff).into()), + terminal_ansi_red: Some(rgba(0xdc312eff).into()), + terminal_ansi_green: Some(rgba(0x859900ff).into()), + terminal_ansi_yellow: Some(rgba(0xb58800ff).into()), + terminal_ansi_blue: Some(rgba(0x258ad2ff).into()), + terminal_ansi_magenta: Some(rgba(0xd33582ff).into()), + terminal_ansi_cyan: Some(rgba(0x29a198ff).into()), + terminal_ansi_white: Some(rgba(0xeee8d5ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + hidden: Some(rgba(0x586e75ff).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x93a1a1ff).into()), + ("punctuation".into(), rgba(0x93a1a1ff).into()), + ("something".into(), rgba(0x657b83ff).into()), + ], + }), + }, + }, + ], + } } - } - \ No newline at end of file diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index ad4677c799..2eef9e908f 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -1,18 +1,62 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. - // This file was generated by the `theme_importer`. - // Be careful when modifying it by hand. +use gpui::rgba; - use gpui::rgba; +use crate::{ + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, +}; - use crate::{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, - }; - - pub fn synthwave_84() -> UserThemeFamily { - UserThemeFamily { - name: "Synthwave 84".into(), - author: "Robb Owen (robb0wen)".into(), - themes: vec![UserTheme { name: "Synthwave 84".into(), appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement {border_focused: Some(rgba(0x1f212bff).into()),background: Some(rgba(0x252334ff).into()),element_background: Some(rgba(0x614d85ff).into()),element_hover: Some(rgba(0x37294d99).into()),element_selected: Some(rgba(0xffffff20).into()),drop_target_background: Some(rgba(0x34294f66).into()),ghost_element_hover: Some(rgba(0x37294d99).into()),text: Some(rgba(0xffffffff).into()),tab_inactive_background: Some(rgba(0x252334ff).into()),editor_background: Some(rgba(0x252334ff).into()),editor_gutter_background: Some(rgba(0x252334ff).into()),editor_line_number: Some(rgba(0xffffff73).into()),terminal_ansi_bright_red: Some(rgba(0xfe444fff).into()),terminal_ansi_bright_green: Some(rgba(0x71f1b7ff).into()),terminal_ansi_bright_yellow: Some(rgba(0xfede5cff).into()),terminal_ansi_bright_blue: Some(rgba(0x02edf9ff).into()),terminal_ansi_bright_magenta: Some(rgba(0xff7ddaff).into()),terminal_ansi_bright_cyan: Some(rgba(0x02edf9ff).into()),terminal_ansi_red: Some(rgba(0xfe444fff).into()),terminal_ansi_green: Some(rgba(0x71f1b7ff).into()),terminal_ansi_yellow: Some(rgba(0xf3e70fff).into()),terminal_ansi_blue: Some(rgba(0x02edf9ff).into()),terminal_ansi_magenta: Some(rgba(0xff7ddaff).into()),terminal_ansi_cyan: Some(rgba(0x02edf9ff).into()),..Default::default()}, status: StatusColorsRefinement {deleted: Some(rgba(0xfe444fff).into()),error: Some(rgba(0xfe444fff).into()),warning: Some(rgba(0x71f1b7bb).into()),..Default::default()}, syntax: Some(UserSyntaxTheme { highlights: vec![("comment".into(), rgba(0x848bbdff).into()), ("something".into(), rgba(0xff7ddaff).into()), ("something".into(), rgba(0xf97d71ff).into()), ("punctuation".into(), rgba(0x35f9f5ff).into()), ("something".into(), rgba(0xfe444fff).into()), ("punctuation".into(), rgba(0xfede5cff).into())] }) } }], +pub fn synthwave_84() -> UserThemeFamily { + UserThemeFamily { + name: "Synthwave 84".into(), + author: "Robb Owen (robb0wen)".into(), + themes: vec![UserTheme { + name: "Synthwave 84".into(), + appearance: Appearance::Dark, + styles: UserThemeStylesRefinement { + colors: ThemeColorsRefinement { + border_focused: Some(rgba(0x1f212bff).into()), + background: Some(rgba(0x252334ff).into()), + element_background: Some(rgba(0x614d85ff).into()), + element_hover: Some(rgba(0x37294d99).into()), + element_selected: Some(rgba(0xffffff20).into()), + drop_target_background: Some(rgba(0x34294f66).into()), + ghost_element_hover: Some(rgba(0x37294d99).into()), + text: Some(rgba(0xffffffff).into()), + tab_inactive_background: Some(rgba(0x252334ff).into()), + editor_background: Some(rgba(0x252334ff).into()), + editor_gutter_background: Some(rgba(0x252334ff).into()), + editor_line_number: Some(rgba(0xffffff73).into()), + terminal_ansi_bright_red: Some(rgba(0xfe444fff).into()), + terminal_ansi_bright_green: Some(rgba(0x71f1b7ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfede5cff).into()), + terminal_ansi_bright_blue: Some(rgba(0x02edf9ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff7ddaff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x02edf9ff).into()), + terminal_ansi_red: Some(rgba(0xfe444fff).into()), + terminal_ansi_green: Some(rgba(0x71f1b7ff).into()), + terminal_ansi_yellow: Some(rgba(0xf3e70fff).into()), + terminal_ansi_blue: Some(rgba(0x02edf9ff).into()), + terminal_ansi_magenta: Some(rgba(0xff7ddaff).into()), + terminal_ansi_cyan: Some(rgba(0x02edf9ff).into()), + ..Default::default() + }, + status: StatusColorsRefinement { + deleted: Some(rgba(0xfe444fff).into()), + error: Some(rgba(0xfe444fff).into()), + warning: Some(rgba(0x71f1b7bb).into()), + ..Default::default() + }, + syntax: Some(UserSyntaxTheme { + highlights: vec![ + ("comment".into(), rgba(0x848bbdff).into()), + ("something".into(), rgba(0xfe444fff).into()), + ("punctuation".into(), rgba(0xfede5cff).into()), + ], + }), + }, + }], + } } - } - \ No newline at end of file diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 531d4913fa..a92e753f85 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -28,7 +28,7 @@ struct FamilyMetadata { pub themes: Vec, } -#[derive(Debug, Deserialize)] +#[derive(Debug, Clone, Copy, Deserialize)] #[serde(rename_all = "snake_case")] pub enum ThemeAppearanceJson { Light, diff --git a/crates/theme_importer/src/vscode.rs b/crates/theme_importer/src/vscode.rs index 9ebb0c7b52..10d1a9c05c 100644 --- a/crates/theme_importer/src/vscode.rs +++ b/crates/theme_importer/src/vscode.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use anyhow::Result; use gpui::{Hsla, Rgba}; use serde::Deserialize; @@ -439,9 +441,34 @@ impl VsCodeThemeConverter { pub fn convert(self) -> Result { let appearance = self.theme_metadata.appearance.into(); + let status_color_refinements = self.convert_status_colors()?; + let theme_colors_refinements = self.convert_theme_colors()?; + + let mut highlight_styles = HashMap::new(); + + for token_color in self.theme.token_colors { + highlight_styles.extend(token_color.highlight_styles()?); + } + + let syntax_theme = UserSyntaxTheme { + highlights: highlight_styles.into_iter().collect(), + }; + + Ok(UserTheme { + name: self.theme_metadata.name.into(), + appearance, + styles: UserThemeStylesRefinement { + colors: theme_colors_refinements, + status: status_color_refinements, + syntax: Some(syntax_theme), + }, + }) + } + + fn convert_status_colors(&self) -> Result { let vscode_colors = &self.theme.colors; - let status_color_refinements = StatusColorsRefinement { + Ok(StatusColorsRefinement { // conflict: None, // created: None, deleted: vscode_colors @@ -466,9 +493,13 @@ impl VsCodeThemeConverter { .as_ref() .traverse(|color| try_parse_color(&color))?, ..Default::default() - }; + }) + } - let theme_colors_refinements = ThemeColorsRefinement { + fn convert_theme_colors(&self) -> Result { + let vscode_colors = &self.theme.colors; + + Ok(ThemeColorsRefinement { border: vscode_colors .panel_border .as_ref() @@ -622,26 +653,6 @@ impl VsCodeThemeConverter { .as_ref() .traverse(|color| try_parse_color(&color))?, ..Default::default() - }; - - let mut highlight_styles = Vec::new(); - - for token_color in self.theme.token_colors { - highlight_styles.extend(token_color.highlight_styles()?); - } - - let syntax_theme = UserSyntaxTheme { - highlights: highlight_styles, - }; - - Ok(UserTheme { - name: self.theme_metadata.name.into(), - appearance, - styles: UserThemeStylesRefinement { - colors: theme_colors_refinements, - status: status_color_refinements, - syntax: Some(syntax_theme), - }, }) } } diff --git a/crates/theme_importer/src/vscode_syntax.rs b/crates/theme_importer/src/vscode_syntax.rs index 7891c43235..dc906bbc4b 100644 --- a/crates/theme_importer/src/vscode_syntax.rs +++ b/crates/theme_importer/src/vscode_syntax.rs @@ -2,11 +2,14 @@ // Map tokenColors style to HighlightStyle (fontStyle, foreground, background) // Take in the scopes from the tokenColors and try to match each to our HighlightStyles +use std::collections::HashMap; + use anyhow::Result; use serde::Deserialize; use theme::UserHighlightStyle; -use crate::{util::Traverse, vscode::try_parse_color}; +use crate::util::Traverse; +use crate::vscode::try_parse_color; #[derive(Debug, Deserialize)] #[serde(untagged)] @@ -30,13 +33,13 @@ pub struct VsCodeTokenColorSettings { } impl VsCodeTokenColor { - pub fn highlight_styles(&self) -> Result> { - let mut highlight_styles = Vec::new(); + pub fn highlight_styles(&self) -> Result> { + let mut highlight_styles = HashMap::new(); let scope = match self.scope { Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()], Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(), - None => return Ok(Vec::new()), + None => return Ok(HashMap::new()), }; for scope in &scope { @@ -56,7 +59,7 @@ impl VsCodeTokenColor { continue; } - highlight_styles.push((syntax_token, highlight_style)); + highlight_styles.insert(syntax_token, highlight_style); } Ok(highlight_styles) From ff19a0ca1816ae95837a7967b4494861fd2441f8 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 9 Nov 2023 12:49:16 -0500 Subject: [PATCH 08/15] Add `importing-themes` feature flag to `theme2` crate When this feature is set the `themes` module won't be compiled. This allows us to run the `theme_importer` even when the `themes` module has compile errors in it. --- crates/theme2/Cargo.toml | 1 + crates/theme2/src/registry.rs | 4 +++- crates/theme2/src/theme2.rs | 6 ++++-- crates/theme_importer/Cargo.toml | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/theme2/Cargo.toml b/crates/theme2/Cargo.toml index 45ba4587ba..22bea20e16 100644 --- a/crates/theme2/Cargo.toml +++ b/crates/theme2/Cargo.toml @@ -6,6 +6,7 @@ publish = false [features] default = ["stories"] +importing-themes = [] stories = ["dep:itertools"] test-support = [ "gpui/test-support", diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index d95283fc12..49546973c8 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -83,7 +83,9 @@ impl Default for ThemeRegistry { }; this.insert_theme_families([zed_pro_family()]); - // this.insert_user_theme_familes(crate::all_user_themes()); + + #[cfg(not(feature = "importing-themes"))] + this.insert_user_theme_familes(crate::all_user_themes()); this } diff --git a/crates/theme2/src/theme2.rs b/crates/theme2/src/theme2.rs index 16e0db09fa..7e2085de4e 100644 --- a/crates/theme2/src/theme2.rs +++ b/crates/theme2/src/theme2.rs @@ -6,7 +6,8 @@ mod registry; mod scale; mod settings; mod syntax; -// mod themes; +#[cfg(not(feature = "importing-themes"))] +mod themes; mod user_theme; use std::sync::Arc; @@ -20,7 +21,8 @@ pub use registry::*; pub use scale::*; pub use settings::*; pub use syntax::*; -// pub use themes::*; +#[cfg(not(feature = "importing-themes"))] +pub use themes::*; pub use user_theme::*; use gpui::{AppContext, Hsla, SharedString}; diff --git a/crates/theme_importer/Cargo.toml b/crates/theme_importer/Cargo.toml index 1c86349e96..1109a60977 100644 --- a/crates/theme_importer/Cargo.toml +++ b/crates/theme_importer/Cargo.toml @@ -14,5 +14,5 @@ log.workspace = true rust-embed.workspace = true serde.workspace = true simplelog = "0.9" -theme = { package = "theme2", path = "../theme2" } +theme = { package = "theme2", path = "../theme2", features = ["importing-themes"] } uuid.workspace = true From 34e31fd4895b42f0dba750562d5a2be210bd02a4 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 9 Nov 2023 12:59:20 -0500 Subject: [PATCH 09/15] Properly emit `UserHighlightStyle`s --- crates/theme2/src/themes/andromeda.rs | 52 +++- crates/theme2/src/themes/ayu.rs | 76 +++++- crates/theme2/src/themes/dracula.rs | 28 ++- crates/theme2/src/themes/gruvbox.rs | 148 ++++++++++-- crates/theme2/src/themes/night_owl.rs | 52 +++- crates/theme2/src/themes/nord.rs | 28 ++- crates/theme2/src/themes/notctis.rs | 268 ++++++++++++++++++--- crates/theme2/src/themes/palenight.rs | 76 +++++- crates/theme2/src/themes/rose_pine.rs | 76 +++++- crates/theme2/src/themes/solarized.rs | 52 +++- crates/theme2/src/themes/synthwave_84.rs | 28 ++- crates/theme_importer/src/main.rs | 3 +- crates/theme_importer/src/theme_printer.rs | 29 ++- 13 files changed, 786 insertions(+), 130 deletions(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 00973f0f51..e48f58a7a2 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn andromeda() -> UserThemeFamily { @@ -61,9 +61,27 @@ pub fn andromeda() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x9fa0a6cc).into()), - ("something".into(), rgba(0x95e072ff).into()), - ("punctuation".into(), rgba(0x95e072ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x95e072ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x95e072ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x9fa0a6cc).into()), + ..Default::default() + }, + ), ], }), }, @@ -116,9 +134,27 @@ pub fn andromeda() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0x95e072ff).into()), - ("comment".into(), rgba(0x9fa0a6cc).into()), - ("something".into(), rgba(0x95e072ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x95e072ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x95e072ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x9fa0a6cc).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 47d50d96c4..0401ff46a2 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn ayu() -> UserThemeFamily { @@ -65,9 +65,27 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0xfa8d3eff).into()), - ("punctuation".into(), rgba(0x787b8099).into()), - ("comment".into(), rgba(0x787b8099).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xfa8d3eff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x787b8099).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x787b8099).into()), + ..Default::default() + }, + ), ], }), }, @@ -124,9 +142,27 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0xffad65ff).into()), - ("comment".into(), rgba(0xb8cfe680).into()), - ("punctuation".into(), rgba(0xb8cfe680).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xb8cfe680).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xffad65ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0xb8cfe680).into()), + ..Default::default() + }, + ), ], }), }, @@ -183,9 +219,27 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0xabb5be8c).into()), - ("something".into(), rgba(0xff8f3fff).into()), - ("punctuation".into(), rgba(0xabb5be8c).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0xabb5be8c).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xabb5be8c).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xff8f3fff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index d8b97589ab..716ece161e 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn dracula() -> UserThemeFamily { @@ -66,9 +66,27 @@ pub fn dracula() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x6272a4ff).into()), - ("something".into(), rgba(0xf8f8f2ff).into()), - ("punctuation".into(), rgba(0xff79c6ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x6272a4ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xff79c6ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xf8f8f2ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index a7a3a42f19..1d4da9922e 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn gruvbox() -> UserThemeFamily { @@ -64,9 +64,27 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x928374ff).into()), - ("something".into(), rgba(0x83a598ff).into()), - ("punctuation".into(), rgba(0x83a598ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -122,9 +140,27 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x83a598ff).into()), - ("comment".into(), rgba(0x928374ff).into()), - ("punctuation".into(), rgba(0x83a598ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -180,9 +216,27 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x928374ff).into()), - ("something".into(), rgba(0x83a598ff).into()), - ("punctuation".into(), rgba(0x83a598ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -238,9 +292,27 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x928374ff).into()), - ("something".into(), rgba(0x066578ff).into()), - ("punctuation".into(), rgba(0x066578ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x066578ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x066578ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -296,9 +368,27 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x066578ff).into()), - ("comment".into(), rgba(0x928374ff).into()), - ("punctuation".into(), rgba(0x066578ff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x066578ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x066578ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -354,9 +444,27 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x066578ff).into()), - ("comment".into(), rgba(0x928374ff).into()), - ("punctuation".into(), rgba(0x066578ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x066578ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x066578ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index a0a11b9aa1..2d5b1bd26b 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn night_owl() -> UserThemeFamily { @@ -65,9 +65,27 @@ pub fn night_owl() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x637777ff).into()), - ("something".into(), rgba(0x7fcac3ff).into()), - ("punctuation".into(), rgba(0xd3413dff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xd3413dff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x637777ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x7fcac3ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -125,9 +143,27 @@ pub fn night_owl() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x989fb1ff).into()), - ("something".into(), rgba(0x0b969bff).into()), - ("punctuation".into(), rgba(0xd3413dff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x0b969bff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x989fb1ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xd3413dff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index eb0deed4f0..1a6e942b1f 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn nord() -> UserThemeFamily { @@ -66,9 +66,27 @@ pub fn nord() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x606e87ff).into()), - ("punctuation".into(), rgba(0x81a1c1ff).into()), - ("something".into(), rgba(0xa3be8cff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xa3be8cff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x606e87ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x81a1c1ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index 437fa98298..cab9f39530 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn notctis() -> UserThemeFamily { @@ -67,9 +67,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x5888a5ff).into()), - ("something".into(), rgba(0x49e9a6ff).into()), - ("punctuation".into(), rgba(0x49ace9ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x5888a5ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -128,9 +146,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x8b737bff).into()), - ("punctuation".into(), rgba(0x49ace9ff).into()), - ("something".into(), rgba(0x49e9a6ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x8b737bff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -189,9 +225,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0x0094f0ff).into()), - ("something".into(), rgba(0x00b368ff).into()), - ("comment".into(), rgba(0x8ca6a6ff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x0094f0ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -250,9 +304,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x9995b7ff).into()), - ("punctuation".into(), rgba(0x0094f0ff).into()), - ("something".into(), rgba(0x00b368ff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x9995b7ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x0094f0ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -311,9 +383,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0x0094f0ff).into()), - ("comment".into(), rgba(0x8ca6a6ff).into()), - ("something".into(), rgba(0x00b368ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x0094f0ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -372,9 +462,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0x5897bfff).into()), - ("comment".into(), rgba(0x5d7787ff).into()), - ("something".into(), rgba(0x72c09fff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x72c09fff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x5d7787ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x5897bfff).into()), + ..Default::default() + }, + ), ], }), }, @@ -433,9 +541,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x5b858bff).into()), - ("punctuation".into(), rgba(0x49ace9ff).into()), - ("something".into(), rgba(0x49e9a6ff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x5b858bff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -494,9 +620,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x49e9a6ff).into()), - ("comment".into(), rgba(0x5b858bff).into()), - ("punctuation".into(), rgba(0x49ace9ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x5b858bff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -555,9 +699,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x49e9a6ff).into()), - ("punctuation".into(), rgba(0x49ace9ff).into()), - ("comment".into(), rgba(0x5b858bff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x5b858bff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -616,9 +778,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0x49ace9ff).into()), - ("comment".into(), rgba(0x716b93ff).into()), - ("something".into(), rgba(0x49e9a6ff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x716b93ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -677,9 +857,27 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x49e9a6ff).into()), - ("comment".into(), rgba(0x7e6499ff).into()), - ("punctuation".into(), rgba(0x49ace9ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x7e6499ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x49ace9ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 679fe1514c..94e0024782 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn palenight() -> UserThemeFamily { @@ -65,9 +65,27 @@ pub fn palenight() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0xd3413dff).into()), - ("something".into(), rgba(0x7fcac3ff).into()), - ("comment".into(), rgba(0x687097ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x687097ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x7fcac3ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xd3413dff).into()), + ..Default::default() + }, + ), ], }), }, @@ -124,9 +142,27 @@ pub fn palenight() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x7fcac3ff).into()), - ("comment".into(), rgba(0x687097ff).into()), - ("punctuation".into(), rgba(0xd3413dff).into()), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x7fcac3ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x687097ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xd3413dff).into()), + ..Default::default() + }, + ), ], }), }, @@ -183,9 +219,27 @@ pub fn palenight() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("something".into(), rgba(0x7fcac3ff).into()), - ("comment".into(), rgba(0x687097ff).into()), - ("punctuation".into(), rgba(0xd3413dff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x687097ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x7fcac3ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xd3413dff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 353fcd10d3..6d5f6b256d 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn rose_pine() -> UserThemeFamily { @@ -66,9 +66,27 @@ pub fn rose_pine() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("punctuation".into(), rgba(0x6e6a86ff).into()), - ("comment".into(), rgba(0x6e6a86ff).into()), - ("something".into(), rgba(0xebbcbaff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xebbcbaff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -126,9 +144,27 @@ pub fn rose_pine() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x6e6a86ff).into()), - ("something".into(), rgba(0xea9a97ff).into()), - ("punctuation".into(), rgba(0x6e6a86ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xea9a97ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -186,9 +222,27 @@ pub fn rose_pine() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x9893a5ff).into()), - ("punctuation".into(), rgba(0x9893a5ff).into()), - ("something".into(), rgba(0xd7827dff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xd7827dff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index e970dd7b0c..538beff8ba 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn solarized() -> UserThemeFamily { @@ -61,9 +61,27 @@ pub fn solarized() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x657b83ff).into()), - ("something".into(), rgba(0x93a1a1ff).into()), - ("punctuation".into(), rgba(0x657b83ff).into()), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -113,9 +131,27 @@ pub fn solarized() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x93a1a1ff).into()), - ("punctuation".into(), rgba(0x93a1a1ff).into()), - ("something".into(), rgba(0x657b83ff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 2eef9e908f..eec0fe4e14 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -4,8 +4,8 @@ use gpui::rgba; use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserTheme, UserThemeFamily, - UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn synthwave_84() -> UserThemeFamily { @@ -51,9 +51,27 @@ pub fn synthwave_84() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ("comment".into(), rgba(0x848bbdff).into()), - ("something".into(), rgba(0xfe444fff).into()), - ("punctuation".into(), rgba(0xfede5cff).into()), + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x848bbdff).into()), + ..Default::default() + }, + ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xfede5cff).into()), + ..Default::default() + }, + ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xfe444fff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index a92e753f85..052ee5cf3a 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -160,7 +160,8 @@ fn main() -> Result<()> { use gpui::rgba; use crate::{{ - Appearance, ThemeColorsRefinement, StatusColorsRefinement, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, }}; pub fn {theme_family_slug}() -> UserThemeFamily {{ diff --git a/crates/theme_importer/src/theme_printer.rs b/crates/theme_importer/src/theme_printer.rs index e114584d83..f99030b4aa 100644 --- a/crates/theme_importer/src/theme_printer.rs +++ b/crates/theme_importer/src/theme_printer.rs @@ -3,7 +3,8 @@ use std::fmt::{self, Debug}; use gpui::{Hsla, Rgba}; use theme::{ Appearance, PlayerColor, PlayerColors, StatusColorsRefinement, SystemColors, - ThemeColorsRefinement, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, + ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, + UserThemeStylesRefinement, }; struct RawSyntaxPrinter<'a>(&'a str); @@ -350,7 +351,7 @@ impl<'a> Debug for UserSyntaxThemePrinter<'a> { .highlights .iter() .map(|(token, highlight)| { - (IntoPrinter(token), HslaPrinter(highlight.color.unwrap())) + (IntoPrinter(token), UserHighlightStylePrinter(&highlight)) }) .collect(), ), @@ -358,3 +359,27 @@ impl<'a> Debug for UserSyntaxThemePrinter<'a> { .finish() } } + +pub struct UserHighlightStylePrinter<'a>(&'a UserHighlightStyle); + +impl<'a> Debug for UserHighlightStylePrinter<'a> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let fields = vec![("color", self.0.color)]; + + f.write_str("UserHighlightStyle {")?; + + for (field_name, value) in fields { + if let Some(color) = value { + f.write_str(field_name)?; + f.write_str(": ")?; + f.write_str("Some(")?; + HslaPrinter(color).fmt(f)?; + f.write_str(")")?; + f.write_str(",")?; + } + } + + f.write_str("..Default::default()")?; + f.write_str("}") + } +} From 1f0fccc353da22c38244940f738e5ae65db89f22 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 9 Nov 2023 13:07:32 -0500 Subject: [PATCH 10/15] Reorganize `theme_importer` --- crates/theme_importer/src/main.rs | 3 +- crates/theme_importer/src/vscode.rs | 663 +----------------- crates/theme_importer/src/vscode/converter.rs | 248 +++++++ .../{vscode_syntax.rs => vscode/syntax.rs} | 0 crates/theme_importer/src/vscode/theme.rs | 412 +++++++++++ 5 files changed, 667 insertions(+), 659 deletions(-) create mode 100644 crates/theme_importer/src/vscode/converter.rs rename crates/theme_importer/src/{vscode_syntax.rs => vscode/syntax.rs} (100%) create mode 100644 crates/theme_importer/src/vscode/theme.rs diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 052ee5cf3a..02ff4d834e 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -1,7 +1,6 @@ mod theme_printer; mod util; mod vscode; -mod vscode_syntax; use std::fs::{self, File}; use std::io::Write; @@ -16,10 +15,10 @@ use log::LevelFilter; use serde::Deserialize; use simplelog::SimpleLogger; use theme::{Appearance, UserThemeFamily}; -use vscode::VsCodeThemeConverter; use crate::theme_printer::UserThemeFamilyPrinter; use crate::vscode::VsCodeTheme; +use crate::vscode::VsCodeThemeConverter; #[derive(Debug, Deserialize)] struct FamilyMetadata { diff --git a/crates/theme_importer/src/vscode.rs b/crates/theme_importer/src/vscode.rs index 10d1a9c05c..6933bbaa8f 100644 --- a/crates/theme_importer/src/vscode.rs +++ b/crates/theme_importer/src/vscode.rs @@ -1,658 +1,7 @@ -use std::collections::HashMap; +mod converter; +mod syntax; +mod theme; -use anyhow::Result; -use gpui::{Hsla, Rgba}; -use serde::Deserialize; -use theme::{ - StatusColorsRefinement, ThemeColorsRefinement, UserSyntaxTheme, UserTheme, - UserThemeStylesRefinement, -}; - -use crate::util::Traverse; -use crate::vscode_syntax::VsCodeTokenColor; -use crate::ThemeMetadata; - -#[derive(Deserialize, Debug)] -pub struct VsCodeTheme { - #[serde(rename = "$schema")] - pub schema: Option, - pub name: Option, - pub author: Option, - pub maintainers: Option>, - #[serde(rename = "semanticClass")] - pub semantic_class: Option, - #[serde(rename = "semanticHighlighting")] - pub semantic_highlighting: Option, - pub colors: VsCodeColors, - #[serde(rename = "tokenColors")] - pub token_colors: Vec, -} - -#[derive(Debug, Deserialize)] -pub struct VsCodeColors { - #[serde(rename = "terminal.background")] - pub terminal_background: Option, - #[serde(rename = "terminal.foreground")] - pub terminal_foreground: Option, - #[serde(rename = "terminal.ansiBrightBlack")] - pub terminal_ansi_bright_black: Option, - #[serde(rename = "terminal.ansiBrightRed")] - pub terminal_ansi_bright_red: Option, - #[serde(rename = "terminal.ansiBrightGreen")] - pub terminal_ansi_bright_green: Option, - #[serde(rename = "terminal.ansiBrightYellow")] - pub terminal_ansi_bright_yellow: Option, - #[serde(rename = "terminal.ansiBrightBlue")] - pub terminal_ansi_bright_blue: Option, - #[serde(rename = "terminal.ansiBrightMagenta")] - pub terminal_ansi_bright_magenta: Option, - #[serde(rename = "terminal.ansiBrightCyan")] - pub terminal_ansi_bright_cyan: Option, - #[serde(rename = "terminal.ansiBrightWhite")] - pub terminal_ansi_bright_white: Option, - #[serde(rename = "terminal.ansiBlack")] - pub terminal_ansi_black: Option, - #[serde(rename = "terminal.ansiRed")] - pub terminal_ansi_red: Option, - #[serde(rename = "terminal.ansiGreen")] - pub terminal_ansi_green: Option, - #[serde(rename = "terminal.ansiYellow")] - pub terminal_ansi_yellow: Option, - #[serde(rename = "terminal.ansiBlue")] - pub terminal_ansi_blue: Option, - #[serde(rename = "terminal.ansiMagenta")] - pub terminal_ansi_magenta: Option, - #[serde(rename = "terminal.ansiCyan")] - pub terminal_ansi_cyan: Option, - #[serde(rename = "terminal.ansiWhite")] - pub terminal_ansi_white: Option, - #[serde(rename = "focusBorder")] - pub focus_border: Option, - pub foreground: Option, - #[serde(rename = "selection.background")] - pub selection_background: Option, - #[serde(rename = "errorForeground")] - pub error_foreground: Option, - #[serde(rename = "button.background")] - pub button_background: Option, - #[serde(rename = "button.foreground")] - pub button_foreground: Option, - #[serde(rename = "button.secondaryBackground")] - pub button_secondary_background: Option, - #[serde(rename = "button.secondaryForeground")] - pub button_secondary_foreground: Option, - #[serde(rename = "button.secondaryHoverBackground")] - pub button_secondary_hover_background: Option, - #[serde(rename = "dropdown.background")] - pub dropdown_background: Option, - #[serde(rename = "dropdown.border")] - pub dropdown_border: Option, - #[serde(rename = "dropdown.foreground")] - pub dropdown_foreground: Option, - #[serde(rename = "input.background")] - pub input_background: Option, - #[serde(rename = "input.foreground")] - pub input_foreground: Option, - #[serde(rename = "input.border")] - pub input_border: Option, - #[serde(rename = "input.placeholderForeground")] - pub input_placeholder_foreground: Option, - #[serde(rename = "inputOption.activeBorder")] - pub input_option_active_border: Option, - #[serde(rename = "inputValidation.infoBorder")] - pub input_validation_info_border: Option, - #[serde(rename = "inputValidation.warningBorder")] - pub input_validation_warning_border: Option, - #[serde(rename = "inputValidation.errorBorder")] - pub input_validation_error_border: Option, - #[serde(rename = "badge.foreground")] - pub badge_foreground: Option, - #[serde(rename = "badge.background")] - pub badge_background: Option, - #[serde(rename = "progressBar.background")] - pub progress_bar_background: Option, - #[serde(rename = "list.activeSelectionBackground")] - pub list_active_selection_background: Option, - #[serde(rename = "list.activeSelectionForeground")] - pub list_active_selection_foreground: Option, - #[serde(rename = "list.dropBackground")] - pub list_drop_background: Option, - #[serde(rename = "list.focusBackground")] - pub list_focus_background: Option, - #[serde(rename = "list.highlightForeground")] - pub list_highlight_foreground: Option, - #[serde(rename = "list.hoverBackground")] - pub list_hover_background: Option, - #[serde(rename = "list.inactiveSelectionBackground")] - pub list_inactive_selection_background: Option, - #[serde(rename = "list.warningForeground")] - pub list_warning_foreground: Option, - #[serde(rename = "list.errorForeground")] - pub list_error_foreground: Option, - #[serde(rename = "activityBar.background")] - pub activity_bar_background: Option, - #[serde(rename = "activityBar.inactiveForeground")] - pub activity_bar_inactive_foreground: Option, - #[serde(rename = "activityBar.foreground")] - pub activity_bar_foreground: Option, - #[serde(rename = "activityBar.activeBorder")] - pub activity_bar_active_border: Option, - #[serde(rename = "activityBar.activeBackground")] - pub activity_bar_active_background: Option, - #[serde(rename = "activityBarBadge.background")] - pub activity_bar_badge_background: Option, - #[serde(rename = "activityBarBadge.foreground")] - pub activity_bar_badge_foreground: Option, - #[serde(rename = "sideBar.background")] - pub side_bar_background: Option, - #[serde(rename = "sideBarTitle.foreground")] - pub side_bar_title_foreground: Option, - #[serde(rename = "sideBarSectionHeader.background")] - pub side_bar_section_header_background: Option, - #[serde(rename = "sideBarSectionHeader.border")] - pub side_bar_section_header_border: Option, - #[serde(rename = "editorGroup.border")] - pub editor_group_border: Option, - #[serde(rename = "editorGroup.dropBackground")] - pub editor_group_drop_background: Option, - #[serde(rename = "editorGroupHeader.tabsBackground")] - pub editor_group_header_tabs_background: Option, - #[serde(rename = "tab.activeBackground")] - pub tab_active_background: Option, - #[serde(rename = "tab.activeForeground")] - pub tab_active_foreground: Option, - #[serde(rename = "tab.border")] - pub tab_border: Option, - #[serde(rename = "tab.activeBorderTop")] - pub tab_active_border_top: Option, - #[serde(rename = "tab.inactiveBackground")] - pub tab_inactive_background: Option, - #[serde(rename = "tab.inactiveForeground")] - pub tab_inactive_foreground: Option, - #[serde(rename = "editor.foreground")] - pub editor_foreground: Option, - #[serde(rename = "editor.background")] - pub editor_background: Option, - #[serde(rename = "editorLineNumber.foreground")] - pub editor_line_number_foreground: Option, - #[serde(rename = "editor.selectionBackground")] - pub editor_selection_background: Option, - #[serde(rename = "editor.selectionHighlightBackground")] - pub editor_selection_highlight_background: Option, - #[serde(rename = "editor.foldBackground")] - pub editor_fold_background: Option, - #[serde(rename = "editor.wordHighlightBackground")] - pub editor_word_highlight_background: Option, - #[serde(rename = "editor.wordHighlightStrongBackground")] - pub editor_word_highlight_strong_background: Option, - #[serde(rename = "editor.findMatchBackground")] - pub editor_find_match_background: Option, - #[serde(rename = "editor.findMatchHighlightBackground")] - pub editor_find_match_highlight_background: Option, - #[serde(rename = "editor.findRangeHighlightBackground")] - pub editor_find_range_highlight_background: Option, - #[serde(rename = "editor.hoverHighlightBackground")] - pub editor_hover_highlight_background: Option, - #[serde(rename = "editor.lineHighlightBorder")] - pub editor_line_highlight_border: Option, - #[serde(rename = "editorLink.activeForeground")] - pub editor_link_active_foreground: Option, - #[serde(rename = "editor.rangeHighlightBackground")] - pub editor_range_highlight_background: Option, - #[serde(rename = "editor.snippetTabstopHighlightBackground")] - pub editor_snippet_tabstop_highlight_background: Option, - #[serde(rename = "editor.snippetTabstopHighlightBorder")] - pub editor_snippet_tabstop_highlight_border: Option, - #[serde(rename = "editor.snippetFinalTabstopHighlightBackground")] - pub editor_snippet_final_tabstop_highlight_background: Option, - #[serde(rename = "editor.snippetFinalTabstopHighlightBorder")] - pub editor_snippet_final_tabstop_highlight_border: Option, - #[serde(rename = "editorWhitespace.foreground")] - pub editor_whitespace_foreground: Option, - #[serde(rename = "editorIndentGuide.background")] - pub editor_indent_guide_background: Option, - #[serde(rename = "editorIndentGuide.activeBackground")] - pub editor_indent_guide_active_background: Option, - #[serde(rename = "editorRuler.foreground")] - pub editor_ruler_foreground: Option, - #[serde(rename = "editorCodeLens.foreground")] - pub editor_code_lens_foreground: Option, - #[serde(rename = "editorBracketHighlight.foreground1")] - pub editor_bracket_highlight_foreground1: Option, - #[serde(rename = "editorBracketHighlight.foreground2")] - pub editor_bracket_highlight_foreground2: Option, - #[serde(rename = "editorBracketHighlight.foreground3")] - pub editor_bracket_highlight_foreground3: Option, - #[serde(rename = "editorBracketHighlight.foreground4")] - pub editor_bracket_highlight_foreground4: Option, - #[serde(rename = "editorBracketHighlight.foreground5")] - pub editor_bracket_highlight_foreground5: Option, - #[serde(rename = "editorBracketHighlight.foreground6")] - pub editor_bracket_highlight_foreground6: Option, - #[serde(rename = "editorBracketHighlight.unexpectedBracket.foreground")] - pub editor_bracket_highlight_unexpected_bracket_foreground: Option, - #[serde(rename = "editorOverviewRuler.border")] - pub editor_overview_ruler_border: Option, - #[serde(rename = "editorOverviewRuler.selectionHighlightForeground")] - pub editor_overview_ruler_selection_highlight_foreground: Option, - #[serde(rename = "editorOverviewRuler.wordHighlightForeground")] - pub editor_overview_ruler_word_highlight_foreground: Option, - #[serde(rename = "editorOverviewRuler.wordHighlightStrongForeground")] - pub editor_overview_ruler_word_highlight_strong_foreground: Option, - #[serde(rename = "editorOverviewRuler.modifiedForeground")] - pub editor_overview_ruler_modified_foreground: Option, - #[serde(rename = "editorOverviewRuler.addedForeground")] - pub editor_overview_ruler_added_foreground: Option, - #[serde(rename = "editorOverviewRuler.deletedForeground")] - pub editor_overview_ruler_deleted_foreground: Option, - #[serde(rename = "editorOverviewRuler.errorForeground")] - pub editor_overview_ruler_error_foreground: Option, - #[serde(rename = "editorOverviewRuler.warningForeground")] - pub editor_overview_ruler_warning_foreground: Option, - #[serde(rename = "editorOverviewRuler.infoForeground")] - pub editor_overview_ruler_info_foreground: Option, - #[serde(rename = "editorError.foreground")] - pub editor_error_foreground: Option, - #[serde(rename = "editorWarning.foreground")] - pub editor_warning_foreground: Option, - #[serde(rename = "editorGutter.modifiedBackground")] - pub editor_gutter_modified_background: Option, - #[serde(rename = "editorGutter.addedBackground")] - pub editor_gutter_added_background: Option, - #[serde(rename = "editorGutter.deletedBackground")] - pub editor_gutter_deleted_background: Option, - #[serde(rename = "gitDecoration.modifiedResourceForeground")] - pub git_decoration_modified_resource_foreground: Option, - #[serde(rename = "gitDecoration.deletedResourceForeground")] - pub git_decoration_deleted_resource_foreground: Option, - #[serde(rename = "gitDecoration.untrackedResourceForeground")] - pub git_decoration_untracked_resource_foreground: Option, - #[serde(rename = "gitDecoration.ignoredResourceForeground")] - pub git_decoration_ignored_resource_foreground: Option, - #[serde(rename = "gitDecoration.conflictingResourceForeground")] - pub git_decoration_conflicting_resource_foreground: Option, - #[serde(rename = "diffEditor.insertedTextBackground")] - pub diff_editor_inserted_text_background: Option, - #[serde(rename = "diffEditor.removedTextBackground")] - pub diff_editor_removed_text_background: Option, - #[serde(rename = "inlineChat.regionHighlight")] - pub inline_chat_region_highlight: Option, - #[serde(rename = "editorWidget.background")] - pub editor_widget_background: Option, - #[serde(rename = "editorSuggestWidget.background")] - pub editor_suggest_widget_background: Option, - #[serde(rename = "editorSuggestWidget.foreground")] - pub editor_suggest_widget_foreground: Option, - #[serde(rename = "editorSuggestWidget.selectedBackground")] - pub editor_suggest_widget_selected_background: Option, - #[serde(rename = "editorHoverWidget.background")] - pub editor_hover_widget_background: Option, - #[serde(rename = "editorHoverWidget.border")] - pub editor_hover_widget_border: Option, - #[serde(rename = "editorMarkerNavigation.background")] - pub editor_marker_navigation_background: Option, - #[serde(rename = "peekView.border")] - pub peek_view_border: Option, - #[serde(rename = "peekViewEditor.background")] - pub peek_view_editor_background: Option, - #[serde(rename = "peekViewEditor.matchHighlightBackground")] - pub peek_view_editor_match_highlight_background: Option, - #[serde(rename = "peekViewResult.background")] - pub peek_view_result_background: Option, - #[serde(rename = "peekViewResult.fileForeground")] - pub peek_view_result_file_foreground: Option, - #[serde(rename = "peekViewResult.lineForeground")] - pub peek_view_result_line_foreground: Option, - #[serde(rename = "peekViewResult.matchHighlightBackground")] - pub peek_view_result_match_highlight_background: Option, - #[serde(rename = "peekViewResult.selectionBackground")] - pub peek_view_result_selection_background: Option, - #[serde(rename = "peekViewResult.selectionForeground")] - pub peek_view_result_selection_foreground: Option, - #[serde(rename = "peekViewTitle.background")] - pub peek_view_title_background: Option, - #[serde(rename = "peekViewTitleDescription.foreground")] - pub peek_view_title_description_foreground: Option, - #[serde(rename = "peekViewTitleLabel.foreground")] - pub peek_view_title_label_foreground: Option, - #[serde(rename = "merge.currentHeaderBackground")] - pub merge_current_header_background: Option, - #[serde(rename = "merge.incomingHeaderBackground")] - pub merge_incoming_header_background: Option, - #[serde(rename = "editorOverviewRuler.currentContentForeground")] - pub editor_overview_ruler_current_content_foreground: Option, - #[serde(rename = "editorOverviewRuler.incomingContentForeground")] - pub editor_overview_ruler_incoming_content_foreground: Option, - #[serde(rename = "panel.background")] - pub panel_background: Option, - #[serde(rename = "panel.border")] - pub panel_border: Option, - #[serde(rename = "panelTitle.activeBorder")] - pub panel_title_active_border: Option, - #[serde(rename = "panelTitle.activeForeground")] - pub panel_title_active_foreground: Option, - #[serde(rename = "panelTitle.inactiveForeground")] - pub panel_title_inactive_foreground: Option, - #[serde(rename = "statusBar.background")] - pub status_bar_background: Option, - #[serde(rename = "statusBar.foreground")] - pub status_bar_foreground: Option, - #[serde(rename = "statusBar.debuggingBackground")] - pub status_bar_debugging_background: Option, - #[serde(rename = "statusBar.debuggingForeground")] - pub status_bar_debugging_foreground: Option, - #[serde(rename = "statusBar.noFolderBackground")] - pub status_bar_no_folder_background: Option, - #[serde(rename = "statusBar.noFolderForeground")] - pub status_bar_no_folder_foreground: Option, - #[serde(rename = "statusBarItem.prominentBackground")] - pub status_bar_item_prominent_background: Option, - #[serde(rename = "statusBarItem.prominentHoverBackground")] - pub status_bar_item_prominent_hover_background: Option, - #[serde(rename = "statusBarItem.remoteForeground")] - pub status_bar_item_remote_foreground: Option, - #[serde(rename = "statusBarItem.remoteBackground")] - pub status_bar_item_remote_background: Option, - #[serde(rename = "titleBar.activeBackground")] - pub title_bar_active_background: Option, - #[serde(rename = "titleBar.activeForeground")] - pub title_bar_active_foreground: Option, - #[serde(rename = "titleBar.inactiveBackground")] - pub title_bar_inactive_background: Option, - #[serde(rename = "titleBar.inactiveForeground")] - pub title_bar_inactive_foreground: Option, - #[serde(rename = "extensionButton.prominentForeground")] - pub extension_button_prominent_foreground: Option, - #[serde(rename = "extensionButton.prominentBackground")] - pub extension_button_prominent_background: Option, - #[serde(rename = "extensionButton.prominentHoverBackground")] - pub extension_button_prominent_hover_background: Option, - #[serde(rename = "pickerGroup.border")] - pub picker_group_border: Option, - #[serde(rename = "pickerGroup.foreground")] - pub picker_group_foreground: Option, - #[serde(rename = "debugToolBar.background")] - pub debug_tool_bar_background: Option, - #[serde(rename = "walkThrough.embeddedEditorBackground")] - pub walk_through_embedded_editor_background: Option, - #[serde(rename = "settings.headerForeground")] - pub settings_header_foreground: Option, - #[serde(rename = "settings.modifiedItemIndicator")] - pub settings_modified_item_indicator: Option, - #[serde(rename = "settings.dropdownBackground")] - pub settings_dropdown_background: Option, - #[serde(rename = "settings.dropdownForeground")] - pub settings_dropdown_foreground: Option, - #[serde(rename = "settings.dropdownBorder")] - pub settings_dropdown_border: Option, - #[serde(rename = "settings.checkboxBackground")] - pub settings_checkbox_background: Option, - #[serde(rename = "settings.checkboxForeground")] - pub settings_checkbox_foreground: Option, - #[serde(rename = "settings.checkboxBorder")] - pub settings_checkbox_border: Option, - #[serde(rename = "settings.textInputBackground")] - pub settings_text_input_background: Option, - #[serde(rename = "settings.textInputForeground")] - pub settings_text_input_foreground: Option, - #[serde(rename = "settings.textInputBorder")] - pub settings_text_input_border: Option, - #[serde(rename = "settings.numberInputBackground")] - pub settings_number_input_background: Option, - #[serde(rename = "settings.numberInputForeground")] - pub settings_number_input_foreground: Option, - #[serde(rename = "settings.numberInputBorder")] - pub settings_number_input_border: Option, - #[serde(rename = "breadcrumb.foreground")] - pub breadcrumb_foreground: Option, - #[serde(rename = "breadcrumb.background")] - pub breadcrumb_background: Option, - #[serde(rename = "breadcrumb.focusForeground")] - pub breadcrumb_focus_foreground: Option, - #[serde(rename = "breadcrumb.activeSelectionForeground")] - pub breadcrumb_active_selection_foreground: Option, - #[serde(rename = "breadcrumbPicker.background")] - pub breadcrumb_picker_background: Option, - #[serde(rename = "listFilterWidget.background")] - pub list_filter_widget_background: Option, - #[serde(rename = "listFilterWidget.outline")] - pub list_filter_widget_outline: Option, - #[serde(rename = "listFilterWidget.noMatchesOutline")] - pub list_filter_widget_no_matches_outline: Option, -} - -pub(crate) fn try_parse_color(color: &str) -> Result { - Ok(Rgba::try_from(color)?.into()) -} - -pub struct VsCodeThemeConverter { - theme: VsCodeTheme, - theme_metadata: ThemeMetadata, -} - -impl VsCodeThemeConverter { - pub fn new(theme: VsCodeTheme, theme_metadata: ThemeMetadata) -> Self { - Self { - theme, - theme_metadata, - } - } - - pub fn convert(self) -> Result { - let appearance = self.theme_metadata.appearance.into(); - - let status_color_refinements = self.convert_status_colors()?; - let theme_colors_refinements = self.convert_theme_colors()?; - - let mut highlight_styles = HashMap::new(); - - for token_color in self.theme.token_colors { - highlight_styles.extend(token_color.highlight_styles()?); - } - - let syntax_theme = UserSyntaxTheme { - highlights: highlight_styles.into_iter().collect(), - }; - - Ok(UserTheme { - name: self.theme_metadata.name.into(), - appearance, - styles: UserThemeStylesRefinement { - colors: theme_colors_refinements, - status: status_color_refinements, - syntax: Some(syntax_theme), - }, - }) - } - - fn convert_status_colors(&self) -> Result { - let vscode_colors = &self.theme.colors; - - Ok(StatusColorsRefinement { - // conflict: None, - // created: None, - deleted: vscode_colors - .error_foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - error: vscode_colors - .error_foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - hidden: vscode_colors - .tab_inactive_foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - // ignored: None, - // info: None, - // modified: None, - // renamed: None, - // success: None, - warning: vscode_colors - .list_warning_foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - ..Default::default() - }) - } - - fn convert_theme_colors(&self) -> Result { - let vscode_colors = &self.theme.colors; - - Ok(ThemeColorsRefinement { - border: vscode_colors - .panel_border - .as_ref() - .traverse(|color| try_parse_color(&color))?, - border_variant: vscode_colors - .panel_border - .as_ref() - .traverse(|color| try_parse_color(&color))?, - border_focused: vscode_colors - .focus_border - .as_ref() - .traverse(|color| try_parse_color(&color))?, - border_disabled: vscode_colors - .panel_border - .as_ref() - .traverse(|color| try_parse_color(&color))?, - border_selected: vscode_colors - .panel_border - .as_ref() - .traverse(|color| try_parse_color(&color))?, - border_transparent: vscode_colors - .panel_border - .as_ref() - .traverse(|color| try_parse_color(&color))?, - elevated_surface_background: vscode_colors - .panel_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - surface_background: vscode_colors - .panel_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - background: vscode_colors - .editor_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - element_background: vscode_colors - .button_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - element_hover: vscode_colors - .list_hover_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - element_selected: vscode_colors - .list_active_selection_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - ghost_element_hover: vscode_colors - .list_hover_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - drop_target_background: vscode_colors - .list_drop_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - text: vscode_colors - .foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - tab_active_background: vscode_colors - .tab_active_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - tab_inactive_background: vscode_colors - .tab_inactive_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - editor_background: vscode_colors - .editor_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - editor_gutter_background: vscode_colors - .editor_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - editor_line_number: vscode_colors - .editor_line_number_foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - editor_active_line_number: vscode_colors - .editor_foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_background: vscode_colors - .terminal_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_black: vscode_colors - .terminal_ansi_bright_black - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_red: vscode_colors - .terminal_ansi_bright_red - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_green: vscode_colors - .terminal_ansi_bright_green - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_yellow: vscode_colors - .terminal_ansi_bright_yellow - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_blue: vscode_colors - .terminal_ansi_bright_blue - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_magenta: vscode_colors - .terminal_ansi_bright_magenta - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_cyan: vscode_colors - .terminal_ansi_bright_cyan - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_bright_white: vscode_colors - .terminal_ansi_bright_white - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_black: vscode_colors - .terminal_ansi_black - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_red: vscode_colors - .terminal_ansi_red - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_green: vscode_colors - .terminal_ansi_green - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_yellow: vscode_colors - .terminal_ansi_yellow - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_blue: vscode_colors - .terminal_ansi_blue - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_magenta: vscode_colors - .terminal_ansi_magenta - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_cyan: vscode_colors - .terminal_ansi_cyan - .as_ref() - .traverse(|color| try_parse_color(&color))?, - terminal_ansi_white: vscode_colors - .terminal_ansi_white - .as_ref() - .traverse(|color| try_parse_color(&color))?, - ..Default::default() - }) - } -} +pub use converter::*; +pub use syntax::*; +pub use theme::*; diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs new file mode 100644 index 0000000000..b203807dbc --- /dev/null +++ b/crates/theme_importer/src/vscode/converter.rs @@ -0,0 +1,248 @@ +use std::collections::HashMap; + +use anyhow::Result; +use gpui::{Hsla, Rgba}; +use theme::{ + StatusColorsRefinement, ThemeColorsRefinement, UserSyntaxTheme, UserTheme, + UserThemeStylesRefinement, +}; + +use crate::util::Traverse; +use crate::vscode::VsCodeTheme; +use crate::ThemeMetadata; + +pub(crate) fn try_parse_color(color: &str) -> Result { + Ok(Rgba::try_from(color)?.into()) +} + +pub struct VsCodeThemeConverter { + theme: VsCodeTheme, + theme_metadata: ThemeMetadata, +} + +impl VsCodeThemeConverter { + pub fn new(theme: VsCodeTheme, theme_metadata: ThemeMetadata) -> Self { + Self { + theme, + theme_metadata, + } + } + + pub fn convert(self) -> Result { + let appearance = self.theme_metadata.appearance.into(); + + let status_color_refinements = self.convert_status_colors()?; + let theme_colors_refinements = self.convert_theme_colors()?; + + let mut highlight_styles = HashMap::new(); + + for token_color in self.theme.token_colors { + highlight_styles.extend(token_color.highlight_styles()?); + } + + let syntax_theme = UserSyntaxTheme { + highlights: highlight_styles.into_iter().collect(), + }; + + Ok(UserTheme { + name: self.theme_metadata.name.into(), + appearance, + styles: UserThemeStylesRefinement { + colors: theme_colors_refinements, + status: status_color_refinements, + syntax: Some(syntax_theme), + }, + }) + } + + fn convert_status_colors(&self) -> Result { + let vscode_colors = &self.theme.colors; + + Ok(StatusColorsRefinement { + // conflict: None, + // created: None, + deleted: vscode_colors + .error_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + error: vscode_colors + .error_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + hidden: vscode_colors + .tab_inactive_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + // ignored: None, + // info: None, + // modified: None, + // renamed: None, + // success: None, + warning: vscode_colors + .list_warning_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + ..Default::default() + }) + } + + fn convert_theme_colors(&self) -> Result { + let vscode_colors = &self.theme.colors; + + Ok(ThemeColorsRefinement { + border: vscode_colors + .panel_border + .as_ref() + .traverse(|color| try_parse_color(&color))?, + border_variant: vscode_colors + .panel_border + .as_ref() + .traverse(|color| try_parse_color(&color))?, + border_focused: vscode_colors + .focus_border + .as_ref() + .traverse(|color| try_parse_color(&color))?, + border_disabled: vscode_colors + .panel_border + .as_ref() + .traverse(|color| try_parse_color(&color))?, + border_selected: vscode_colors + .panel_border + .as_ref() + .traverse(|color| try_parse_color(&color))?, + border_transparent: vscode_colors + .panel_border + .as_ref() + .traverse(|color| try_parse_color(&color))?, + elevated_surface_background: vscode_colors + .panel_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + surface_background: vscode_colors + .panel_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + background: vscode_colors + .editor_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + element_background: vscode_colors + .button_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + element_hover: vscode_colors + .list_hover_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + element_selected: vscode_colors + .list_active_selection_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + ghost_element_hover: vscode_colors + .list_hover_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + drop_target_background: vscode_colors + .list_drop_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + text: vscode_colors + .foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + tab_active_background: vscode_colors + .tab_active_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + tab_inactive_background: vscode_colors + .tab_inactive_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_background: vscode_colors + .editor_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_gutter_background: vscode_colors + .editor_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_line_number: vscode_colors + .editor_line_number_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + editor_active_line_number: vscode_colors + .editor_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_background: vscode_colors + .terminal_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_black: vscode_colors + .terminal_ansi_bright_black + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_red: vscode_colors + .terminal_ansi_bright_red + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_green: vscode_colors + .terminal_ansi_bright_green + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_yellow: vscode_colors + .terminal_ansi_bright_yellow + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_blue: vscode_colors + .terminal_ansi_bright_blue + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_magenta: vscode_colors + .terminal_ansi_bright_magenta + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_cyan: vscode_colors + .terminal_ansi_bright_cyan + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_bright_white: vscode_colors + .terminal_ansi_bright_white + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_black: vscode_colors + .terminal_ansi_black + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_red: vscode_colors + .terminal_ansi_red + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_green: vscode_colors + .terminal_ansi_green + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_yellow: vscode_colors + .terminal_ansi_yellow + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_blue: vscode_colors + .terminal_ansi_blue + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_magenta: vscode_colors + .terminal_ansi_magenta + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_cyan: vscode_colors + .terminal_ansi_cyan + .as_ref() + .traverse(|color| try_parse_color(&color))?, + terminal_ansi_white: vscode_colors + .terminal_ansi_white + .as_ref() + .traverse(|color| try_parse_color(&color))?, + ..Default::default() + }) + } +} diff --git a/crates/theme_importer/src/vscode_syntax.rs b/crates/theme_importer/src/vscode/syntax.rs similarity index 100% rename from crates/theme_importer/src/vscode_syntax.rs rename to crates/theme_importer/src/vscode/syntax.rs diff --git a/crates/theme_importer/src/vscode/theme.rs b/crates/theme_importer/src/vscode/theme.rs new file mode 100644 index 0000000000..76e3c02b34 --- /dev/null +++ b/crates/theme_importer/src/vscode/theme.rs @@ -0,0 +1,412 @@ +use serde::Deserialize; + +use crate::vscode::VsCodeTokenColor; + +#[derive(Deserialize, Debug)] +pub struct VsCodeTheme { + #[serde(rename = "$schema")] + pub schema: Option, + pub name: Option, + pub author: Option, + pub maintainers: Option>, + #[serde(rename = "semanticClass")] + pub semantic_class: Option, + #[serde(rename = "semanticHighlighting")] + pub semantic_highlighting: Option, + pub colors: VsCodeColors, + #[serde(rename = "tokenColors")] + pub token_colors: Vec, +} + +#[derive(Debug, Deserialize)] +pub struct VsCodeColors { + #[serde(rename = "terminal.background")] + pub terminal_background: Option, + #[serde(rename = "terminal.foreground")] + pub terminal_foreground: Option, + #[serde(rename = "terminal.ansiBrightBlack")] + pub terminal_ansi_bright_black: Option, + #[serde(rename = "terminal.ansiBrightRed")] + pub terminal_ansi_bright_red: Option, + #[serde(rename = "terminal.ansiBrightGreen")] + pub terminal_ansi_bright_green: Option, + #[serde(rename = "terminal.ansiBrightYellow")] + pub terminal_ansi_bright_yellow: Option, + #[serde(rename = "terminal.ansiBrightBlue")] + pub terminal_ansi_bright_blue: Option, + #[serde(rename = "terminal.ansiBrightMagenta")] + pub terminal_ansi_bright_magenta: Option, + #[serde(rename = "terminal.ansiBrightCyan")] + pub terminal_ansi_bright_cyan: Option, + #[serde(rename = "terminal.ansiBrightWhite")] + pub terminal_ansi_bright_white: Option, + #[serde(rename = "terminal.ansiBlack")] + pub terminal_ansi_black: Option, + #[serde(rename = "terminal.ansiRed")] + pub terminal_ansi_red: Option, + #[serde(rename = "terminal.ansiGreen")] + pub terminal_ansi_green: Option, + #[serde(rename = "terminal.ansiYellow")] + pub terminal_ansi_yellow: Option, + #[serde(rename = "terminal.ansiBlue")] + pub terminal_ansi_blue: Option, + #[serde(rename = "terminal.ansiMagenta")] + pub terminal_ansi_magenta: Option, + #[serde(rename = "terminal.ansiCyan")] + pub terminal_ansi_cyan: Option, + #[serde(rename = "terminal.ansiWhite")] + pub terminal_ansi_white: Option, + #[serde(rename = "focusBorder")] + pub focus_border: Option, + pub foreground: Option, + #[serde(rename = "selection.background")] + pub selection_background: Option, + #[serde(rename = "errorForeground")] + pub error_foreground: Option, + #[serde(rename = "button.background")] + pub button_background: Option, + #[serde(rename = "button.foreground")] + pub button_foreground: Option, + #[serde(rename = "button.secondaryBackground")] + pub button_secondary_background: Option, + #[serde(rename = "button.secondaryForeground")] + pub button_secondary_foreground: Option, + #[serde(rename = "button.secondaryHoverBackground")] + pub button_secondary_hover_background: Option, + #[serde(rename = "dropdown.background")] + pub dropdown_background: Option, + #[serde(rename = "dropdown.border")] + pub dropdown_border: Option, + #[serde(rename = "dropdown.foreground")] + pub dropdown_foreground: Option, + #[serde(rename = "input.background")] + pub input_background: Option, + #[serde(rename = "input.foreground")] + pub input_foreground: Option, + #[serde(rename = "input.border")] + pub input_border: Option, + #[serde(rename = "input.placeholderForeground")] + pub input_placeholder_foreground: Option, + #[serde(rename = "inputOption.activeBorder")] + pub input_option_active_border: Option, + #[serde(rename = "inputValidation.infoBorder")] + pub input_validation_info_border: Option, + #[serde(rename = "inputValidation.warningBorder")] + pub input_validation_warning_border: Option, + #[serde(rename = "inputValidation.errorBorder")] + pub input_validation_error_border: Option, + #[serde(rename = "badge.foreground")] + pub badge_foreground: Option, + #[serde(rename = "badge.background")] + pub badge_background: Option, + #[serde(rename = "progressBar.background")] + pub progress_bar_background: Option, + #[serde(rename = "list.activeSelectionBackground")] + pub list_active_selection_background: Option, + #[serde(rename = "list.activeSelectionForeground")] + pub list_active_selection_foreground: Option, + #[serde(rename = "list.dropBackground")] + pub list_drop_background: Option, + #[serde(rename = "list.focusBackground")] + pub list_focus_background: Option, + #[serde(rename = "list.highlightForeground")] + pub list_highlight_foreground: Option, + #[serde(rename = "list.hoverBackground")] + pub list_hover_background: Option, + #[serde(rename = "list.inactiveSelectionBackground")] + pub list_inactive_selection_background: Option, + #[serde(rename = "list.warningForeground")] + pub list_warning_foreground: Option, + #[serde(rename = "list.errorForeground")] + pub list_error_foreground: Option, + #[serde(rename = "activityBar.background")] + pub activity_bar_background: Option, + #[serde(rename = "activityBar.inactiveForeground")] + pub activity_bar_inactive_foreground: Option, + #[serde(rename = "activityBar.foreground")] + pub activity_bar_foreground: Option, + #[serde(rename = "activityBar.activeBorder")] + pub activity_bar_active_border: Option, + #[serde(rename = "activityBar.activeBackground")] + pub activity_bar_active_background: Option, + #[serde(rename = "activityBarBadge.background")] + pub activity_bar_badge_background: Option, + #[serde(rename = "activityBarBadge.foreground")] + pub activity_bar_badge_foreground: Option, + #[serde(rename = "sideBar.background")] + pub side_bar_background: Option, + #[serde(rename = "sideBarTitle.foreground")] + pub side_bar_title_foreground: Option, + #[serde(rename = "sideBarSectionHeader.background")] + pub side_bar_section_header_background: Option, + #[serde(rename = "sideBarSectionHeader.border")] + pub side_bar_section_header_border: Option, + #[serde(rename = "editorGroup.border")] + pub editor_group_border: Option, + #[serde(rename = "editorGroup.dropBackground")] + pub editor_group_drop_background: Option, + #[serde(rename = "editorGroupHeader.tabsBackground")] + pub editor_group_header_tabs_background: Option, + #[serde(rename = "tab.activeBackground")] + pub tab_active_background: Option, + #[serde(rename = "tab.activeForeground")] + pub tab_active_foreground: Option, + #[serde(rename = "tab.border")] + pub tab_border: Option, + #[serde(rename = "tab.activeBorderTop")] + pub tab_active_border_top: Option, + #[serde(rename = "tab.inactiveBackground")] + pub tab_inactive_background: Option, + #[serde(rename = "tab.inactiveForeground")] + pub tab_inactive_foreground: Option, + #[serde(rename = "editor.foreground")] + pub editor_foreground: Option, + #[serde(rename = "editor.background")] + pub editor_background: Option, + #[serde(rename = "editorLineNumber.foreground")] + pub editor_line_number_foreground: Option, + #[serde(rename = "editor.selectionBackground")] + pub editor_selection_background: Option, + #[serde(rename = "editor.selectionHighlightBackground")] + pub editor_selection_highlight_background: Option, + #[serde(rename = "editor.foldBackground")] + pub editor_fold_background: Option, + #[serde(rename = "editor.wordHighlightBackground")] + pub editor_word_highlight_background: Option, + #[serde(rename = "editor.wordHighlightStrongBackground")] + pub editor_word_highlight_strong_background: Option, + #[serde(rename = "editor.findMatchBackground")] + pub editor_find_match_background: Option, + #[serde(rename = "editor.findMatchHighlightBackground")] + pub editor_find_match_highlight_background: Option, + #[serde(rename = "editor.findRangeHighlightBackground")] + pub editor_find_range_highlight_background: Option, + #[serde(rename = "editor.hoverHighlightBackground")] + pub editor_hover_highlight_background: Option, + #[serde(rename = "editor.lineHighlightBorder")] + pub editor_line_highlight_border: Option, + #[serde(rename = "editorLink.activeForeground")] + pub editor_link_active_foreground: Option, + #[serde(rename = "editor.rangeHighlightBackground")] + pub editor_range_highlight_background: Option, + #[serde(rename = "editor.snippetTabstopHighlightBackground")] + pub editor_snippet_tabstop_highlight_background: Option, + #[serde(rename = "editor.snippetTabstopHighlightBorder")] + pub editor_snippet_tabstop_highlight_border: Option, + #[serde(rename = "editor.snippetFinalTabstopHighlightBackground")] + pub editor_snippet_final_tabstop_highlight_background: Option, + #[serde(rename = "editor.snippetFinalTabstopHighlightBorder")] + pub editor_snippet_final_tabstop_highlight_border: Option, + #[serde(rename = "editorWhitespace.foreground")] + pub editor_whitespace_foreground: Option, + #[serde(rename = "editorIndentGuide.background")] + pub editor_indent_guide_background: Option, + #[serde(rename = "editorIndentGuide.activeBackground")] + pub editor_indent_guide_active_background: Option, + #[serde(rename = "editorRuler.foreground")] + pub editor_ruler_foreground: Option, + #[serde(rename = "editorCodeLens.foreground")] + pub editor_code_lens_foreground: Option, + #[serde(rename = "editorBracketHighlight.foreground1")] + pub editor_bracket_highlight_foreground1: Option, + #[serde(rename = "editorBracketHighlight.foreground2")] + pub editor_bracket_highlight_foreground2: Option, + #[serde(rename = "editorBracketHighlight.foreground3")] + pub editor_bracket_highlight_foreground3: Option, + #[serde(rename = "editorBracketHighlight.foreground4")] + pub editor_bracket_highlight_foreground4: Option, + #[serde(rename = "editorBracketHighlight.foreground5")] + pub editor_bracket_highlight_foreground5: Option, + #[serde(rename = "editorBracketHighlight.foreground6")] + pub editor_bracket_highlight_foreground6: Option, + #[serde(rename = "editorBracketHighlight.unexpectedBracket.foreground")] + pub editor_bracket_highlight_unexpected_bracket_foreground: Option, + #[serde(rename = "editorOverviewRuler.border")] + pub editor_overview_ruler_border: Option, + #[serde(rename = "editorOverviewRuler.selectionHighlightForeground")] + pub editor_overview_ruler_selection_highlight_foreground: Option, + #[serde(rename = "editorOverviewRuler.wordHighlightForeground")] + pub editor_overview_ruler_word_highlight_foreground: Option, + #[serde(rename = "editorOverviewRuler.wordHighlightStrongForeground")] + pub editor_overview_ruler_word_highlight_strong_foreground: Option, + #[serde(rename = "editorOverviewRuler.modifiedForeground")] + pub editor_overview_ruler_modified_foreground: Option, + #[serde(rename = "editorOverviewRuler.addedForeground")] + pub editor_overview_ruler_added_foreground: Option, + #[serde(rename = "editorOverviewRuler.deletedForeground")] + pub editor_overview_ruler_deleted_foreground: Option, + #[serde(rename = "editorOverviewRuler.errorForeground")] + pub editor_overview_ruler_error_foreground: Option, + #[serde(rename = "editorOverviewRuler.warningForeground")] + pub editor_overview_ruler_warning_foreground: Option, + #[serde(rename = "editorOverviewRuler.infoForeground")] + pub editor_overview_ruler_info_foreground: Option, + #[serde(rename = "editorError.foreground")] + pub editor_error_foreground: Option, + #[serde(rename = "editorWarning.foreground")] + pub editor_warning_foreground: Option, + #[serde(rename = "editorGutter.modifiedBackground")] + pub editor_gutter_modified_background: Option, + #[serde(rename = "editorGutter.addedBackground")] + pub editor_gutter_added_background: Option, + #[serde(rename = "editorGutter.deletedBackground")] + pub editor_gutter_deleted_background: Option, + #[serde(rename = "gitDecoration.modifiedResourceForeground")] + pub git_decoration_modified_resource_foreground: Option, + #[serde(rename = "gitDecoration.deletedResourceForeground")] + pub git_decoration_deleted_resource_foreground: Option, + #[serde(rename = "gitDecoration.untrackedResourceForeground")] + pub git_decoration_untracked_resource_foreground: Option, + #[serde(rename = "gitDecoration.ignoredResourceForeground")] + pub git_decoration_ignored_resource_foreground: Option, + #[serde(rename = "gitDecoration.conflictingResourceForeground")] + pub git_decoration_conflicting_resource_foreground: Option, + #[serde(rename = "diffEditor.insertedTextBackground")] + pub diff_editor_inserted_text_background: Option, + #[serde(rename = "diffEditor.removedTextBackground")] + pub diff_editor_removed_text_background: Option, + #[serde(rename = "inlineChat.regionHighlight")] + pub inline_chat_region_highlight: Option, + #[serde(rename = "editorWidget.background")] + pub editor_widget_background: Option, + #[serde(rename = "editorSuggestWidget.background")] + pub editor_suggest_widget_background: Option, + #[serde(rename = "editorSuggestWidget.foreground")] + pub editor_suggest_widget_foreground: Option, + #[serde(rename = "editorSuggestWidget.selectedBackground")] + pub editor_suggest_widget_selected_background: Option, + #[serde(rename = "editorHoverWidget.background")] + pub editor_hover_widget_background: Option, + #[serde(rename = "editorHoverWidget.border")] + pub editor_hover_widget_border: Option, + #[serde(rename = "editorMarkerNavigation.background")] + pub editor_marker_navigation_background: Option, + #[serde(rename = "peekView.border")] + pub peek_view_border: Option, + #[serde(rename = "peekViewEditor.background")] + pub peek_view_editor_background: Option, + #[serde(rename = "peekViewEditor.matchHighlightBackground")] + pub peek_view_editor_match_highlight_background: Option, + #[serde(rename = "peekViewResult.background")] + pub peek_view_result_background: Option, + #[serde(rename = "peekViewResult.fileForeground")] + pub peek_view_result_file_foreground: Option, + #[serde(rename = "peekViewResult.lineForeground")] + pub peek_view_result_line_foreground: Option, + #[serde(rename = "peekViewResult.matchHighlightBackground")] + pub peek_view_result_match_highlight_background: Option, + #[serde(rename = "peekViewResult.selectionBackground")] + pub peek_view_result_selection_background: Option, + #[serde(rename = "peekViewResult.selectionForeground")] + pub peek_view_result_selection_foreground: Option, + #[serde(rename = "peekViewTitle.background")] + pub peek_view_title_background: Option, + #[serde(rename = "peekViewTitleDescription.foreground")] + pub peek_view_title_description_foreground: Option, + #[serde(rename = "peekViewTitleLabel.foreground")] + pub peek_view_title_label_foreground: Option, + #[serde(rename = "merge.currentHeaderBackground")] + pub merge_current_header_background: Option, + #[serde(rename = "merge.incomingHeaderBackground")] + pub merge_incoming_header_background: Option, + #[serde(rename = "editorOverviewRuler.currentContentForeground")] + pub editor_overview_ruler_current_content_foreground: Option, + #[serde(rename = "editorOverviewRuler.incomingContentForeground")] + pub editor_overview_ruler_incoming_content_foreground: Option, + #[serde(rename = "panel.background")] + pub panel_background: Option, + #[serde(rename = "panel.border")] + pub panel_border: Option, + #[serde(rename = "panelTitle.activeBorder")] + pub panel_title_active_border: Option, + #[serde(rename = "panelTitle.activeForeground")] + pub panel_title_active_foreground: Option, + #[serde(rename = "panelTitle.inactiveForeground")] + pub panel_title_inactive_foreground: Option, + #[serde(rename = "statusBar.background")] + pub status_bar_background: Option, + #[serde(rename = "statusBar.foreground")] + pub status_bar_foreground: Option, + #[serde(rename = "statusBar.debuggingBackground")] + pub status_bar_debugging_background: Option, + #[serde(rename = "statusBar.debuggingForeground")] + pub status_bar_debugging_foreground: Option, + #[serde(rename = "statusBar.noFolderBackground")] + pub status_bar_no_folder_background: Option, + #[serde(rename = "statusBar.noFolderForeground")] + pub status_bar_no_folder_foreground: Option, + #[serde(rename = "statusBarItem.prominentBackground")] + pub status_bar_item_prominent_background: Option, + #[serde(rename = "statusBarItem.prominentHoverBackground")] + pub status_bar_item_prominent_hover_background: Option, + #[serde(rename = "statusBarItem.remoteForeground")] + pub status_bar_item_remote_foreground: Option, + #[serde(rename = "statusBarItem.remoteBackground")] + pub status_bar_item_remote_background: Option, + #[serde(rename = "titleBar.activeBackground")] + pub title_bar_active_background: Option, + #[serde(rename = "titleBar.activeForeground")] + pub title_bar_active_foreground: Option, + #[serde(rename = "titleBar.inactiveBackground")] + pub title_bar_inactive_background: Option, + #[serde(rename = "titleBar.inactiveForeground")] + pub title_bar_inactive_foreground: Option, + #[serde(rename = "extensionButton.prominentForeground")] + pub extension_button_prominent_foreground: Option, + #[serde(rename = "extensionButton.prominentBackground")] + pub extension_button_prominent_background: Option, + #[serde(rename = "extensionButton.prominentHoverBackground")] + pub extension_button_prominent_hover_background: Option, + #[serde(rename = "pickerGroup.border")] + pub picker_group_border: Option, + #[serde(rename = "pickerGroup.foreground")] + pub picker_group_foreground: Option, + #[serde(rename = "debugToolBar.background")] + pub debug_tool_bar_background: Option, + #[serde(rename = "walkThrough.embeddedEditorBackground")] + pub walk_through_embedded_editor_background: Option, + #[serde(rename = "settings.headerForeground")] + pub settings_header_foreground: Option, + #[serde(rename = "settings.modifiedItemIndicator")] + pub settings_modified_item_indicator: Option, + #[serde(rename = "settings.dropdownBackground")] + pub settings_dropdown_background: Option, + #[serde(rename = "settings.dropdownForeground")] + pub settings_dropdown_foreground: Option, + #[serde(rename = "settings.dropdownBorder")] + pub settings_dropdown_border: Option, + #[serde(rename = "settings.checkboxBackground")] + pub settings_checkbox_background: Option, + #[serde(rename = "settings.checkboxForeground")] + pub settings_checkbox_foreground: Option, + #[serde(rename = "settings.checkboxBorder")] + pub settings_checkbox_border: Option, + #[serde(rename = "settings.textInputBackground")] + pub settings_text_input_background: Option, + #[serde(rename = "settings.textInputForeground")] + pub settings_text_input_foreground: Option, + #[serde(rename = "settings.textInputBorder")] + pub settings_text_input_border: Option, + #[serde(rename = "settings.numberInputBackground")] + pub settings_number_input_background: Option, + #[serde(rename = "settings.numberInputForeground")] + pub settings_number_input_foreground: Option, + #[serde(rename = "settings.numberInputBorder")] + pub settings_number_input_border: Option, + #[serde(rename = "breadcrumb.foreground")] + pub breadcrumb_foreground: Option, + #[serde(rename = "breadcrumb.background")] + pub breadcrumb_background: Option, + #[serde(rename = "breadcrumb.focusForeground")] + pub breadcrumb_focus_foreground: Option, + #[serde(rename = "breadcrumb.activeSelectionForeground")] + pub breadcrumb_active_selection_foreground: Option, + #[serde(rename = "breadcrumbPicker.background")] + pub breadcrumb_picker_background: Option, + #[serde(rename = "listFilterWidget.background")] + pub list_filter_widget_background: Option, + #[serde(rename = "listFilterWidget.outline")] + pub list_filter_widget_outline: Option, + #[serde(rename = "listFilterWidget.noMatchesOutline")] + pub list_filter_widget_no_matches_outline: Option, +} From 978cff8095ba497daeaf37e320366833f6994ce6 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 9 Nov 2023 13:12:36 -0500 Subject: [PATCH 11/15] Use `IndexMap` for a deterministic order when importing syntax colors --- Cargo.lock | 1 + crates/theme2/src/themes/andromeda.rs | 16 +-- crates/theme2/src/themes/ayu.rs | 20 ++-- crates/theme2/src/themes/dracula.rs | 8 +- crates/theme2/src/themes/gruvbox.rs | 34 +++--- crates/theme2/src/themes/night_owl.rs | 22 ++-- crates/theme2/src/themes/nord.rs | 14 +-- crates/theme2/src/themes/notctis.rs | 110 +++++++++--------- crates/theme2/src/themes/palenight.rs | 8 +- crates/theme2/src/themes/rose_pine.rs | 8 +- crates/theme2/src/themes/solarized.rs | 22 ++-- crates/theme2/src/themes/synthwave_84.rs | 8 +- crates/theme_importer/Cargo.toml | 1 + crates/theme_importer/src/vscode/converter.rs | 5 +- crates/theme_importer/src/vscode/syntax.rs | 9 +- 15 files changed, 143 insertions(+), 143 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 52a4bae21f..ba76a5db4a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9134,6 +9134,7 @@ dependencies = [ "anyhow", "convert_case 0.6.0", "gpui2", + "indexmap 1.9.3", "log", "rust-embed", "serde", diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index e48f58a7a2..5d1afae99c 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -62,9 +62,9 @@ pub fn andromeda() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "punctuation".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0x9fa0a6cc).into()), ..Default::default() }, ), @@ -76,9 +76,9 @@ pub fn andromeda() -> UserThemeFamily { }, ), ( - "comment".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x9fa0a6cc).into()), + color: Some(rgba(0x95e072ff).into()), ..Default::default() }, ), @@ -135,9 +135,9 @@ pub fn andromeda() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "punctuation".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0x9fa0a6cc).into()), ..Default::default() }, ), @@ -149,9 +149,9 @@ pub fn andromeda() -> UserThemeFamily { }, ), ( - "comment".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x9fa0a6cc).into()), + color: Some(rgba(0x95e072ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 0401ff46a2..632b060fea 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -66,16 +66,16 @@ pub fn ayu() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "something".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0xfa8d3eff).into()), + color: Some(rgba(0x787b8099).into()), ..Default::default() }, ), ( - "comment".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x787b8099).into()), + color: Some(rgba(0xfa8d3eff).into()), ..Default::default() }, ), @@ -143,7 +143,7 @@ pub fn ayu() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "punctuation".into(), + "comment".into(), UserHighlightStyle { color: Some(rgba(0xb8cfe680).into()), ..Default::default() @@ -157,7 +157,7 @@ pub fn ayu() -> UserThemeFamily { }, ), ( - "comment".into(), + "punctuation".into(), UserHighlightStyle { color: Some(rgba(0xb8cfe680).into()), ..Default::default() @@ -227,16 +227,16 @@ pub fn ayu() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0xabb5be8c).into()), + color: Some(rgba(0xff8f3fff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xff8f3fff).into()), + color: Some(rgba(0xabb5be8c).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 716ece161e..07342b6e6b 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -74,16 +74,16 @@ pub fn dracula() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0xff79c6ff).into()), + color: Some(rgba(0xf8f8f2ff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xf8f8f2ff).into()), + color: Some(rgba(0xff79c6ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 1d4da9922e..542b0816bb 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -72,14 +72,14 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { color: Some(rgba(0x83a598ff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { color: Some(rgba(0x83a598ff).into()), ..Default::default() @@ -140,13 +140,6 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "punctuation".into(), - UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -161,6 +154,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -217,9 +217,9 @@ pub fn gruvbox() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "punctuation".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + color: Some(rgba(0x928374ff).into()), ..Default::default() }, ), @@ -231,9 +231,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "comment".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x928374ff).into()), + color: Some(rgba(0x83a598ff).into()), ..Default::default() }, ), @@ -369,16 +369,16 @@ pub fn gruvbox() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "something".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x928374ff).into()), ..Default::default() }, ), ( - "comment".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x928374ff).into()), + color: Some(rgba(0x066578ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 2d5b1bd26b..37b835119e 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -65,13 +65,6 @@ pub fn night_owl() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "punctuation".into(), - UserHighlightStyle { - color: Some(rgba(0xd3413dff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -86,6 +79,13 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xd3413dff).into()), + ..Default::default() + }, + ), ], }), }, @@ -144,16 +144,16 @@ pub fn night_owl() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "something".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x0b969bff).into()), + color: Some(rgba(0x989fb1ff).into()), ..Default::default() }, ), ( - "comment".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x989fb1ff).into()), + color: Some(rgba(0x0b969bff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 1a6e942b1f..4069fb3063 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -66,13 +66,6 @@ pub fn nord() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "something".into(), - UserHighlightStyle { - color: Some(rgba(0xa3be8cff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -87,6 +80,13 @@ pub fn nord() -> UserThemeFamily { ..Default::default() }, ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0xa3be8cff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index cab9f39530..ec4ca8527e 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -67,6 +67,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "comment".into(), + UserHighlightStyle { + color: Some(rgba(0x5888a5ff).into()), + ..Default::default() + }, + ), ( "punctuation".into(), UserHighlightStyle { @@ -81,13 +88,6 @@ pub fn notctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "comment".into(), - UserHighlightStyle { - color: Some(rgba(0x5888a5ff).into()), - ..Default::default() - }, - ), ], }), }, @@ -154,16 +154,16 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x49e9a6ff).into()), + color: Some(rgba(0x49ace9ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), @@ -225,13 +225,6 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "something".into(), - UserHighlightStyle { - color: Some(rgba(0x00b368ff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -246,6 +239,13 @@ pub fn notctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -304,13 +304,6 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "something".into(), - UserHighlightStyle { - color: Some(rgba(0x00b368ff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -325,6 +318,13 @@ pub fn notctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -384,16 +384,16 @@ pub fn notctis() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "punctuation".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x0094f0ff).into()), + color: Some(rgba(0x8ca6a6ff).into()), ..Default::default() }, ), ( - "comment".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x8ca6a6ff).into()), + color: Some(rgba(0x0094f0ff).into()), ..Default::default() }, ), @@ -462,13 +462,6 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "something".into(), - UserHighlightStyle { - color: Some(rgba(0x72c09fff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -483,6 +476,13 @@ pub fn notctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x72c09fff).into()), + ..Default::default() + }, + ), ], }), }, @@ -541,13 +541,6 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "something".into(), - UserHighlightStyle { - color: Some(rgba(0x49e9a6ff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -562,6 +555,13 @@ pub fn notctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "something".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -707,16 +707,16 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x49e9a6ff).into()), + color: Some(rgba(0x49ace9ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), @@ -779,9 +779,9 @@ pub fn notctis() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "something".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x49e9a6ff).into()), + color: Some(rgba(0x716b93ff).into()), ..Default::default() }, ), @@ -793,9 +793,9 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "comment".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x716b93ff).into()), + color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), @@ -865,16 +865,16 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x49e9a6ff).into()), + color: Some(rgba(0x49ace9ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 94e0024782..a371f1f117 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -143,16 +143,16 @@ pub fn palenight() -> UserThemeFamily { syntax: Some(UserSyntaxTheme { highlights: vec![ ( - "something".into(), + "comment".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x687097ff).into()), ..Default::default() }, ), ( - "comment".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x687097ff).into()), + color: Some(rgba(0x7fcac3ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 6d5f6b256d..9a029f4ba7 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -230,16 +230,16 @@ pub fn rose_pine() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x9893a5ff).into()), + color: Some(rgba(0xd7827dff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), + color: Some(rgba(0x9893a5ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 538beff8ba..58a4e3d3cb 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -61,13 +61,6 @@ pub fn solarized() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ - ( - "punctuation".into(), - UserHighlightStyle { - color: Some(rgba(0x657b83ff).into()), - ..Default::default() - }, - ), ( "comment".into(), UserHighlightStyle { @@ -82,6 +75,13 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -139,16 +139,16 @@ pub fn solarized() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0x93a1a1ff).into()), + color: Some(rgba(0x657b83ff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x657b83ff).into()), + color: Some(rgba(0x93a1a1ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index eec0fe4e14..269828fd5b 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -59,16 +59,16 @@ pub fn synthwave_84() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "something".into(), UserHighlightStyle { - color: Some(rgba(0xfede5cff).into()), + color: Some(rgba(0xfe444fff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xfe444fff).into()), + color: Some(rgba(0xfede5cff).into()), ..Default::default() }, ), diff --git a/crates/theme_importer/Cargo.toml b/crates/theme_importer/Cargo.toml index 1109a60977..28ae305735 100644 --- a/crates/theme_importer/Cargo.toml +++ b/crates/theme_importer/Cargo.toml @@ -10,6 +10,7 @@ publish = false anyhow.workspace = true convert_case = "0.6.0" gpui = { package = "gpui2", path = "../gpui2" } +indexmap = "1.6.2" log.workspace = true rust-embed.workspace = true serde.workspace = true diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index b203807dbc..d0fe5fb3d9 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -1,7 +1,6 @@ -use std::collections::HashMap; - use anyhow::Result; use gpui::{Hsla, Rgba}; +use indexmap::IndexMap; use theme::{ StatusColorsRefinement, ThemeColorsRefinement, UserSyntaxTheme, UserTheme, UserThemeStylesRefinement, @@ -34,7 +33,7 @@ impl VsCodeThemeConverter { let status_color_refinements = self.convert_status_colors()?; let theme_colors_refinements = self.convert_theme_colors()?; - let mut highlight_styles = HashMap::new(); + let mut highlight_styles = IndexMap::new(); for token_color in self.theme.token_colors { highlight_styles.extend(token_color.highlight_styles()?); diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index dc906bbc4b..8f98ebad97 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -2,9 +2,8 @@ // Map tokenColors style to HighlightStyle (fontStyle, foreground, background) // Take in the scopes from the tokenColors and try to match each to our HighlightStyles -use std::collections::HashMap; - use anyhow::Result; +use indexmap::IndexMap; use serde::Deserialize; use theme::UserHighlightStyle; @@ -33,13 +32,13 @@ pub struct VsCodeTokenColorSettings { } impl VsCodeTokenColor { - pub fn highlight_styles(&self) -> Result> { - let mut highlight_styles = HashMap::new(); + pub fn highlight_styles(&self) -> Result> { + let mut highlight_styles = IndexMap::new(); let scope = match self.scope { Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()], Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(), - None => return Ok(HashMap::new()), + None => return Ok(IndexMap::new()), }; for scope in &scope { From ff053890cfc2e374aa4f18c1f9145dafc02be64f Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 13:46:08 -0500 Subject: [PATCH 12/15] Extend UserSyntax to allow font_style and font_weight to be specified Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> --- crates/theme2/src/themes/ayu.rs | 3 ++ crates/theme2/src/themes/gruvbox.rs | 6 ++++ crates/theme2/src/themes/night_owl.rs | 2 ++ crates/theme2/src/themes/palenight.rs | 3 ++ crates/theme2/src/themes/rose_pine.rs | 6 ++++ crates/theme2/src/themes/solarized.rs | 3 ++ crates/theme2/src/themes/synthwave_84.rs | 1 + crates/theme2/src/user_theme.rs | 35 +++++++++++++++++- crates/theme_importer/src/theme_printer.rs | 36 +++++++++++++------ crates/theme_importer/src/vscode/converter.rs | 19 ++++++++-- crates/theme_importer/src/vscode/syntax.rs | 12 ++++++- 11 files changed, 111 insertions(+), 15 deletions(-) diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 632b060fea..14a8e47daf 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -69,6 +69,7 @@ pub fn ayu() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x787b8099).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -146,6 +147,7 @@ pub fn ayu() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0xb8cfe680).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -223,6 +225,7 @@ pub fn ayu() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0xabb5be8c).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 542b0816bb..453ff7b42a 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -68,6 +68,7 @@ pub fn gruvbox() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x928374ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -144,6 +145,7 @@ pub fn gruvbox() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x928374ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -220,6 +222,7 @@ pub fn gruvbox() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x928374ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -296,6 +299,7 @@ pub fn gruvbox() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x928374ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -372,6 +376,7 @@ pub fn gruvbox() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x928374ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -448,6 +453,7 @@ pub fn gruvbox() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x928374ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 37b835119e..acebba8bfe 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -69,6 +69,7 @@ pub fn night_owl() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x637777ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -147,6 +148,7 @@ pub fn night_owl() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x989fb1ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index a371f1f117..1266828ac0 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -69,6 +69,7 @@ pub fn palenight() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x687097ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -146,6 +147,7 @@ pub fn palenight() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x687097ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -223,6 +225,7 @@ pub fn palenight() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x687097ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 9a029f4ba7..475c023b01 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -70,6 +70,7 @@ pub fn rose_pine() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x6e6a86ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -77,6 +78,7 @@ pub fn rose_pine() -> UserThemeFamily { "something".into(), UserHighlightStyle { color: Some(rgba(0xebbcbaff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -148,6 +150,7 @@ pub fn rose_pine() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x6e6a86ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -155,6 +158,7 @@ pub fn rose_pine() -> UserThemeFamily { "something".into(), UserHighlightStyle { color: Some(rgba(0xea9a97ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -226,6 +230,7 @@ pub fn rose_pine() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x9893a5ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -233,6 +238,7 @@ pub fn rose_pine() -> UserThemeFamily { "something".into(), UserHighlightStyle { color: Some(rgba(0xd7827dff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 58a4e3d3cb..ebacffaaa2 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -65,6 +65,7 @@ pub fn solarized() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x657b83ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -72,6 +73,7 @@ pub fn solarized() -> UserThemeFamily { "something".into(), UserHighlightStyle { color: Some(rgba(0x93a1a1ff).into()), + font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, ), @@ -135,6 +137,7 @@ pub fn solarized() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x93a1a1ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 269828fd5b..18c734c743 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -55,6 +55,7 @@ pub fn synthwave_84() -> UserThemeFamily { "comment".into(), UserHighlightStyle { color: Some(rgba(0x848bbdff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/user_theme.rs b/crates/theme2/src/user_theme.rs index f0287bfb72..a1f7d4fd79 100644 --- a/crates/theme2/src/user_theme.rs +++ b/crates/theme2/src/user_theme.rs @@ -1,4 +1,4 @@ -use gpui::Hsla; +use gpui::{FontWeight, Hsla}; use refineable::Refineable; use serde::Deserialize; @@ -36,6 +36,39 @@ pub struct UserSyntaxTheme { #[derive(Clone, Default, Deserialize)] pub struct UserHighlightStyle { pub color: Option, + pub font_style: Option, + pub font_weight: Option, +} + +#[derive(Clone, Default, Deserialize)] +pub struct UserFontWeight(pub f32); + +impl UserFontWeight { + /// Thin weight (100), the thinnest value. + pub const THIN: Self = Self(FontWeight::THIN.0); + /// Extra light weight (200). + pub const EXTRA_LIGHT: Self = Self(FontWeight::EXTRA_LIGHT.0); + /// Light weight (300). + pub const LIGHT: Self = Self(FontWeight::LIGHT.0); + /// Normal (400). + pub const NORMAL: Self = Self(FontWeight::NORMAL.0); + /// Medium weight (500, higher than normal). + pub const MEDIUM: Self = Self(FontWeight::MEDIUM.0); + /// Semibold weight (600). + pub const SEMIBOLD: Self = Self(FontWeight::SEMIBOLD.0); + /// Bold weight (700). + pub const BOLD: Self = Self(FontWeight::BOLD.0); + /// Extra-bold weight (800). + pub const EXTRA_BOLD: Self = Self(FontWeight::EXTRA_BOLD.0); + /// Black weight (900), the thickest value. + pub const BLACK: Self = Self(FontWeight::BLACK.0); +} + +#[derive(Debug, Clone, Copy, Deserialize)] +pub enum UserFontStyle { + Normal, + Italic, + Oblique, } impl UserHighlightStyle { diff --git a/crates/theme_importer/src/theme_printer.rs b/crates/theme_importer/src/theme_printer.rs index f99030b4aa..9664d843dc 100644 --- a/crates/theme_importer/src/theme_printer.rs +++ b/crates/theme_importer/src/theme_printer.rs @@ -364,19 +364,33 @@ pub struct UserHighlightStylePrinter<'a>(&'a UserHighlightStyle); impl<'a> Debug for UserHighlightStylePrinter<'a> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let fields = vec![("color", self.0.color)]; - f.write_str("UserHighlightStyle {")?; - for (field_name, value) in fields { - if let Some(color) = value { - f.write_str(field_name)?; - f.write_str(": ")?; - f.write_str("Some(")?; - HslaPrinter(color).fmt(f)?; - f.write_str(")")?; - f.write_str(",")?; - } + if let Some(color) = self.0.color { + f.write_str("color")?; + f.write_str(": ")?; + f.write_str("Some(")?; + HslaPrinter(color).fmt(f)?; + f.write_str(")")?; + f.write_str(",")?; + } + + if let Some(font_style) = self.0.font_style { + f.write_str("font_style")?; + f.write_str(": ")?; + f.write_str("Some(")?; + write!(f, "UserFontStyle::{:?}", font_style)?; + f.write_str(")")?; + f.write_str(",")?; + } + + if let Some(font_weight) = self.0.font_weight.as_ref() { + f.write_str("font_weight")?; + f.write_str(": ")?; + f.write_str("Some(")?; + write!(f, "UserFontWeight({:?})", font_weight.0)?; + f.write_str(")")?; + f.write_str(",")?; } f.write_str("..Default::default()")?; diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index d0fe5fb3d9..6557c1b6ef 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -2,8 +2,8 @@ use anyhow::Result; use gpui::{Hsla, Rgba}; use indexmap::IndexMap; use theme::{ - StatusColorsRefinement, ThemeColorsRefinement, UserSyntaxTheme, UserTheme, - UserThemeStylesRefinement, + StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, UserSyntaxTheme, + UserTheme, UserThemeStylesRefinement, }; use crate::util::Traverse; @@ -14,6 +14,21 @@ pub(crate) fn try_parse_color(color: &str) -> Result { Ok(Rgba::try_from(color)?.into()) } +pub(crate) fn try_parse_font_weight(font_style: &str) -> Option { + match font_style { + style if style.contains("bold") => Some(UserFontWeight::BOLD), + _ => None, + } +} + +pub(crate) fn try_parse_font_style(font_style: &str) -> Option { + match font_style { + style if style.contains("italic") => Some(UserFontStyle::Italic), + style if style.contains("oblique") => Some(UserFontStyle::Oblique), + _ => None, + } +} + pub struct VsCodeThemeConverter { theme: VsCodeTheme, theme_metadata: ThemeMetadata, diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 8f98ebad97..1d92914df6 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -8,7 +8,7 @@ use serde::Deserialize; use theme::UserHighlightStyle; use crate::util::Traverse; -use crate::vscode::try_parse_color; +use crate::vscode::{try_parse_color, try_parse_font_style, try_parse_font_weight}; #[derive(Debug, Deserialize)] #[serde(untagged)] @@ -52,6 +52,16 @@ impl VsCodeTokenColor { .foreground .as_ref() .traverse(|color| try_parse_color(&color))?, + font_style: self + .settings + .font_style + .as_ref() + .and_then(|style| try_parse_font_style(&style)), + font_weight: self + .settings + .font_style + .as_ref() + .and_then(|style| try_parse_font_weight(&style)), }; if highlight_style.is_empty() { From 54157eb99aeaa4e4962d96bc73837d4a9ae3986e Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 14:41:26 -0500 Subject: [PATCH 13/15] Finish passing Syntax from VSCode themes to Zed Themes Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> --- Cargo.lock | 1 + assets/themes/src/vscode/noctis/family.json | 118 ++--- crates/theme2/src/registry.rs | 35 +- crates/theme2/src/themes/andromeda.rs | 59 ++- crates/theme2/src/themes/ayu.rs | 131 ++++- crates/theme2/src/themes/dracula.rs | 49 +- crates/theme2/src/themes/gruvbox.rs | 293 ++++++++++- crates/theme2/src/themes/mod.rs | 6 +- crates/theme2/src/themes/night_owl.rs | 97 +++- .../src/themes/{notctis.rs => noctis.rs} | 460 ++++++++++++++++-- crates/theme2/src/themes/nord.rs | 58 ++- crates/theme2/src/themes/palenight.rs | 134 ++++- crates/theme2/src/themes/rose_pine.rs | 134 ++++- crates/theme2/src/themes/solarized.rs | 113 ++++- crates/theme2/src/themes/synthwave_84.rs | 40 +- crates/theme2/src/user_theme.rs | 26 +- crates/theme_importer/Cargo.toml | 1 + crates/theme_importer/src/main.rs | 3 +- crates/theme_importer/src/vscode/converter.rs | 128 ++++- crates/theme_importer/src/vscode/syntax.rs | 381 ++++++--------- 20 files changed, 1797 insertions(+), 470 deletions(-) rename crates/theme2/src/themes/{notctis.rs => noctis.rs} (71%) diff --git a/Cargo.lock b/Cargo.lock index ba76a5db4a..863fb32d42 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9139,6 +9139,7 @@ dependencies = [ "rust-embed", "serde", "simplelog", + "strum", "theme2", "uuid 1.4.1", ] diff --git a/assets/themes/src/vscode/noctis/family.json b/assets/themes/src/vscode/noctis/family.json index 26aba7e213..525cb160f5 100644 --- a/assets/themes/src/vscode/noctis/family.json +++ b/assets/themes/src/vscode/noctis/family.json @@ -1,61 +1,61 @@ { - "name": "Notctis", - "author": "Liviu Schera (liviuschera)", - "themes": [ - { - "name": "Noctis Azureus", - "file_name": "azureus.json", - "appearance": "dark" - }, - { - "name": "Noctis Bordo", - "file_name": "bordo.json", - "appearance": "dark" - }, - { - "name": "Noctus Hibernus", - "file_name": "hibernus.json", - "appearance": "light" - }, - { - "name": "Noctis Lilac", - "file_name": "lilac.json", - "appearance": "dark" - }, - { - "name": "Noctis Lux", - "file_name": "lux.json", - "appearance": "light" - }, - { - "name": "Noctis Minimus", - "file_name": "minimus.json", - "appearance": "dark" - }, - { - "name": "Noctis", - "file_name": "noctis.json", - "appearance": "dark" - }, - { - "name": "Noctis Obscuro", - "file_name": "obscuro.json", - "appearance": "dark" - }, - { - "name": "Noctis Sereno", - "file_name": "obscuro.json", - "appearance": "dark" - }, - { - "name": "Noctis Uva", - "file_name": "uva.json", - "appearance": "dark" - }, - { - "name": "Noctis Viola", - "file_name": "viola.json", - "appearance": "dark" - } - ] + "name": "Noctis", + "author": "Liviu Schera (liviuschera)", + "themes": [ + { + "name": "Noctis Azureus", + "file_name": "azureus.json", + "appearance": "dark" + }, + { + "name": "Noctis Bordo", + "file_name": "bordo.json", + "appearance": "dark" + }, + { + "name": "Noctus Hibernus", + "file_name": "hibernus.json", + "appearance": "light" + }, + { + "name": "Noctis Lilac", + "file_name": "lilac.json", + "appearance": "dark" + }, + { + "name": "Noctis Lux", + "file_name": "lux.json", + "appearance": "light" + }, + { + "name": "Noctis Minimus", + "file_name": "minimus.json", + "appearance": "dark" + }, + { + "name": "Noctis", + "file_name": "noctis.json", + "appearance": "dark" + }, + { + "name": "Noctis Obscuro", + "file_name": "obscuro.json", + "appearance": "dark" + }, + { + "name": "Noctis Sereno", + "file_name": "obscuro.json", + "appearance": "dark" + }, + { + "name": "Noctis Uva", + "file_name": "uva.json", + "appearance": "dark" + }, + { + "name": "Noctis Viola", + "file_name": "viola.json", + "appearance": "dark" + } + ] } diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index 49546973c8..8f97354ec5 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use std::sync::Arc; use anyhow::{anyhow, Result}; -use gpui::SharedString; +use gpui::{HighlightStyle, SharedString}; use refineable::Refineable; use crate::{ @@ -39,9 +39,33 @@ impl ThemeRegistry { Appearance::Light => ThemeColors::default_light(), Appearance::Dark => ThemeColors::default_dark(), }; - theme_colors.refine(&user_theme.styles.colors); + let mut status_colors = StatusColors::default(); + status_colors.refine(&user_theme.styles.status); + + let mut syntax_colors = match user_theme.appearance { + Appearance::Light => SyntaxTheme::default_light(), + Appearance::Dark => SyntaxTheme::default_dark(), + }; + if let Some(user_syntax) = user_theme.styles.syntax { + syntax_colors.highlights = user_syntax + .highlights + .iter() + .map(|(syntax_token, highlight)| { + ( + syntax_token.clone(), + HighlightStyle { + color: highlight.color, + font_style: highlight.font_style.map(Into::into), + font_weight: highlight.font_weight.map(Into::into), + ..Default::default() + }, + ) + }) + .collect::>(); + } + Theme { id: uuid::Uuid::new_v4().to_string(), name: user_theme.name.into(), @@ -49,12 +73,9 @@ impl ThemeRegistry { styles: ThemeStyles { system: SystemColors::default(), colors: theme_colors, - status: StatusColors::default(), + status: status_colors, player: PlayerColors::default(), - syntax: match user_theme.appearance { - Appearance::Light => Arc::new(SyntaxTheme::default_light()), - Appearance::Dark => Arc::new(SyntaxTheme::default_dark()), - }, + syntax: Arc::new(syntax_colors), }, } })); diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 5d1afae99c..27e09553a0 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn andromeda() -> UserThemeFamily { @@ -61,6 +62,13 @@ pub fn andromeda() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xf39c11ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -69,16 +77,30 @@ pub fn andromeda() -> UserThemeFamily { }, ), ( - "something".into(), + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xffe66dff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc64dedff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x95e072ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "type".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0xffe66dff).into()), ..Default::default() }, ), @@ -134,6 +156,13 @@ pub fn andromeda() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xf39c11ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -142,16 +171,30 @@ pub fn andromeda() -> UserThemeFamily { }, ), ( - "something".into(), + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xffe66dff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc64dedff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x95e072ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "type".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0xffe66dff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 14a8e47daf..f1138a2a1b 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn ayu() -> UserThemeFamily { @@ -65,6 +66,20 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xf2ad48ff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xa37accff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -74,16 +89,38 @@ pub fn ayu() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0x4bbf98ff).into()), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xf2ad48ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), UserHighlightStyle { color: Some(rgba(0xfa8d3eff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "string".into(), UserHighlightStyle { - color: Some(rgba(0x787b8099).into()), + color: Some(rgba(0x86b300ff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x55b4d3ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -143,6 +180,20 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xffd173ff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xdfbfffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -152,16 +203,38 @@ pub fn ayu() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0x95e6cbff).into()), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xffd173ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), UserHighlightStyle { color: Some(rgba(0xffad65ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "string".into(), UserHighlightStyle { - color: Some(rgba(0xb8cfe680).into()), + color: Some(rgba(0xd4fe7fff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x5ccfe6ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -221,6 +294,20 @@ pub fn ayu() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xffb353ff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xd2a6ffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -230,16 +317,38 @@ pub fn ayu() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0x95e6cbff).into()), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xffb353ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), UserHighlightStyle { color: Some(rgba(0xff8f3fff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "string".into(), UserHighlightStyle { - color: Some(rgba(0xabb5be8c).into()), + color: Some(rgba(0xa9d94bff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x38b9e6ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 07342b6e6b..f00d1bcaee 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn dracula() -> UserThemeFamily { @@ -66,6 +67,14 @@ pub fn dracula() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0x50fa7bff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -74,19 +83,49 @@ pub fn dracula() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xf8f8f2ff).into()), + font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x50fa7bff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), UserHighlightStyle { color: Some(rgba(0xff79c6ff).into()), ..Default::default() }, ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xf1fa8cff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0x8be9fdff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xbd93f9ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 453ff7b42a..a9720f8384 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn gruvbox() -> UserThemeFamily { @@ -64,6 +65,13 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -73,16 +81,51 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xfb4833ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + color: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb25ff).into()), + ..Default::default() + }, + ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xfb4833ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), ..Default::default() }, ), @@ -141,6 +184,13 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -150,16 +200,51 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xfb4833ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + color: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb25ff).into()), + ..Default::default() + }, + ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xfb4833ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), ..Default::default() }, ), @@ -218,6 +303,13 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -227,16 +319,51 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xfb4833ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x83a598ff).into()), + color: Some(rgba(0xa89984ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb25ff).into()), + ..Default::default() + }, + ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xfb4833ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xfabd2eff).into()), ..Default::default() }, ), @@ -295,6 +422,13 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -304,16 +438,51 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0x9d0006ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0x9d0006ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), ..Default::default() }, ), @@ -372,6 +541,13 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -381,16 +557,51 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0x9d0006ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0x9d0006ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), ..Default::default() }, ), @@ -449,6 +660,13 @@ pub fn gruvbox() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -458,16 +676,51 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "something".into(), + "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0x9d0006ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x7c6f64ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0x9d0006ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xb57613ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/mod.rs b/crates/theme2/src/themes/mod.rs index c48338b184..4059d3751e 100644 --- a/crates/theme2/src/themes/mod.rs +++ b/crates/theme2/src/themes/mod.rs @@ -6,8 +6,8 @@ mod ayu; mod dracula; mod gruvbox; mod night_owl; +mod noctis; mod nord; -mod notctis; mod palenight; mod rose_pine; mod solarized; @@ -18,8 +18,8 @@ pub use ayu::*; pub use dracula::*; pub use gruvbox::*; pub use night_owl::*; +pub use noctis::*; pub use nord::*; -pub use notctis::*; pub use palenight::*; pub use rose_pine::*; pub use solarized::*; @@ -37,7 +37,7 @@ pub(crate) fn all_user_themes() -> Vec { dracula(), solarized(), nord(), - notctis(), + noctis(), ayu(), gruvbox(), ] diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index acebba8bfe..fe7a478ab2 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn night_owl() -> UserThemeFamily { @@ -65,6 +66,21 @@ pub fn night_owl() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xc5e478ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -74,16 +90,39 @@ pub fn night_owl() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x82aaffff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0xd3413dff).into()), + color: Some(rgba(0xc792eaff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc792eaff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xecc48dff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x7fdbcaff).into()), ..Default::default() }, ), @@ -144,6 +183,21 @@ pub fn night_owl() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0x4876d6ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x4876d6ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -153,16 +207,39 @@ pub fn night_owl() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x0b969bff).into()), + color: Some(rgba(0x4876d6ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0xd3413dff).into()), + color: Some(rgba(0x994bc3ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0x994bc3ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0x4876d6ff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x0b969bff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/noctis.rs similarity index 71% rename from crates/theme2/src/themes/notctis.rs rename to crates/theme2/src/themes/noctis.rs index ec4ca8527e..bcedb121c7 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -3,14 +3,15 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; -pub fn notctis() -> UserThemeFamily { +pub fn noctis() -> UserThemeFamily { UserThemeFamily { - name: "Notctis".into(), + name: "Noctis".into(), author: "Liviu Schera (liviuschera)".into(), themes: vec![ UserTheme { @@ -67,6 +68,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -75,19 +83,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xbecfdaff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -146,6 +182,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -154,19 +197,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xcbbec2ff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -225,6 +296,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x5841ffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -233,19 +311,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x0094f0ff).into()), + color: Some(rgba(0x004d57ff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x0094a8ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xff5792ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x00b368ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe64100ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -304,6 +410,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x5841ffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -312,19 +425,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x0094f0ff).into()), + color: Some(rgba(0x0c006bff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x0094a8ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xff5792ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x00b368ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe64100ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -383,6 +524,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x5841ffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -391,19 +539,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x0094f0ff).into()), + color: Some(rgba(0x004d57ff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x0094a8ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xff5792ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x00b368ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe64100ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -462,6 +638,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x7067b1ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -470,19 +653,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x5897bfff).into()), + color: Some(rgba(0xc5cdd3ff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x3e848dff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc88da2ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x72c09fff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xc37455ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -541,6 +752,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -549,19 +767,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xb1c9ccff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -620,6 +866,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -628,19 +881,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xb1c9ccff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -699,6 +980,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -707,19 +995,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xb1c9ccff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -778,6 +1094,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -786,19 +1109,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xc5c2d6ff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -857,6 +1208,13 @@ pub fn notctis() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x705febff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -865,19 +1223,47 @@ pub fn notctis() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x49ace9ff).into()), + color: Some(rgba(0xccbfd9ff).into()), ..Default::default() }, ), ( - "something".into(), + "constructor".into(), + UserHighlightStyle { + font_weight: Some(UserFontWeight(700.0)), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x15a2b6ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xdf759aff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0x49e9a6ff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe66432ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 4069fb3063..423725a457 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn nord() -> UserThemeFamily { @@ -66,6 +67,20 @@ pub fn nord() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0x8fbcbbff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x81a1c1ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -74,19 +89,54 @@ pub fn nord() -> UserThemeFamily { }, ), ( - "punctuation".into(), + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xebcb8bff).into()), + ..Default::default() + }, + ), + ( + "emphasis".into(), + UserHighlightStyle { + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x88bfd0ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), UserHighlightStyle { color: Some(rgba(0x81a1c1ff).into()), ..Default::default() }, ), ( - "something".into(), + "punctuation".into(), + UserHighlightStyle { + color: Some(rgba(0xeceff4ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), UserHighlightStyle { color: Some(rgba(0xa3be8cff).into()), ..Default::default() }, ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x81a1c1ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 1266828ac0..8f641dce0a 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn palenight() -> UserThemeFamily { @@ -65,6 +66,20 @@ pub fn palenight() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xffcb6bff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -74,16 +89,37 @@ pub fn palenight() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x82aaffff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0xd3413dff).into()), + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc792eaff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xff5571ff).into()), ..Default::default() }, ), @@ -143,6 +179,20 @@ pub fn palenight() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xffcb6bff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -152,16 +202,37 @@ pub fn palenight() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x82aaffff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0xd3413dff).into()), + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc792eaff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xff5571ff).into()), ..Default::default() }, ), @@ -221,6 +292,20 @@ pub fn palenight() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xffcb6bff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -230,16 +315,37 @@ pub fn palenight() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x82aaffff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0xd3413dff).into()), + color: Some(rgba(0x82aaffff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xc792eaff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xff5571ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 475c023b01..275fe575bd 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn rose_pine() -> UserThemeFamily { @@ -66,6 +67,21 @@ pub fn rose_pine() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xc4a7e7ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xebbcbaff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -75,17 +91,37 @@ pub fn rose_pine() -> UserThemeFamily { }, ), ( - "something".into(), + "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xebbcbaff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x30738fff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x6e6a86ff).into()), + color: Some(rgba(0x908caaff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xf5c177ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0x9ccfd8ff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe0def4ff).into()), ..Default::default() }, ), @@ -146,6 +182,21 @@ pub fn rose_pine() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xc4a7e7ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xea9a97ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -155,17 +206,37 @@ pub fn rose_pine() -> UserThemeFamily { }, ), ( - "something".into(), + "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xea9a97ff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x3d8fb0ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x6e6a86ff).into()), + color: Some(rgba(0x908caaff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xf5c177ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0x9ccfd8ff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0xe0def4ff).into()), ..Default::default() }, ), @@ -226,6 +297,21 @@ pub fn rose_pine() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0x9079a9ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xd7827dff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -235,17 +321,37 @@ pub fn rose_pine() -> UserThemeFamily { }, ), ( - "something".into(), + "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x276983ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x9893a5ff).into()), + color: Some(rgba(0x797593ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0x55949fff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x575279ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index ebacffaaa2..ad986fde5c 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn solarized() -> UserThemeFamily { @@ -61,6 +62,20 @@ pub fn solarized() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xb58800ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -70,17 +85,51 @@ pub fn solarized() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x93a1a1ff).into()), - font_weight: Some(UserFontWeight(700.0)), + color: Some(rgba(0xcb4b15ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0x657b83ff).into()), + color: Some(rgba(0x258ad2ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0x859900ff).into()), + ..Default::default() + }, + ), + ( + "property".into(), + UserHighlightStyle { + color: Some(rgba(0x839496ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0x29a198ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0xcb4b15ff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x258ad2ff).into()), ..Default::default() }, ), @@ -133,6 +182,20 @@ pub fn solarized() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0x93a1a1ff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xb58800ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -142,16 +205,44 @@ pub fn solarized() -> UserThemeFamily { }, ), ( - "something".into(), + "constant".into(), UserHighlightStyle { - color: Some(rgba(0x657b83ff).into()), + color: Some(rgba(0xcb4b15ff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "function".into(), UserHighlightStyle { - color: Some(rgba(0x93a1a1ff).into()), + color: Some(rgba(0x258ad2ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0x859900ff).into()), + ..Default::default() + }, + ), + ( + "string".into(), + UserHighlightStyle { + color: Some(rgba(0x29a198ff).into()), + ..Default::default() + }, + ), + ( + "type".into(), + UserHighlightStyle { + color: Some(rgba(0x258ad2ff).into()), + ..Default::default() + }, + ), + ( + "variable".into(), + UserHighlightStyle { + color: Some(rgba(0x258ad2ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 18c734c743..77686a18c6 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -3,9 +3,10 @@ use gpui::rgba; +#[allow(unused)] use crate::{ - Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; pub fn synthwave_84() -> UserThemeFamily { @@ -51,6 +52,20 @@ pub fn synthwave_84() -> UserThemeFamily { }, syntax: Some(UserSyntaxTheme { highlights: vec![ + ( + "attribute".into(), + UserHighlightStyle { + color: Some(rgba(0xfede5cff).into()), + ..Default::default() + }, + ), + ( + "boolean".into(), + UserHighlightStyle { + color: Some(rgba(0xf97d71ff).into()), + ..Default::default() + }, + ), ( "comment".into(), UserHighlightStyle { @@ -60,16 +75,31 @@ pub fn synthwave_84() -> UserThemeFamily { }, ), ( - "something".into(), + "function".into(), + UserHighlightStyle { + color: Some(rgba(0x35f9f5ff).into()), + ..Default::default() + }, + ), + ( + "keyword".into(), + UserHighlightStyle { + color: Some(rgba(0xfede5cff).into()), + ..Default::default() + }, + ), + ( + "type".into(), UserHighlightStyle { color: Some(rgba(0xfe444fff).into()), ..Default::default() }, ), ( - "punctuation".into(), + "variable".into(), UserHighlightStyle { - color: Some(rgba(0xfede5cff).into()), + color: Some(rgba(0xfe444fff).into()), + font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, ), diff --git a/crates/theme2/src/user_theme.rs b/crates/theme2/src/user_theme.rs index a1f7d4fd79..b1f689416d 100644 --- a/crates/theme2/src/user_theme.rs +++ b/crates/theme2/src/user_theme.rs @@ -1,4 +1,4 @@ -use gpui::{FontWeight, Hsla}; +use gpui::{FontStyle, FontWeight, Hsla}; use refineable::Refineable; use serde::Deserialize; @@ -40,7 +40,7 @@ pub struct UserHighlightStyle { pub font_weight: Option, } -#[derive(Clone, Default, Deserialize)] +#[derive(Clone, Copy, Default, Deserialize)] pub struct UserFontWeight(pub f32); impl UserFontWeight { @@ -64,6 +64,12 @@ impl UserFontWeight { pub const BLACK: Self = Self(FontWeight::BLACK.0); } +impl From for FontWeight { + fn from(value: UserFontWeight) -> Self { + Self(value.0) + } +} + #[derive(Debug, Clone, Copy, Deserialize)] pub enum UserFontStyle { Normal, @@ -71,8 +77,18 @@ pub enum UserFontStyle { Oblique, } -impl UserHighlightStyle { - pub fn is_empty(&self) -> bool { - self.color.is_none() +impl From for FontStyle { + fn from(value: UserFontStyle) -> Self { + match value { + UserFontStyle::Normal => FontStyle::Normal, + UserFontStyle::Italic => FontStyle::Italic, + UserFontStyle::Oblique => FontStyle::Oblique, + } + } +} + +impl UserHighlightStyle { + pub fn is_empty(&self) -> bool { + self.color.is_none() && self.font_style.is_none() && self.font_weight.is_none() } } diff --git a/crates/theme_importer/Cargo.toml b/crates/theme_importer/Cargo.toml index 28ae305735..306cea8ecb 100644 --- a/crates/theme_importer/Cargo.toml +++ b/crates/theme_importer/Cargo.toml @@ -15,5 +15,6 @@ log.workspace = true rust-embed.workspace = true serde.workspace = true simplelog = "0.9" +strum = { version = "0.25.0", features = ["derive"] } theme = { package = "theme2", path = "../theme2", features = ["importing-themes"] } uuid.workspace = true diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 02ff4d834e..579b48fe1d 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -158,9 +158,10 @@ fn main() -> Result<()> { use gpui::rgba; + #[allow(unused)] use crate::{{ Appearance, StatusColorsRefinement, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, - UserTheme, UserThemeFamily, UserThemeStylesRefinement, + UserTheme, UserThemeFamily, UserThemeStylesRefinement, UserFontWeight, UserFontStyle }}; pub fn {theme_family_slug}() -> UserThemeFamily {{ diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 6557c1b6ef..39cc003094 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -1,15 +1,18 @@ use anyhow::Result; use gpui::{Hsla, Rgba}; use indexmap::IndexMap; +use strum::IntoEnumIterator; use theme::{ - StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, UserSyntaxTheme, - UserTheme, UserThemeStylesRefinement, + StatusColorsRefinement, ThemeColorsRefinement, UserFontStyle, UserFontWeight, + UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeStylesRefinement, }; use crate::util::Traverse; use crate::vscode::VsCodeTheme; use crate::ThemeMetadata; +use super::{VsCodeTokenScope, ZedSyntaxToken}; + pub(crate) fn try_parse_color(color: &str) -> Result { Ok(Rgba::try_from(color)?.into()) } @@ -47,16 +50,7 @@ impl VsCodeThemeConverter { let status_color_refinements = self.convert_status_colors()?; let theme_colors_refinements = self.convert_theme_colors()?; - - let mut highlight_styles = IndexMap::new(); - - for token_color in self.theme.token_colors { - highlight_styles.extend(token_color.highlight_styles()?); - } - - let syntax_theme = UserSyntaxTheme { - highlights: highlight_styles.into_iter().collect(), - }; + let syntax_theme = self.convert_syntax_theme()?; Ok(UserTheme { name: self.theme_metadata.name.into(), @@ -259,4 +253,114 @@ impl VsCodeThemeConverter { ..Default::default() }) } + + fn convert_syntax_theme(&self) -> Result { + let mut highlight_styles = IndexMap::new(); + + for syntax_token in ZedSyntaxToken::iter() { + let vscode_scope = syntax_token.to_vscode(); + + let token_color = self + .theme + .token_colors + .iter() + .find(|token_color| match token_color.scope { + Some(VsCodeTokenScope::One(ref scope)) => scope == vscode_scope, + Some(VsCodeTokenScope::Many(ref scopes)) => { + scopes.contains(&vscode_scope.to_string()) + } + None => false, + }); + + let Some(token_color) = token_color else { + continue; + }; + + let highlight_style = UserHighlightStyle { + color: token_color + .settings + .foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + font_style: token_color + .settings + .font_style + .as_ref() + .and_then(|style| try_parse_font_style(&style)), + font_weight: token_color + .settings + .font_style + .as_ref() + .and_then(|style| try_parse_font_weight(&style)), + }; + + if highlight_style.is_empty() { + continue; + } + + highlight_styles.insert(syntax_token.to_string(), highlight_style); + } + + Ok(UserSyntaxTheme { + highlights: highlight_styles.into_iter().collect(), + }) + + // let mut highlight_styles = IndexMap::new(); + + // for token_color in self.theme.token_colors { + // highlight_styles.extend(token_color.highlight_styles()?); + // } + + // let syntax_theme = UserSyntaxTheme { + // highlights: highlight_styles.into_iter().collect(), + // }; + + // pub fn highlight_styles(&self) -> Result> { + // let mut highlight_styles = IndexMap::new(); + + // for syntax_token in ZedSyntaxToken::iter() { + // let scope = syntax_token.to_scope(); + + // // let token_color = + // } + + // let scope = match self.scope { + // Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()], + // Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(), + // None => return Ok(IndexMap::new()), + // }; + + // for scope in &scope { + // let Some(syntax_token) = Self::to_zed_token(&scope) else { + // continue; + // }; + + // let highlight_style = UserHighlightStyle { + // color: self + // .settings + // .foreground + // .as_ref() + // .traverse(|color| try_parse_color(&color))?, + // font_style: self + // .settings + // .font_style + // .as_ref() + // .and_then(|style| try_parse_font_style(&style)), + // font_weight: self + // .settings + // .font_style + // .as_ref() + // .and_then(|style| try_parse_font_weight(&style)), + // }; + + // if highlight_style.is_empty() { + // continue; + // } + + // highlight_styles.insert(syntax_token, highlight_style); + // } + + // Ok(highlight_styles) + // } + } } diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 1d92914df6..4c3977af93 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -1,14 +1,5 @@ -// Create ThemeSyntaxRefinement -// Map tokenColors style to HighlightStyle (fontStyle, foreground, background) -// Take in the scopes from the tokenColors and try to match each to our HighlightStyles - -use anyhow::Result; -use indexmap::IndexMap; use serde::Deserialize; -use theme::UserHighlightStyle; - -use crate::util::Traverse; -use crate::vscode::{try_parse_color, try_parse_font_style, try_parse_font_weight}; +use strum::EnumIter; #[derive(Debug, Deserialize)] #[serde(untagged)] @@ -31,243 +22,145 @@ pub struct VsCodeTokenColorSettings { pub font_style: Option, } -impl VsCodeTokenColor { - pub fn highlight_styles(&self) -> Result> { - let mut highlight_styles = IndexMap::new(); +#[derive(Debug, PartialEq, Copy, Clone, EnumIter)] +pub enum ZedSyntaxToken { + SyntaxAttribute, + SyntaxBoolean, + SyntaxComment, + SyntaxCommentDoc, + SyntaxConstant, + SyntaxConstructor, + SyntaxEmbedded, + SyntaxEmphasis, + SyntaxEmphasisStrong, + SyntaxEnum, + SyntaxFunction, + SyntaxHint, + SyntaxKeyword, + SyntaxLabel, + SyntaxLinkText, + SyntaxLinkUri, + SyntaxNumber, + SyntaxOperator, + SyntaxPredictive, + SyntaxPreproc, + SyntaxPrimary, + SyntaxProperty, + SyntaxPunctuation, + SyntaxPunctuationBracket, + SyntaxPunctuationDelimiter, + SyntaxPunctuationListMarker, + SyntaxPunctuationSpecial, + SyntaxString, + SyntaxStringEscape, + SyntaxStringRegex, + SyntaxStringSpecial, + SyntaxStringSpecialSymbol, + SyntaxTag, + SyntaxTextLiteral, + SyntaxTitle, + SyntaxType, + SyntaxVariable, + SyntaxVariableSpecial, + SyntaxVariant, +} - let scope = match self.scope { - Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()], - Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(), - None => return Ok(IndexMap::new()), - }; +impl std::fmt::Display for ZedSyntaxToken { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + use ZedSyntaxToken::*; - for scope in &scope { - let Some(syntax_token) = Self::to_zed_token(&scope) else { - continue; - }; - - let highlight_style = UserHighlightStyle { - color: self - .settings - .foreground - .as_ref() - .traverse(|color| try_parse_color(&color))?, - font_style: self - .settings - .font_style - .as_ref() - .and_then(|style| try_parse_font_style(&style)), - font_weight: self - .settings - .font_style - .as_ref() - .and_then(|style| try_parse_font_weight(&style)), - }; - - if highlight_style.is_empty() { - continue; + write!( + f, + "{}", + match self { + SyntaxAttribute => "attribute", + SyntaxBoolean => "boolean", + SyntaxComment => "comment", + SyntaxCommentDoc => "comment.doc", + SyntaxConstant => "constant", + SyntaxConstructor => "constructor", + SyntaxEmbedded => "embedded", + SyntaxEmphasis => "emphasis", + SyntaxEmphasisStrong => "emphasis.strong", + SyntaxEnum => "enum", + SyntaxFunction => "function", + SyntaxHint => "hint", + SyntaxKeyword => "keyword", + SyntaxLabel => "label", + SyntaxLinkText => "link_text", + SyntaxLinkUri => "link_uri", + SyntaxNumber => "number", + SyntaxOperator => "operator", + SyntaxPredictive => "predictive", + SyntaxPreproc => "preproc", + SyntaxPrimary => "primary", + SyntaxProperty => "property", + SyntaxPunctuation => "punctuation", + SyntaxPunctuationBracket => "punctuation.bracket", + SyntaxPunctuationDelimiter => "punctuation.delimiter", + SyntaxPunctuationListMarker => "punctuation.list_marker", + SyntaxPunctuationSpecial => "punctuation.special", + SyntaxString => "string", + SyntaxStringEscape => "string.escape", + SyntaxStringRegex => "string.regex", + SyntaxStringSpecial => "string.special", + SyntaxStringSpecialSymbol => "string.special.symbol", + SyntaxTag => "tag", + SyntaxTextLiteral => "text.literal", + SyntaxTitle => "title", + SyntaxType => "type", + SyntaxVariable => "variable", + SyntaxVariableSpecial => "variable.special", + SyntaxVariant => "variant", } - - highlight_styles.insert(syntax_token, highlight_style); - } - - Ok(highlight_styles) - } - - fn to_zed_token(scope: &str) -> Option { - match scope { - "attribute" => Some("attribute".to_string()), - "boolean" => Some("boolean".to_string()), - "comment" => Some("comment".to_string()), - "comment.doc" => Some("comment.doc".to_string()), - "punctuation" - | "punctuation.accessor" - | "punctuation.definition.array.begin.json" - | "punctuation.definition.array.end.json" - | "punctuation.definition.dictionary.begin.json" - | "punctuation.definition.dictionary.end.json" - | "punctuation.definition.markdown" - | "punctuation.definition.tag" - | "punctuation.definition.tag.begin" - | "punctuation.definition.tag.end" - | "punctuation.definition.template-expression" - | "punctuation.definition.variable" - | "punctuation.section" - | "punctuation.section.embedded" - | "punctuation.section.embedded.begin" - | "punctuation.section.embedded.end" - | "punctuation.separator" - | "punctuation.separator.array.json" - | "punctuation.separator.dictionary.key-value.json" - | "punctuation.separator.dictionary.pair.json" => Some("punctuation".to_string()), - - // --- - "constant" | "character" | "language" | "language.python" | "numeric" | "other" - | "other.symbol" => Some("something".to_string()), - - "entity" - | "name" - | "name.class" - | "name.filename.find-in-files" - | "name.function" - | "name.function.python" - | "name.import" - | "name.package" - | "name.tag" - | "name.type" - | "name.type.class.python" - | "other.attribute-name" - | "other.inherited-class" => Some("something".to_string()), - - "markup" | "bold" | "changed" | "deleted" | "heading" | "heading.setext" - | "inline.raw" | "italic" | "list" | "quote" | "raw" | "raw.inline" | "strike" - | "table" | "underline.link" => Some("something".to_string()), - - "source" => Some("something".to_string()), - "storage" => Some("something".to_string()), - "string" => Some("something".to_string()), - "support" => Some("something".to_string()), - "text" => Some("something".to_string()), - "token" => Some("something".to_string()), - "variable" => Some("something".to_string()), - _ => None, - } + ) } } -// "comment" => "" -// "constant.character" => "" -// "constant.language" => "" -// "constant.language.python" => "" -// "constant.numeric" => "" -// "constant.numeric.line-number.find-in-files - match" => "" -// "constant.numeric.line-number.match" => "" -// "constant.other" => "" -// "constant.other.symbol" => "" -// "entity.name" => "" -// "entity.name.class" => "" -// "entity.name.filename.find-in-files" => "" -// "entity.name.function" => "" -// "entity.name.function.python" => "" -// "entity.name.import" => "" -// "entity.name.package" => "" -// "entity.name.tag" => "" -// "entity.name.type" => "" -// "entity.name.type.class.python" => "" -// "entity.other.attribute-name" => "" -// "entity.other.inherited-class" => "" -// "invalid" => "" -// "keyword" => "" -// "keyword.control.from" => "" -// "keyword.control.import" => "" -// "keyword.operator" => "" -// "keyword.other.new" => "" -// "markup.bold markup.italic" => "" -// "markup.bold" => "" -// "markup.changed" => "" -// "markup.deleted" => "" -// "markup.heading entity.name" => "" -// "markup.heading" => "" -// "markup.heading.setext" => "" -// "markup.inline.raw" => "" -// "markup.inserted" => "" -// "markup.inserted" => "" -// "markup.italic markup.bold" => "" -// "markup.italic" => "" -// "markup.list punctuation.definition.list.begin" => "" -// "markup.list" => "" -// "markup.quote" => "" -// "markup.raw" => "" -// "markup.raw.inline" => "" -// "markup.strike" => "" -// "markup.table" => "" -// "markup.underline.link" => "" -// "message.error" => "" -// "meta.decorator punctuation.decorator" => "" -// "meta.decorator variable.other" => "" -// "meta.diff" => "" -// "meta.diff.header" => "" -// "meta.embedded" => "" -// "meta.function-call" => "" -// "meta.function-call.generic" => "" -// "meta.import" => "" -// "meta.parameter" => "" -// "meta.preprocessor" => "" -// "meta.separator" => "" -// "meta.tag.sgml" => "" -// "punctuation.accessor" => "" -// "punctuation.definition.array.begin.json" => "" -// "punctuation.definition.array.end.json" => "" -// "punctuation.definition.dictionary.begin.json" => "" -// "punctuation.definition.dictionary.end.json" => "" -// "punctuation.definition.markdown" => "" -// "punctuation.definition.tag" => "" -// "punctuation.definition.tag.begin" => "" -// "punctuation.definition.tag.end" => "" -// "punctuation.definition.template-expression" => "" -// "punctuation.definition.variable" => "" -// "punctuation.section" => "" -// "punctuation.section.embedded" => "" -// "punctuation.section.embedded.begin" => "" -// "punctuation.section.embedded.end" => "" -// "punctuation.separator" => "" -// "punctuation.separator.array.json" => "" -// "punctuation.separator.dictionary.key-value.json" => "" -// "punctuation.separator.dictionary.pair.json" => "" -// "punctuation.terminator" => "" -// "source.c storage.type" => "" -// "source.css entity.name.tag" => "" -// "source.css support.type" => "" -// "source.go storage.type" => "" -// "source.groovy.embedded" => "" -// "source.haskell storage.type" => "" -// "source.java storage.type" => "" -// "source.java storage.type.primitive" => "" -// "source.less entity.name.tag" => "" -// "source.less support.type" => "" -// "source.python" => "" -// "source.ruby variable.other.readwrite" => "" -// "source.sass entity.name.tag" => "" -// "source.sass support.type" => "" -// "source.scss entity.name.tag" => "" -// "source.scss support.type" => "" -// "source.stylus entity.name.tag" => "" -// "source.stylus support.type" => "" -// "source.ts" => "" -// "storage" => "" -// "storage.modifier" => "" -// "storage.modifier.async" => "" -// "storage.modifier.tsx" => "" -// "storage.type.annotation" => "" -// "storage.type.function" => "" -// "string" => "" -// "string.other.link" => "" -// "string.regexp" => "" -// "support.class" => "" -// "support.class.component" => "" -// "support.constant" => "" -// "support.function" => "" -// "support.function.construct" => "" -// "support.function.go" => "" -// "support.macro" => "" -// "support.other.variable" => "" -// "support.type" => "" -// "support.type.exception" => "" -// "support.type.primitive" => "" -// "support.type.property-name" => "" -// "support.type.python" => "" -// "text.html.markdown markup.inline.raw" => "" -// "text.html.markdown meta.dummy.line-break" => "" -// "token.debug-token" => "" -// "token.error-token" => "" -// "token.info-token" => "" -// "token.warn-token" => "" -// "variable" => "" -// "variable.annotation" => "" -// "variable.function" => "" -// "variable.language" => "" -// "variable.member" => "" -// "variable.object.property" => "" -// "variable.other" => "" -// "variable.parameter" => "" -// "variable.parameter.function-call" => "" +impl ZedSyntaxToken { + pub fn to_vscode(&self) -> &'static str { + use ZedSyntaxToken::*; + + match self { + SyntaxAttribute => "entity.other.attribute-name", + SyntaxBoolean => "constant.language", + SyntaxComment => "comment", + SyntaxCommentDoc => "comment.block.documentation", + SyntaxConstant => "constant.character", + SyntaxConstructor => "entity.name.function.definition.special.constructor", + SyntaxEmbedded => "embedded", + SyntaxEmphasis => "emphasis", + SyntaxEmphasisStrong => "emphasis.strong", + SyntaxEnum => "support.type.enum", + SyntaxFunction => "entity.name.function", + SyntaxHint => "hint", + SyntaxKeyword => "keyword", + SyntaxLabel => "label", + SyntaxLinkText => "link_text", + SyntaxLinkUri => "link_uri", + SyntaxNumber => "number", + SyntaxOperator => "operator", + SyntaxPredictive => "predictive", + SyntaxPreproc => "preproc", + SyntaxPrimary => "primary", + SyntaxProperty => "variable.object.property", //"variable.other.field" + SyntaxPunctuation => "punctuation", + SyntaxPunctuationBracket => "punctuation.bracket", + SyntaxPunctuationDelimiter => "punctuation.delimiter", + SyntaxPunctuationListMarker => "punctuation.list_marker", + SyntaxPunctuationSpecial => "punctuation.special", + SyntaxString => "string", + SyntaxStringEscape => "string.escape", + SyntaxStringRegex => "string.regex", + SyntaxStringSpecial => "string.special", + SyntaxStringSpecialSymbol => "string.special.symbol", + SyntaxTag => "tag", + SyntaxTextLiteral => "text.literal", + SyntaxTitle => "title", + SyntaxType => "entity.name.type", + SyntaxVariable => "variable.language", + SyntaxVariableSpecial => "variable.special", + SyntaxVariant => "variant", + } + } +} From 1c6a960bbfc5265ee300f7de30a67d9c1eea3cc8 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 9 Nov 2023 14:53:04 -0500 Subject: [PATCH 14/15] Deal with special case where a VSCode theme doesn't have a `foreground` color Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> --- crates/theme2/src/themes/solarized.rs | 2 ++ crates/theme_importer/src/vscode/converter.rs | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index ad986fde5c..46ef78213b 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -31,6 +31,7 @@ pub fn solarized() -> UserThemeFamily { element_selected: Some(rgba(0x005a6fff).into()), drop_target_background: Some(rgba(0x00435388).into()), ghost_element_hover: Some(rgba(0x004353aa).into()), + text: Some(rgba(0xbbbbbbff).into()), tab_inactive_background: Some(rgba(0x003f51ff).into()), tab_active_background: Some(rgba(0x002a36ff).into()), editor_background: Some(rgba(0x002a35ff).into()), @@ -153,6 +154,7 @@ pub fn solarized() -> UserThemeFamily { element_hover: Some(rgba(0xdec98744).into()), element_selected: Some(rgba(0xdec987ff).into()), ghost_element_hover: Some(rgba(0xdec98744).into()), + text: Some(rgba(0x333333ff).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), editor_background: Some(rgba(0xfdf6e3ff).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 39cc003094..916b2f27a6 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -157,7 +157,17 @@ impl VsCodeThemeConverter { text: vscode_colors .foreground .as_ref() - .traverse(|color| try_parse_color(&color))?, + .traverse(|color| try_parse_color(&color))? + .or_else(|| { + self.theme + .token_colors + .iter() + .find(|token_color| token_color.scope.is_none()) + .and_then(|token_color| token_color.settings.foreground.as_ref()) + .traverse(|color| try_parse_color(&color)) + .ok() + .flatten() + }), tab_active_background: vscode_colors .tab_active_background .as_ref() From 7b489f5e2e91e756b84499f3b31b5f0c4f5ef94a Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 9 Nov 2023 15:16:59 -0500 Subject: [PATCH 15/15] Allow user-theme related methods to be unused --- crates/theme2/src/registry.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index 8f97354ec5..0c61f6f224 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -27,12 +27,14 @@ impl ThemeRegistry { } } + #[allow(unused)] fn insert_user_theme_familes(&mut self, families: impl IntoIterator) { for family in families.into_iter() { self.insert_user_themes(family.themes); } } + #[allow(unused)] fn insert_user_themes(&mut self, themes: impl IntoIterator) { self.insert_themes(themes.into_iter().map(|user_theme| { let mut theme_colors = match user_theme.appearance {