Add additional status colors and style diagnostic popovers (#3846)

Marshall Bowers created

This PR adds additional background and border colors for each of the
status colors to the theme.

These colors are then used to style the diagnostic popovers:

<img width="407" alt="Screenshot 2024-01-02 at 4 25 50 PM"
src="https://github.com/zed-industries/zed/assets/1486634/fbc64ea7-3dcd-43b7-8520-91f16304bfba">

<img width="396" alt="Screenshot 2024-01-02 at 4 26 05 PM"
src="https://github.com/zed-industries/zed/assets/1486634/6e4a44bf-4aac-4595-afff-7fbf8b2b9e1f">

Release Notes:

- N/A

Change summary

crates/editor2/src/display_map.rs           |   2 
crates/editor2/src/editor.rs                |  35 
crates/editor2/src/hover_popover.rs         |  54 +
crates/theme2/src/one_themes.rs             |  28 +
crates/theme2/src/styles/status.rs          |  84 +++
crates/theme2/src/theme2.rs                 |  21 
crates/theme2/src/themes/andromeda.rs       |  28 +
crates/theme2/src/themes/atelier.rs         | 560 +++++++++++++++++++++++
crates/theme2/src/themes/ayu.rs             |  84 +++
crates/theme2/src/themes/gruvbox.rs         | 168 ++++++
crates/theme2/src/themes/one.rs             |  56 ++
crates/theme2/src/themes/rose_pine.rs       |  84 +++
crates/theme2/src/themes/sandcastle.rs      |  28 +
crates/theme2/src/themes/solarized.rs       |  56 ++
crates/theme2/src/themes/summercamp.rs      |  28 +
crates/theme_importer/src/theme_printer.rs  |  28 +
crates/theme_importer/src/zed1/converter.rs |  28 +
17 files changed, 1,320 insertions(+), 52 deletions(-)

Detailed changes

crates/editor2/src/display_map.rs 🔗

@@ -536,7 +536,7 @@ impl DisplaySnapshot {
                 // Omit underlines for HINT/INFO diagnostics on 'unnecessary' code.
                 if severity <= DiagnosticSeverity::WARNING || !chunk.is_unnecessary {
                     let diagnostic_color =
-                        super::diagnostic_style(severity, true, &editor_style.diagnostic_style);
+                        super::diagnostic_style(severity, true, &editor_style.status);
                     diagnostic_highlight.underline = Some(UnderlineStyle {
                         color: Some(diagnostic_color),
                         thickness: 1.0.into(),

crates/editor2/src/editor.rs 🔗

@@ -97,7 +97,7 @@ use std::{
 pub use sum_tree::Bias;
 use sum_tree::TreeMap;
 use text::{OffsetUtf16, Rope};
-use theme::{ActiveTheme, DiagnosticStyle, PlayerColor, SyntaxTheme, ThemeColors, ThemeSettings};
+use theme::{ActiveTheme, PlayerColor, StatusColors, SyntaxTheme, ThemeColors, ThemeSettings};
 use ui::{h_stack, ButtonSize, ButtonStyle, Icon, IconButton, Popover, Tooltip};
 use ui::{prelude::*, IconSize};
 use util::{post_inc, RangeExt, ResultExt, TryFutureExt};
@@ -512,7 +512,7 @@ pub struct EditorStyle {
     pub text: TextStyle,
     pub scrollbar_width: Pixels,
     pub syntax: Arc<SyntaxTheme>,
-    pub diagnostic_style: DiagnosticStyle,
+    pub status: StatusColors,
     pub inlays_style: HighlightStyle,
     pub suggestions_style: HighlightStyle,
 }
@@ -7662,10 +7662,7 @@ impl Editor {
                                                 text: text_style,
                                                 scrollbar_width: cx.editor_style.scrollbar_width,
                                                 syntax: cx.editor_style.syntax.clone(),
-                                                diagnostic_style: cx
-                                                    .editor_style
-                                                    .diagnostic_style
-                                                    .clone(),
+                                                status: cx.editor_style.status.clone(),
                                                 // todo!("what about the rest of the highlight style parts for inlays and suggestions?")
                                                 inlays_style: HighlightStyle {
                                                     color: Some(cx.theme().status().hint),
@@ -9335,7 +9332,7 @@ impl Render for Editor {
                 text: text_style,
                 scrollbar_width: px(12.),
                 syntax: cx.theme().syntax().clone(),
-                diagnostic_style: cx.theme().diagnostic_style(),
+                status: cx.theme().status().clone(),
                 // todo!("what about the rest of the highlight style parts?")
                 inlays_style: HighlightStyle {
                     color: Some(cx.theme().status().hint),
@@ -9789,21 +9786,17 @@ pub fn highlight_diagnostic_message(diagnostic: &Diagnostic) -> (SharedString, V
     (text_without_backticks.into(), code_ranges)
 }
 
-pub fn diagnostic_style(
-    severity: DiagnosticSeverity,
-    valid: bool,
-    style: &DiagnosticStyle,
-) -> Hsla {
+pub fn diagnostic_style(severity: DiagnosticSeverity, valid: bool, colors: &StatusColors) -> Hsla {
     match (severity, valid) {
-        (DiagnosticSeverity::ERROR, true) => style.error,
-        (DiagnosticSeverity::ERROR, false) => style.error,
-        (DiagnosticSeverity::WARNING, true) => style.warning,
-        (DiagnosticSeverity::WARNING, false) => style.warning,
-        (DiagnosticSeverity::INFORMATION, true) => style.info,
-        (DiagnosticSeverity::INFORMATION, false) => style.info,
-        (DiagnosticSeverity::HINT, true) => style.info,
-        (DiagnosticSeverity::HINT, false) => style.info,
-        _ => style.ignored,
+        (DiagnosticSeverity::ERROR, true) => colors.error,
+        (DiagnosticSeverity::ERROR, false) => colors.error,
+        (DiagnosticSeverity::WARNING, true) => colors.warning,
+        (DiagnosticSeverity::WARNING, false) => colors.warning,
+        (DiagnosticSeverity::INFORMATION, true) => colors.info,
+        (DiagnosticSeverity::INFORMATION, false) => colors.info,
+        (DiagnosticSeverity::HINT, true) => colors.info,
+        (DiagnosticSeverity::HINT, false) => colors.info,
+        _ => colors.ignored,
     }
 }
 

crates/editor2/src/hover_popover.rs 🔗

@@ -6,12 +6,13 @@ use crate::{
 };
 use futures::FutureExt;
 use gpui::{
-    actions, div, px, AnyElement, CursorStyle, InteractiveElement, IntoElement, Model, MouseButton,
-    ParentElement, Pixels, SharedString, Size, StatefulInteractiveElement, Styled, Task,
-    ViewContext, WeakView,
+    actions, div, px, AnyElement, CursorStyle, Hsla, InteractiveElement, IntoElement, Model,
+    MouseButton, ParentElement, Pixels, SharedString, Size, StatefulInteractiveElement, Styled,
+    Task, ViewContext, WeakView,
 };
 use language::{markdown, Bias, DiagnosticEntry, Language, LanguageRegistry, ParsedMarkdown};
 
+use lsp::DiagnosticSeverity;
 use project::{HoverBlock, HoverBlockKind, InlayHintLabelPart, Project};
 use settings::Settings;
 use std::{ops::Range, sync::Arc, time::Duration};
@@ -514,16 +515,51 @@ impl DiagnosticPopover {
             None => self.local_diagnostic.diagnostic.message.clone(),
         };
 
-        let container_bg = crate::diagnostic_style(
-            self.local_diagnostic.diagnostic.severity,
-            true,
-            &style.diagnostic_style,
-        );
+        struct DiagnosticColors {
+            pub text: Hsla,
+            pub background: Hsla,
+            pub border: Hsla,
+        }
+
+        let diagnostic_colors = match self.local_diagnostic.diagnostic.severity {
+            DiagnosticSeverity::ERROR => DiagnosticColors {
+                text: style.status.error,
+                background: style.status.error_background,
+                border: style.status.error_border,
+            },
+            DiagnosticSeverity::WARNING => DiagnosticColors {
+                text: style.status.warning,
+                background: style.status.warning_background,
+                border: style.status.warning_border,
+            },
+            DiagnosticSeverity::INFORMATION => DiagnosticColors {
+                text: style.status.info,
+                background: style.status.info_background,
+                border: style.status.info_border,
+            },
+            DiagnosticSeverity::HINT => DiagnosticColors {
+                text: style.status.hint,
+                background: style.status.hint_background,
+                border: style.status.hint_border,
+            },
+            _ => DiagnosticColors {
+                text: style.status.ignored,
+                background: style.status.ignored_background,
+                border: style.status.ignored_border,
+            },
+        };
 
         div()
             .id("diagnostic")
             .overflow_y_scroll()
-            .bg(container_bg)
+            .px_2()
+            .py_1()
+            .bg(diagnostic_colors.background)
+            .text_ui()
+            .text_color(diagnostic_colors.text)
+            .border_1()
+            .border_color(diagnostic_colors.border)
+            .rounded_md()
             .max_w(max_size.width)
             .max_h(max_size.height)
             .cursor(CursorStyle::PointingHand)

crates/theme2/src/one_themes.rs 🔗

@@ -126,19 +126,47 @@ pub(crate) fn one_dark() -> Theme {
             },
             status: StatusColors {
                 conflict: yellow,
+                conflict_background: yellow,
+                conflict_border: yellow,
                 created: green,
+                created_background: green,
+                created_border: green,
                 deleted: red,
+                deleted_background: red,
+                deleted_border: red,
                 error: red,
+                error_background: red,
+                error_border: red,
                 hidden: gray,
+                hidden_background: gray,
+                hidden_border: gray,
                 hint: blue,
+                hint_background: blue,
+                hint_border: blue,
                 ignored: gray,
+                ignored_background: gray,
+                ignored_border: gray,
                 info: blue,
+                info_background: blue,
+                info_border: blue,
                 modified: yellow,
+                modified_background: yellow,
+                modified_border: yellow,
                 predictive: gray,
+                predictive_background: gray,
+                predictive_border: gray,
                 renamed: blue,
+                renamed_background: blue,
+                renamed_border: blue,
                 success: green,
+                success_background: green,
+                success_border: green,
                 unreachable: gray,
+                unreachable_background: gray,
+                unreachable_border: gray,
                 warning: yellow,
+                warning_background: yellow,
+                warning_border: yellow,
             },
             player: PlayerColors::dark(),
             syntax: Arc::new(SyntaxTheme {

crates/theme2/src/styles/status.rs 🔗

@@ -9,45 +9,73 @@ pub struct StatusColors {
     /// Indicates some kind of conflict, like a file changed on disk while it was open, or
     /// merge conflicts in a Git repository.
     pub conflict: Hsla,
+    pub conflict_background: Hsla,
+    pub conflict_border: Hsla,
 
     /// Indicates something new, like a new file added to a Git repository.
     pub created: Hsla,
+    pub created_background: Hsla,
+    pub created_border: Hsla,
 
     /// Indicates that something no longer exists, like a deleted file.
     pub deleted: Hsla,
+    pub deleted_background: Hsla,
+    pub deleted_border: Hsla,
 
     /// Indicates a system error, a failed operation or a diagnostic error.
     pub error: Hsla,
+    pub error_background: Hsla,
+    pub error_border: Hsla,
 
     /// Represents a hidden status, such as a file being hidden in a file tree.
     pub hidden: Hsla,
+    pub hidden_background: Hsla,
+    pub hidden_border: Hsla,
 
     /// Indicates a hint or some kind of additional information.
     pub hint: Hsla,
+    pub hint_background: Hsla,
+    pub hint_border: Hsla,
 
     /// Indicates that something is deliberately ignored, such as a file or operation ignored by Git.
     pub ignored: Hsla,
+    pub ignored_background: Hsla,
+    pub ignored_border: Hsla,
 
     /// Represents informational status updates or messages.
     pub info: Hsla,
+    pub info_background: Hsla,
+    pub info_border: Hsla,
 
     /// Indicates a changed or altered status, like a file that has been edited.
     pub modified: Hsla,
+    pub modified_background: Hsla,
+    pub modified_border: Hsla,
 
     /// Indicates something that is predicted, like automatic code completion, or generated code.
     pub predictive: Hsla,
+    pub predictive_background: Hsla,
+    pub predictive_border: Hsla,
 
     /// Represents a renamed status, such as a file that has been renamed.
     pub renamed: Hsla,
+    pub renamed_background: Hsla,
+    pub renamed_border: Hsla,
 
     /// Indicates a successful operation or task completion.
     pub success: Hsla,
+    pub success_background: Hsla,
+    pub success_border: Hsla,
 
     /// Indicates some kind of unreachable status, like a block of code that can never be reached.
     pub unreachable: Hsla,
+    pub unreachable_background: Hsla,
+    pub unreachable_border: Hsla,
 
     /// Represents a warning status, like an operation that is about to fail.
     pub warning: Hsla,
+    pub warning_background: Hsla,
+    pub warning_border: Hsla,
 }
 
 impl Default for StatusColors {
@@ -78,38 +106,94 @@ impl StatusColors {
     pub fn dark() -> Self {
         Self {
             conflict: red().dark().step_9(),
+            conflict_background: red().dark().step_9(),
+            conflict_border: red().dark().step_9(),
             created: grass().dark().step_9(),
+            created_background: grass().dark().step_9(),
+            created_border: grass().dark().step_9(),
             deleted: red().dark().step_9(),
+            deleted_background: red().dark().step_9(),
+            deleted_border: red().dark().step_9(),
             error: red().dark().step_9(),
+            error_background: red().dark().step_9(),
+            error_border: red().dark().step_9(),
             hidden: neutral().dark().step_9(),
+            hidden_background: neutral().dark().step_9(),
+            hidden_border: neutral().dark().step_9(),
             hint: blue().dark().step_9(),
+            hint_background: blue().dark().step_9(),
+            hint_border: blue().dark().step_9(),
             ignored: neutral().dark().step_9(),
+            ignored_background: neutral().dark().step_9(),
+            ignored_border: neutral().dark().step_9(),
             info: blue().dark().step_9(),
+            info_background: blue().dark().step_9(),
+            info_border: blue().dark().step_9(),
             modified: yellow().dark().step_9(),
+            modified_background: yellow().dark().step_9(),
+            modified_border: yellow().dark().step_9(),
             predictive: neutral().dark_alpha().step_9(),
+            predictive_background: neutral().dark_alpha().step_9(),
+            predictive_border: neutral().dark_alpha().step_9(),
             renamed: blue().dark().step_9(),
+            renamed_background: blue().dark().step_9(),
+            renamed_border: blue().dark().step_9(),
             success: grass().dark().step_9(),
+            success_background: grass().dark().step_9(),
+            success_border: grass().dark().step_9(),
             unreachable: neutral().dark().step_10(),
+            unreachable_background: neutral().dark().step_10(),
+            unreachable_border: neutral().dark().step_10(),
             warning: yellow().dark().step_9(),
+            warning_background: yellow().dark().step_9(),
+            warning_border: yellow().dark().step_9(),
         }
     }
 
     pub fn light() -> Self {
         Self {
             conflict: red().light().step_9(),
+            conflict_background: red().light().step_9(),
+            conflict_border: red().light().step_9(),
             created: grass().light().step_9(),
+            created_background: grass().light().step_9(),
+            created_border: grass().light().step_9(),
             deleted: red().light().step_9(),
+            deleted_background: red().light().step_9(),
+            deleted_border: red().light().step_9(),
             error: red().light().step_9(),
+            error_background: red().light().step_9(),
+            error_border: red().light().step_9(),
             hidden: neutral().light().step_9(),
+            hidden_background: neutral().light().step_9(),
+            hidden_border: neutral().light().step_9(),
             hint: blue().light().step_9(),
+            hint_background: blue().light().step_9(),
+            hint_border: blue().light().step_9(),
             ignored: neutral().light().step_9(),
+            ignored_background: neutral().light().step_9(),
+            ignored_border: neutral().light().step_9(),
             info: blue().light().step_9(),
+            info_background: blue().light().step_9(),
+            info_border: blue().light().step_9(),
             modified: yellow().light().step_9(),
+            modified_background: yellow().light().step_9(),
+            modified_border: yellow().light().step_9(),
             predictive: neutral().light_alpha().step_9(),
+            predictive_background: neutral().light_alpha().step_9(),
+            predictive_border: neutral().light_alpha().step_9(),
             renamed: blue().light().step_9(),
+            renamed_background: blue().light().step_9(),
+            renamed_border: blue().light().step_9(),
             success: grass().light().step_9(),
+            success_background: grass().light().step_9(),
+            success_border: grass().light().step_9(),
             unreachable: neutral().light().step_10(),
+            unreachable_background: neutral().light().step_10(),
+            unreachable_border: neutral().light().step_10(),
             warning: yellow().light().step_9(),
+            warning_background: yellow().light().step_9(),
+            warning_border: yellow().light().step_9(),
         }
     }
 

crates/theme2/src/theme2.rs 🔗

@@ -134,18 +134,6 @@ impl Theme {
         self.syntax().color(name)
     }
 
-    /// Returns the [`DiagnosticStyle`] for the theme.
-    #[inline(always)]
-    pub fn diagnostic_style(&self) -> DiagnosticStyle {
-        DiagnosticStyle {
-            error: self.status().error,
-            warning: self.status().warning,
-            info: self.status().info,
-            hint: self.status().info,
-            ignored: self.status().ignored,
-        }
-    }
-
     /// Returns the [`Appearance`] for the theme.
     #[inline(always)]
     pub fn appearance(&self) -> Appearance {
@@ -153,15 +141,6 @@ impl Theme {
     }
 }
 
-#[derive(Clone, Debug, Default)]
-pub struct DiagnosticStyle {
-    pub error: Hsla,
-    pub warning: Hsla,
-    pub info: Hsla,
-    pub hint: Hsla,
-    pub ignored: Hsla,
-}
-
 pub fn color_alpha(color: Hsla, alpha: f32) -> Hsla {
     let mut color = color;
     color.a = alpha;

crates/theme2/src/themes/andromeda.rs 🔗

@@ -96,19 +96,47 @@ pub fn andromeda() -> UserThemeFamily {
                 },
                 status: StatusColorsRefinement {
                     conflict: Some(rgba(0xfee56dff).into()),
+                    conflict_background: Some(rgba(0x5c5015ff).into()),
+                    conflict_border: Some(rgba(0x796b26ff).into()),
                     created: Some(rgba(0x96df72ff).into()),
+                    created_background: Some(rgba(0x194618ff).into()),
+                    created_border: Some(rgba(0x306129ff).into()),
                     deleted: Some(rgba(0xf82872ff).into()),
+                    deleted_background: Some(rgba(0x55051bff).into()),
+                    deleted_border: Some(rgba(0x720a2bff).into()),
                     error: Some(rgba(0xf82872ff).into()),
+                    error_background: Some(rgba(0x55051bff).into()),
+                    error_border: Some(rgba(0x720a2bff).into()),
                     hidden: Some(rgba(0x6b6b73ff).into()),
+                    hidden_background: Some(rgba(0x262a33ff).into()),
+                    hidden_border: Some(rgba(0x292d37ff).into()),
                     hint: Some(rgba(0x11a793ff).into()),
+                    hint_background: Some(rgba(0x122420ff).into()),
+                    hint_border: Some(rgba(0x183a34ff).into()),
                     ignored: Some(rgba(0xaca8aeff).into()),
+                    ignored_background: Some(rgba(0x262a33ff).into()),
+                    ignored_border: Some(rgba(0x2b2f39ff).into()),
                     info: Some(rgba(0x11a793ff).into()),
+                    info_background: Some(rgba(0x122420ff).into()),
+                    info_border: Some(rgba(0x183a34ff).into()),
                     modified: Some(rgba(0xfee56dff).into()),
+                    modified_background: Some(rgba(0x5c5015ff).into()),
+                    modified_border: Some(rgba(0x796b26ff).into()),
                     predictive: Some(rgba(0x96df72ff).into()),
+                    predictive_background: Some(rgba(0x194618ff).into()),
+                    predictive_border: Some(rgba(0x306129ff).into()),
                     renamed: Some(rgba(0x11a793ff).into()),
+                    renamed_background: Some(rgba(0x122420ff).into()),
+                    renamed_border: Some(rgba(0x183a34ff).into()),
                     success: Some(rgba(0x96df72ff).into()),
+                    success_background: Some(rgba(0x194618ff).into()),
+                    success_border: Some(rgba(0x306129ff).into()),
                     unreachable: Some(rgba(0xaca8aeff).into()),
+                    unreachable_background: Some(rgba(0x262a33ff).into()),
+                    unreachable_border: Some(rgba(0x2b2f39ff).into()),
                     warning: Some(rgba(0xfee56dff).into()),
+                    warning_background: Some(rgba(0x5c5015ff).into()),
+                    warning_border: Some(rgba(0x796b26ff).into()),
                     ..Default::default()
                 },
                 player: Some(PlayerColors(vec![

crates/theme2/src/themes/atelier.rs 🔗

@@ -97,19 +97,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa59810ff).into()),
+                        conflict_background: Some(rgba(0xf0e9d1ff).into()),
+                        conflict_border: Some(rgba(0xe3d8adff).into()),
                         created: Some(rgba(0x7d9728ff).into()),
+                        created_background: Some(rgba(0xe6e9d3ff).into()),
+                        created_border: Some(rgba(0xd2d8b1ff).into()),
                         deleted: Some(rgba(0xba6337ff).into()),
+                        deleted_background: Some(rgba(0xf6ded4ff).into()),
+                        deleted_border: Some(rgba(0xedc5b3ff).into()),
                         error: Some(rgba(0xba6337ff).into()),
+                        error_background: Some(rgba(0xf6ded4ff).into()),
+                        error_border: Some(rgba(0xedc5b3ff).into()),
                         hidden: Some(rgba(0x767463ff).into()),
+                        hidden_background: Some(rgba(0xc5c4b9ff).into()),
+                        hidden_border: Some(rgba(0xadac9fff).into()),
                         hint: Some(rgba(0x38a166ff).into()),
+                        hint_background: Some(rgba(0xd9ecdfff).into()),
+                        hint_border: Some(rgba(0xbbddc6ff).into()),
                         ignored: Some(rgba(0x61604fff).into()),
+                        ignored_background: Some(rgba(0xc5c4b9ff).into()),
+                        ignored_border: Some(rgba(0x969585ff).into()),
                         info: Some(rgba(0x38a166ff).into()),
+                        info_background: Some(rgba(0xd9ecdfff).into()),
+                        info_border: Some(rgba(0xbbddc6ff).into()),
                         modified: Some(rgba(0xa59810ff).into()),
+                        modified_background: Some(rgba(0xf0e9d1ff).into()),
+                        modified_border: Some(rgba(0xe3d8adff).into()),
                         predictive: Some(rgba(0x7d9728ff).into()),
+                        predictive_background: Some(rgba(0xe6e9d3ff).into()),
+                        predictive_border: Some(rgba(0xd2d8b1ff).into()),
                         renamed: Some(rgba(0x38a166ff).into()),
+                        renamed_background: Some(rgba(0xd9ecdfff).into()),
+                        renamed_border: Some(rgba(0xbbddc6ff).into()),
                         success: Some(rgba(0x7d9728ff).into()),
+                        success_background: Some(rgba(0xe6e9d3ff).into()),
+                        success_border: Some(rgba(0xd2d8b1ff).into()),
                         unreachable: Some(rgba(0x61604fff).into()),
+                        unreachable_background: Some(rgba(0xc5c4b9ff).into()),
+                        unreachable_border: Some(rgba(0x969585ff).into()),
                         warning: Some(rgba(0xa59810ff).into()),
+                        warning_background: Some(rgba(0xf0e9d1ff).into()),
+                        warning_border: Some(rgba(0xe3d8adff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -534,19 +562,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xc38419ff).into()),
+                        conflict_background: Some(rgba(0x371d0dff).into()),
+                        conflict_border: Some(rgba(0x4f2f12ff).into()),
                         created: Some(rgba(0x7b9727ff).into()),
+                        created_background: Some(rgba(0x1d2110ff).into()),
+                        created_border: Some(rgba(0x2e3516ff).into()),
                         deleted: Some(rgba(0xf22d40ff).into()),
+                        deleted_background: Some(rgba(0x550512ff).into()),
+                        deleted_border: Some(rgba(0x710c1bff).into()),
                         error: Some(rgba(0xf22d40ff).into()),
+                        error_background: Some(rgba(0x550512ff).into()),
+                        error_border: Some(rgba(0x710c1bff).into()),
                         hidden: Some(rgba(0x8e8683ff).into()),
+                        hidden_background: Some(rgba(0x443c39ff).into()),
+                        hidden_border: Some(rgba(0x554e4bff).into()),
                         hint: Some(rgba(0x417ee6ff).into()),
+                        hint_background: Some(rgba(0x0f1d3dff).into()),
+                        hint_border: Some(rgba(0x192e5bff).into()),
                         ignored: Some(rgba(0xa79f9dff).into()),
+                        ignored_background: Some(rgba(0x443c39ff).into()),
+                        ignored_border: Some(rgba(0x665f5cff).into()),
                         info: Some(rgba(0x417ee6ff).into()),
+                        info_background: Some(rgba(0x0f1d3dff).into()),
+                        info_border: Some(rgba(0x192e5bff).into()),
                         modified: Some(rgba(0xc38419ff).into()),
+                        modified_background: Some(rgba(0x371d0dff).into()),
+                        modified_border: Some(rgba(0x4f2f12ff).into()),
                         predictive: Some(rgba(0x7b9727ff).into()),
+                        predictive_background: Some(rgba(0x1d2110ff).into()),
+                        predictive_border: Some(rgba(0x2e3516ff).into()),
                         renamed: Some(rgba(0x417ee6ff).into()),
+                        renamed_background: Some(rgba(0x0f1d3dff).into()),
+                        renamed_border: Some(rgba(0x192e5bff).into()),
                         success: Some(rgba(0x7b9727ff).into()),
+                        success_background: Some(rgba(0x1d2110ff).into()),
+                        success_border: Some(rgba(0x2e3516ff).into()),
                         unreachable: Some(rgba(0xa79f9dff).into()),
+                        unreachable_background: Some(rgba(0x443c39ff).into()),
+                        unreachable_border: Some(rgba(0x665f5cff).into()),
                         warning: Some(rgba(0xc38419ff).into()),
+                        warning_background: Some(rgba(0x371d0dff).into()),
+                        warning_border: Some(rgba(0x4f2f12ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -971,19 +1027,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa07e3cff).into()),
+                        conflict_background: Some(rgba(0xeee4d5ff).into()),
+                        conflict_border: Some(rgba(0xdfcfb6ff).into()),
                         created: Some(rgba(0x499963ff).into()),
+                        created_background: Some(rgba(0xdaeadeff).into()),
+                        created_border: Some(rgba(0xbedac5ff).into()),
                         deleted: Some(rgba(0xb1623aff).into()),
+                        deleted_background: Some(rgba(0xf3ded4ff).into()),
+                        deleted_border: Some(rgba(0xe8c5b4ff).into()),
                         error: Some(rgba(0xb1623aff).into()),
+                        error_background: Some(rgba(0xf3ded4ff).into()),
+                        error_border: Some(rgba(0xe8c5b4ff).into()),
                         hidden: Some(rgba(0x68766dff).into()),
+                        hidden_background: Some(rgba(0xbcc5bfff).into()),
+                        hidden_border: Some(rgba(0xa3ada6ff).into()),
                         hint: Some(rgba(0x488c90ff).into()),
+                        hint_background: Some(rgba(0xdae7e8ff).into()),
+                        hint_border: Some(rgba(0xbed4d6ff).into()),
                         ignored: Some(rgba(0x546259ff).into()),
+                        ignored_background: Some(rgba(0xbcc5bfff).into()),
+                        ignored_border: Some(rgba(0x8b968eff).into()),
                         info: Some(rgba(0x488c90ff).into()),
+                        info_background: Some(rgba(0xdae7e8ff).into()),
+                        info_border: Some(rgba(0xbed4d6ff).into()),
                         modified: Some(rgba(0xa07e3cff).into()),
+                        modified_background: Some(rgba(0xeee4d5ff).into()),
+                        modified_border: Some(rgba(0xdfcfb6ff).into()),
                         predictive: Some(rgba(0x499963ff).into()),
+                        predictive_background: Some(rgba(0xdaeadeff).into()),
+                        predictive_border: Some(rgba(0xbedac5ff).into()),
                         renamed: Some(rgba(0x488c90ff).into()),
+                        renamed_background: Some(rgba(0xdae7e8ff).into()),
+                        renamed_border: Some(rgba(0xbed4d6ff).into()),
                         success: Some(rgba(0x499963ff).into()),
+                        success_background: Some(rgba(0xdaeadeff).into()),
+                        success_border: Some(rgba(0xbedac5ff).into()),
                         unreachable: Some(rgba(0x546259ff).into()),
+                        unreachable_background: Some(rgba(0xbcc5bfff).into()),
+                        unreachable_border: Some(rgba(0x8b968eff).into()),
                         warning: Some(rgba(0xa07e3cff).into()),
+                        warning_background: Some(rgba(0xeee4d5ff).into()),
+                        warning_border: Some(rgba(0xdfcfb6ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -1408,19 +1492,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa06e3bff).into()),
+                        conflict_background: Some(rgba(0x231a12ff).into()),
+                        conflict_border: Some(rgba(0x392a1aff).into()),
                         created: Some(rgba(0x2c9292ff).into()),
+                        created_background: Some(rgba(0x132020ff).into()),
+                        created_border: Some(rgba(0x1a3434ff).into()),
                         deleted: Some(rgba(0xbe4678ff).into()),
+                        deleted_background: Some(rgba(0x28151cff).into()),
+                        deleted_border: Some(rgba(0x421f2dff).into()),
                         error: Some(rgba(0xbe4678ff).into()),
+                        error_background: Some(rgba(0x28151cff).into()),
+                        error_border: Some(rgba(0x421f2dff).into()),
                         hidden: Some(rgba(0x756f7eff).into()),
+                        hidden_background: Some(rgba(0x3a353fff).into()),
+                        hidden_border: Some(rgba(0x48434fff).into()),
                         hint: Some(rgba(0x576ddaff).into()),
+                        hint_background: Some(rgba(0x161a36ff).into()),
+                        hint_border: Some(rgba(0x222953ff).into()),
                         ignored: Some(rgba(0x898591ff).into()),
+                        ignored_background: Some(rgba(0x3a353fff).into()),
+                        ignored_border: Some(rgba(0x56505eff).into()),
                         info: Some(rgba(0x576ddaff).into()),
+                        info_background: Some(rgba(0x161a36ff).into()),
+                        info_border: Some(rgba(0x222953ff).into()),
                         modified: Some(rgba(0xa06e3bff).into()),
+                        modified_background: Some(rgba(0x231a12ff).into()),
+                        modified_border: Some(rgba(0x392a1aff).into()),
                         predictive: Some(rgba(0x2c9292ff).into()),
+                        predictive_background: Some(rgba(0x132020ff).into()),
+                        predictive_border: Some(rgba(0x1a3434ff).into()),
                         renamed: Some(rgba(0x576ddaff).into()),
+                        renamed_background: Some(rgba(0x161a36ff).into()),
+                        renamed_border: Some(rgba(0x222953ff).into()),
                         success: Some(rgba(0x2c9292ff).into()),
+                        success_background: Some(rgba(0x132020ff).into()),
+                        success_border: Some(rgba(0x1a3434ff).into()),
                         unreachable: Some(rgba(0x898591ff).into()),
+                        unreachable_background: Some(rgba(0x3a353fff).into()),
+                        unreachable_border: Some(rgba(0x56505eff).into()),
                         warning: Some(rgba(0xa06e3bff).into()),
+                        warning_background: Some(rgba(0x231a12ff).into()),
+                        warning_border: Some(rgba(0x392a1aff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -1845,19 +1957,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa59810ff).into()),
+                        conflict_background: Some(rgba(0x25210dff).into()),
+                        conflict_border: Some(rgba(0x3b3612ff).into()),
                         created: Some(rgba(0x7d9727ff).into()),
+                        created_background: Some(rgba(0x1e2110ff).into()),
+                        created_border: Some(rgba(0x2f3516ff).into()),
                         deleted: Some(rgba(0xba6237ff).into()),
+                        deleted_background: Some(rgba(0x2b1811ff).into()),
+                        deleted_border: Some(rgba(0x442619ff).into()),
                         error: Some(rgba(0xba6237ff).into()),
+                        error_background: Some(rgba(0x2b1811ff).into()),
+                        error_border: Some(rgba(0x442619ff).into()),
                         hidden: Some(rgba(0x7d7c6aff).into()),
+                        hidden_background: Some(rgba(0x424136ff).into()),
+                        hidden_border: Some(rgba(0x504f41ff).into()),
                         hint: Some(rgba(0x37a166ff).into()),
+                        hint_background: Some(rgba(0x142319ff).into()),
+                        hint_border: Some(rgba(0x1c3927ff).into()),
                         ignored: Some(rgba(0x91907fff).into()),
+                        ignored_background: Some(rgba(0x424136ff).into()),
+                        ignored_border: Some(rgba(0x5d5c4cff).into()),
                         info: Some(rgba(0x37a166ff).into()),
+                        info_background: Some(rgba(0x142319ff).into()),
+                        info_border: Some(rgba(0x1c3927ff).into()),
                         modified: Some(rgba(0xa59810ff).into()),
+                        modified_background: Some(rgba(0x25210dff).into()),
+                        modified_border: Some(rgba(0x3b3612ff).into()),
                         predictive: Some(rgba(0x7d9727ff).into()),
+                        predictive_background: Some(rgba(0x1e2110ff).into()),
+                        predictive_border: Some(rgba(0x2f3516ff).into()),
                         renamed: Some(rgba(0x37a166ff).into()),
+                        renamed_background: Some(rgba(0x142319ff).into()),
+                        renamed_border: Some(rgba(0x1c3927ff).into()),
                         success: Some(rgba(0x7d9727ff).into()),
+                        success_background: Some(rgba(0x1e2110ff).into()),
+                        success_border: Some(rgba(0x2f3516ff).into()),
                         unreachable: Some(rgba(0x91907fff).into()),
+                        unreachable_background: Some(rgba(0x424136ff).into()),
+                        unreachable_border: Some(rgba(0x5d5c4cff).into()),
                         warning: Some(rgba(0xa59810ff).into()),
+                        warning_background: Some(rgba(0x25210dff).into()),
+                        warning_border: Some(rgba(0x3b3612ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -2282,19 +2422,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xc08b31ff).into()),
+                        conflict_background: Some(rgba(0x311e11ff).into()),
+                        conflict_border: Some(rgba(0x4b3218ff).into()),
                         created: Some(rgba(0xac973aff).into()),
+                        created_background: Some(rgba(0x252113ff).into()),
+                        created_border: Some(rgba(0x3d351bff).into()),
                         deleted: Some(rgba(0xc94923ff).into()),
+                        deleted_background: Some(rgba(0x3c120dff).into()),
+                        deleted_border: Some(rgba(0x551c13ff).into()),
                         error: Some(rgba(0xc94923ff).into()),
+                        error_background: Some(rgba(0x3c120dff).into()),
+                        error_border: Some(rgba(0x551c13ff).into()),
                         hidden: Some(rgba(0x7e849eff).into()),
+                        hidden_background: Some(rgba(0x3e4769ff).into()),
+                        hidden_border: Some(rgba(0x4d5577ff).into()),
                         hint: Some(rgba(0x3e8fd0ff).into()),
+                        hint_background: Some(rgba(0x161f2bff).into()),
+                        hint_border: Some(rgba(0x203348ff).into()),
                         ignored: Some(rgba(0x959bb2ff).into()),
+                        ignored_background: Some(rgba(0x3e4769ff).into()),
+                        ignored_border: Some(rgba(0x5c6485ff).into()),
                         info: Some(rgba(0x3e8fd0ff).into()),
+                        info_background: Some(rgba(0x161f2bff).into()),
+                        info_border: Some(rgba(0x203348ff).into()),
                         modified: Some(rgba(0xc08b31ff).into()),
+                        modified_background: Some(rgba(0x311e11ff).into()),
+                        modified_border: Some(rgba(0x4b3218ff).into()),
                         predictive: Some(rgba(0xac973aff).into()),
+                        predictive_background: Some(rgba(0x252113ff).into()),
+                        predictive_border: Some(rgba(0x3d351bff).into()),
                         renamed: Some(rgba(0x3e8fd0ff).into()),
+                        renamed_background: Some(rgba(0x161f2bff).into()),
+                        renamed_border: Some(rgba(0x203348ff).into()),
                         success: Some(rgba(0xac973aff).into()),
+                        success_background: Some(rgba(0x252113ff).into()),
+                        success_border: Some(rgba(0x3d351bff).into()),
                         unreachable: Some(rgba(0x959bb2ff).into()),
+                        unreachable_background: Some(rgba(0x3e4769ff).into()),
+                        unreachable_border: Some(rgba(0x5c6485ff).into()),
                         warning: Some(rgba(0xc08b31ff).into()),
+                        warning_background: Some(rgba(0x311e11ff).into()),
+                        warning_border: Some(rgba(0x4b3218ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -2719,19 +2887,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xc08b31ff).into()),
+                        conflict_background: Some(rgba(0xf6e6d4ff).into()),
+                        conflict_border: Some(rgba(0xeed4b3ff).into()),
                         created: Some(rgba(0xac973aff).into()),
+                        created_background: Some(rgba(0xf1e9d6ff).into()),
+                        created_border: Some(rgba(0xe4d8b7ff).into()),
                         deleted: Some(rgba(0xc94a23ff).into()),
+                        deleted_background: Some(rgba(0xfcdad0ff).into()),
+                        deleted_border: Some(rgba(0xf6beabff).into()),
                         error: Some(rgba(0xc94a23ff).into()),
+                        error_background: Some(rgba(0xfcdad0ff).into()),
+                        error_border: Some(rgba(0xf6beabff).into()),
                         hidden: Some(rgba(0x767d9aff).into()),
+                        hidden_background: Some(rgba(0xc2c6d9ff).into()),
+                        hidden_border: Some(rgba(0xaeb3c7ff).into()),
                         hint: Some(rgba(0x3f8fd0ff).into()),
+                        hint_background: Some(rgba(0xdde7f6ff).into()),
+                        hint_border: Some(rgba(0xc2d5efff).into()),
                         ignored: Some(rgba(0x606889ff).into()),
+                        ignored_background: Some(rgba(0xc2c6d9ff).into()),
+                        ignored_border: Some(rgba(0x9a9fb6ff).into()),
                         info: Some(rgba(0x3f8fd0ff).into()),
+                        info_background: Some(rgba(0xdde7f6ff).into()),
+                        info_border: Some(rgba(0xc2d5efff).into()),
                         modified: Some(rgba(0xc08b31ff).into()),
+                        modified_background: Some(rgba(0xf6e6d4ff).into()),
+                        modified_border: Some(rgba(0xeed4b3ff).into()),
                         predictive: Some(rgba(0xac973aff).into()),
+                        predictive_background: Some(rgba(0xf1e9d6ff).into()),
+                        predictive_border: Some(rgba(0xe4d8b7ff).into()),
                         renamed: Some(rgba(0x3f8fd0ff).into()),
+                        renamed_background: Some(rgba(0xdde7f6ff).into()),
+                        renamed_border: Some(rgba(0xc2d5efff).into()),
                         success: Some(rgba(0xac973aff).into()),
+                        success_background: Some(rgba(0xf1e9d6ff).into()),
+                        success_border: Some(rgba(0xe4d8b7ff).into()),
                         unreachable: Some(rgba(0x606889ff).into()),
+                        unreachable_background: Some(rgba(0xc2c6d9ff).into()),
+                        unreachable_border: Some(rgba(0x9a9fb6ff).into()),
                         warning: Some(rgba(0xc08b31ff).into()),
+                        warning_background: Some(rgba(0xf6e6d4ff).into()),
+                        warning_border: Some(rgba(0xeed4b3ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -3156,19 +3352,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xae9515ff).into()),
+                        conflict_background: Some(rgba(0x2a200eff).into()),
+                        conflict_border: Some(rgba(0x413513ff).into()),
                         created: Some(rgba(0x60ac3aff).into()),
+                        created_background: Some(rgba(0x1a2413ff).into()),
+                        created_border: Some(rgba(0x273c1bff).into()),
                         deleted: Some(rgba(0xd73837ff).into()),
+                        deleted_background: Some(rgba(0x450d11ff).into()),
+                        deleted_border: Some(rgba(0x5f1519ff).into()),
                         error: Some(rgba(0xd73837ff).into()),
+                        error_background: Some(rgba(0x450d11ff).into()),
+                        error_border: Some(rgba(0x5f1519ff).into()),
                         hidden: Some(rgba(0x8f8b77ff).into()),
+                        hidden_background: Some(rgba(0x45433bff).into()),
+                        hidden_border: Some(rgba(0x58564bff).into()),
                         hint: Some(rgba(0x6684e0ff).into()),
+                        hint_background: Some(rgba(0x171e39ff).into()),
+                        hint_border: Some(rgba(0x263056ff).into()),
                         ignored: Some(rgba(0xa4a08bff).into()),
+                        ignored_background: Some(rgba(0x45433bff).into()),
+                        ignored_border: Some(rgba(0x6c695cff).into()),
                         info: Some(rgba(0x6684e0ff).into()),
+                        info_background: Some(rgba(0x171e39ff).into()),
+                        info_border: Some(rgba(0x263056ff).into()),
                         modified: Some(rgba(0xae9515ff).into()),
+                        modified_background: Some(rgba(0x2a200eff).into()),
+                        modified_border: Some(rgba(0x413513ff).into()),
                         predictive: Some(rgba(0x60ac3aff).into()),
+                        predictive_background: Some(rgba(0x1a2413ff).into()),
+                        predictive_border: Some(rgba(0x273c1bff).into()),
                         renamed: Some(rgba(0x6684e0ff).into()),
+                        renamed_background: Some(rgba(0x171e39ff).into()),
+                        renamed_border: Some(rgba(0x263056ff).into()),
                         success: Some(rgba(0x60ac3aff).into()),
+                        success_background: Some(rgba(0x1a2413ff).into()),
+                        success_border: Some(rgba(0x273c1bff).into()),
                         unreachable: Some(rgba(0xa4a08bff).into()),
+                        unreachable_background: Some(rgba(0x45433bff).into()),
+                        unreachable_border: Some(rgba(0x6c695cff).into()),
                         warning: Some(rgba(0xae9515ff).into()),
+                        warning_background: Some(rgba(0x2a200eff).into()),
+                        warning_border: Some(rgba(0x413513ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -3593,19 +3817,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0x98981cff).into()),
+                        conflict_background: Some(rgba(0x22210fff).into()),
+                        conflict_border: Some(rgba(0x373614ff).into()),
                         created: Some(rgba(0x2ba32aff).into()),
+                        created_background: Some(rgba(0x142310ff).into()),
+                        created_border: Some(rgba(0x1b3917ff).into()),
                         deleted: Some(rgba(0xe61c3cff).into()),
+                        deleted_background: Some(rgba(0x500412ff).into()),
+                        deleted_border: Some(rgba(0x6b071aff).into()),
                         error: Some(rgba(0xe61c3cff).into()),
+                        error_background: Some(rgba(0x500412ff).into()),
+                        error_border: Some(rgba(0x6b071aff).into()),
                         hidden: Some(rgba(0x778f77ff).into()),
+                        hidden_background: Some(rgba(0x3b453bff).into()),
+                        hidden_border: Some(rgba(0x4b584bff).into()),
                         hint: Some(rgba(0x3e62f4ff).into()),
+                        hint_background: Some(rgba(0x061949ff).into()),
+                        hint_border: Some(rgba(0x102668ff).into()),
                         ignored: Some(rgba(0x8ba48bff).into()),
+                        ignored_background: Some(rgba(0x3b453bff).into()),
+                        ignored_border: Some(rgba(0x5c6c5cff).into()),
                         info: Some(rgba(0x3e62f4ff).into()),
+                        info_background: Some(rgba(0x061949ff).into()),
+                        info_border: Some(rgba(0x102668ff).into()),
                         modified: Some(rgba(0x98981cff).into()),
+                        modified_background: Some(rgba(0x22210fff).into()),
+                        modified_border: Some(rgba(0x373614ff).into()),
                         predictive: Some(rgba(0x2ba32aff).into()),
+                        predictive_background: Some(rgba(0x142310ff).into()),
+                        predictive_border: Some(rgba(0x1b3917ff).into()),
                         renamed: Some(rgba(0x3e62f4ff).into()),
+                        renamed_background: Some(rgba(0x061949ff).into()),
+                        renamed_border: Some(rgba(0x102668ff).into()),
                         success: Some(rgba(0x2ba32aff).into()),
+                        success_background: Some(rgba(0x142310ff).into()),
+                        success_border: Some(rgba(0x1b3917ff).into()),
                         unreachable: Some(rgba(0x8ba48bff).into()),
+                        unreachable_background: Some(rgba(0x3b453bff).into()),
+                        unreachable_border: Some(rgba(0x5c6c5cff).into()),
                         warning: Some(rgba(0x98981cff).into()),
+                        warning_background: Some(rgba(0x22210fff).into()),
+                        warning_border: Some(rgba(0x373614ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -4030,19 +4282,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa06e3cff).into()),
+                        conflict_background: Some(rgba(0xeee0d5ff).into()),
+                        conflict_border: Some(rgba(0xe0c9b5ff).into()),
                         created: Some(rgba(0x2c9292ff).into()),
+                        created_background: Some(rgba(0xd7e9e8ff).into()),
+                        created_border: Some(rgba(0xb9d7d6ff).into()),
                         deleted: Some(rgba(0xbe4778ff).into()),
+                        deleted_background: Some(rgba(0xf5dae2ff).into()),
+                        deleted_border: Some(rgba(0xecbecdff).into()),
                         error: Some(rgba(0xbe4778ff).into()),
+                        error_background: Some(rgba(0xf5dae2ff).into()),
+                        error_border: Some(rgba(0xecbecdff).into()),
                         hidden: Some(rgba(0x6e6876ff).into()),
+                        hidden_background: Some(rgba(0xbfbcc5ff).into()),
+                        hidden_border: Some(rgba(0xa7a3adff).into()),
                         hint: Some(rgba(0x586ddaff).into()),
+                        hint_background: Some(rgba(0xe1e0f9ff).into()),
+                        hint_border: Some(rgba(0xc9c8f3ff).into()),
                         ignored: Some(rgba(0x5a5462ff).into()),
+                        ignored_background: Some(rgba(0xbfbcc5ff).into()),
+                        ignored_border: Some(rgba(0x8f8b96ff).into()),
                         info: Some(rgba(0x586ddaff).into()),
+                        info_background: Some(rgba(0xe1e0f9ff).into()),
+                        info_border: Some(rgba(0xc9c8f3ff).into()),
                         modified: Some(rgba(0xa06e3cff).into()),
+                        modified_background: Some(rgba(0xeee0d5ff).into()),
+                        modified_border: Some(rgba(0xe0c9b5ff).into()),
                         predictive: Some(rgba(0x2c9292ff).into()),
+                        predictive_background: Some(rgba(0xd7e9e8ff).into()),
+                        predictive_border: Some(rgba(0xb9d7d6ff).into()),
                         renamed: Some(rgba(0x586ddaff).into()),
+                        renamed_background: Some(rgba(0xe1e0f9ff).into()),
+                        renamed_border: Some(rgba(0xc9c8f3ff).into()),
                         success: Some(rgba(0x2c9292ff).into()),
+                        success_background: Some(rgba(0xd7e9e8ff).into()),
+                        success_border: Some(rgba(0xb9d7d6ff).into()),
                         unreachable: Some(rgba(0x5a5462ff).into()),
+                        unreachable_background: Some(rgba(0xbfbcc5ff).into()),
+                        unreachable_border: Some(rgba(0x8f8b96ff).into()),
                         warning: Some(rgba(0xa06e3cff).into()),
+                        warning_background: Some(rgba(0xeee0d5ff).into()),
+                        warning_border: Some(rgba(0xe0c9b5ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -4467,19 +4747,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa06e3bff).into()),
+                        conflict_background: Some(rgba(0x231a12ff).into()),
+                        conflict_border: Some(rgba(0x392a1aff).into()),
                         created: Some(rgba(0x4b8b8bff).into()),
+                        created_background: Some(rgba(0x161f1fff).into()),
+                        created_border: Some(rgba(0x203232ff).into()),
                         deleted: Some(rgba(0xca4949ff).into()),
+                        deleted_background: Some(rgba(0x361414ff).into()),
+                        deleted_border: Some(rgba(0x501e1eff).into()),
                         error: Some(rgba(0xca4949ff).into()),
+                        error_background: Some(rgba(0x361414ff).into()),
+                        error_border: Some(rgba(0x501e1eff).into()),
                         hidden: Some(rgba(0x756e6eff).into()),
+                        hidden_background: Some(rgba(0x3b3535ff).into()),
+                        hidden_border: Some(rgba(0x494242ff).into()),
                         hint: Some(rgba(0x7272caff).into()),
+                        hint_background: Some(rgba(0x1c1b29ff).into()),
+                        hint_border: Some(rgba(0x2c2b45ff).into()),
                         ignored: Some(rgba(0x898383ff).into()),
+                        ignored_background: Some(rgba(0x3b3535ff).into()),
+                        ignored_border: Some(rgba(0x564e4eff).into()),
                         info: Some(rgba(0x7272caff).into()),
+                        info_background: Some(rgba(0x1c1b29ff).into()),
+                        info_border: Some(rgba(0x2c2b45ff).into()),
                         modified: Some(rgba(0xa06e3bff).into()),
+                        modified_background: Some(rgba(0x231a12ff).into()),
+                        modified_border: Some(rgba(0x392a1aff).into()),
                         predictive: Some(rgba(0x4b8b8bff).into()),
+                        predictive_background: Some(rgba(0x161f1fff).into()),
+                        predictive_border: Some(rgba(0x203232ff).into()),
                         renamed: Some(rgba(0x7272caff).into()),
+                        renamed_background: Some(rgba(0x1c1b29ff).into()),
+                        renamed_border: Some(rgba(0x2c2b45ff).into()),
                         success: Some(rgba(0x4b8b8bff).into()),
+                        success_background: Some(rgba(0x161f1fff).into()),
+                        success_border: Some(rgba(0x203232ff).into()),
                         unreachable: Some(rgba(0x898383ff).into()),
+                        unreachable_background: Some(rgba(0x3b3535ff).into()),
+                        unreachable_border: Some(rgba(0x564e4eff).into()),
                         warning: Some(rgba(0xa06e3bff).into()),
+                        warning_background: Some(rgba(0x231a12ff).into()),
+                        warning_border: Some(rgba(0x392a1aff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -4904,19 +5212,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xbb8a36ff).into()),
+                        conflict_background: Some(rgba(0x2d1e12ff).into()),
+                        conflict_border: Some(rgba(0x463219ff).into()),
                         created: Some(rgba(0x918b3bff).into()),
+                        created_background: Some(rgba(0x211f12ff).into()),
+                        created_border: Some(rgba(0x34321bff).into()),
                         deleted: Some(rgba(0xca402cff).into()),
+                        deleted_background: Some(rgba(0x3c110eff).into()),
+                        deleted_border: Some(rgba(0x551a15ff).into()),
                         error: Some(rgba(0xca402cff).into()),
+                        error_background: Some(rgba(0x3c110eff).into()),
+                        error_border: Some(rgba(0x551a15ff).into()),
                         hidden: Some(rgba(0x908190ff).into()),
+                        hidden_background: Some(rgba(0x433a43ff).into()),
+                        hidden_border: Some(rgba(0x554a55ff).into()),
                         hint: Some(rgba(0x526aebff).into()),
+                        hint_background: Some(rgba(0x0e1a43ff).into()),
+                        hint_border: Some(rgba(0x1a2961ff).into()),
                         ignored: Some(rgba(0xa99aa9ff).into()),
+                        ignored_background: Some(rgba(0x433a43ff).into()),
+                        ignored_border: Some(rgba(0x675b67ff).into()),
                         info: Some(rgba(0x526aebff).into()),
+                        info_background: Some(rgba(0x0e1a43ff).into()),
+                        info_border: Some(rgba(0x1a2961ff).into()),
                         modified: Some(rgba(0xbb8a36ff).into()),
+                        modified_background: Some(rgba(0x2d1e12ff).into()),
+                        modified_border: Some(rgba(0x463219ff).into()),
                         predictive: Some(rgba(0x918b3bff).into()),
+                        predictive_background: Some(rgba(0x211f12ff).into()),
+                        predictive_border: Some(rgba(0x34321bff).into()),
                         renamed: Some(rgba(0x526aebff).into()),
+                        renamed_background: Some(rgba(0x0e1a43ff).into()),
+                        renamed_border: Some(rgba(0x1a2961ff).into()),
                         success: Some(rgba(0x918b3bff).into()),
+                        success_background: Some(rgba(0x211f12ff).into()),
+                        success_border: Some(rgba(0x34321bff).into()),
                         unreachable: Some(rgba(0xa99aa9ff).into()),
+                        unreachable_background: Some(rgba(0x433a43ff).into()),
+                        unreachable_border: Some(rgba(0x675b67ff).into()),
                         warning: Some(rgba(0xbb8a36ff).into()),
+                        warning_background: Some(rgba(0x2d1e12ff).into()),
+                        warning_border: Some(rgba(0x463219ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -5341,19 +5677,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0x8a8a11ff).into()),
+                        conflict_background: Some(rgba(0x201f0cff).into()),
+                        conflict_border: Some(rgba(0x333211ff).into()),
                         created: Some(rgba(0x568c3bff).into()),
+                        created_background: Some(rgba(0x171f12ff).into()),
+                        created_border: Some(rgba(0x23321bff).into()),
                         deleted: Some(rgba(0xd22e72ff).into()),
+                        deleted_background: Some(rgba(0x3a101bff).into()),
+                        deleted_border: Some(rgba(0x55162bff).into()),
                         error: Some(rgba(0xd22e72ff).into()),
+                        error_background: Some(rgba(0x3a101bff).into()),
+                        error_border: Some(rgba(0x55162bff).into()),
                         hidden: Some(rgba(0x698c9eff).into()),
+                        hidden_background: Some(rgba(0x33444dff).into()),
+                        hidden_border: Some(rgba(0x415763ff).into()),
                         hint: Some(rgba(0x277fadff).into()),
+                        hint_background: Some(rgba(0x131d24ff).into()),
+                        hint_border: Some(rgba(0x1a2f3cff).into()),
                         ignored: Some(rgba(0x7ca0b3ff).into()),
+                        ignored_background: Some(rgba(0x33444dff).into()),
+                        ignored_border: Some(rgba(0x4f6b78ff).into()),
                         info: Some(rgba(0x277fadff).into()),
+                        info_background: Some(rgba(0x131d24ff).into()),
+                        info_border: Some(rgba(0x1a2f3cff).into()),
                         modified: Some(rgba(0x8a8a11ff).into()),
+                        modified_background: Some(rgba(0x201f0cff).into()),
+                        modified_border: Some(rgba(0x333211ff).into()),
                         predictive: Some(rgba(0x568c3bff).into()),
+                        predictive_background: Some(rgba(0x171f12ff).into()),
+                        predictive_border: Some(rgba(0x23321bff).into()),
                         renamed: Some(rgba(0x277fadff).into()),
+                        renamed_background: Some(rgba(0x131d24ff).into()),
+                        renamed_border: Some(rgba(0x1a2f3cff).into()),
                         success: Some(rgba(0x568c3bff).into()),
+                        success_background: Some(rgba(0x171f12ff).into()),
+                        success_border: Some(rgba(0x23321bff).into()),
                         unreachable: Some(rgba(0x7ca0b3ff).into()),
+                        unreachable_background: Some(rgba(0x33444dff).into()),
+                        unreachable_border: Some(rgba(0x4f6b78ff).into()),
                         warning: Some(rgba(0x8a8a11ff).into()),
+                        warning_background: Some(rgba(0x201f0cff).into()),
+                        warning_border: Some(rgba(0x333211ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -5778,19 +6142,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xc3841aff).into()),
+                        conflict_background: Some(rgba(0xf8e5d1ff).into()),
+                        conflict_border: Some(rgba(0xf0d1adff).into()),
                         created: Some(rgba(0x7b9728ff).into()),
+                        created_background: Some(rgba(0xe5e9d3ff).into()),
+                        created_border: Some(rgba(0xd1d8b1ff).into()),
                         deleted: Some(rgba(0xf22e41ff).into()),
+                        deleted_background: Some(rgba(0xffdad5ff).into()),
+                        deleted_border: Some(rgba(0xffbdb6ff).into()),
                         error: Some(rgba(0xf22e41ff).into()),
+                        error_background: Some(rgba(0xffdad5ff).into()),
+                        error_border: Some(rgba(0xffbdb6ff).into()),
                         hidden: Some(rgba(0x847c79ff).into()),
+                        hidden_background: Some(rgba(0xcdc8c6ff).into()),
+                        hidden_border: Some(rgba(0xbcb6b4ff).into()),
                         hint: Some(rgba(0x417ee6ff).into()),
+                        hint_background: Some(rgba(0xdfe3fbff).into()),
+                        hint_border: Some(rgba(0xc6cef7ff).into()),
                         ignored: Some(rgba(0x6a6360ff).into()),
+                        ignored_background: Some(rgba(0xcdc8c6ff).into()),
+                        ignored_border: Some(rgba(0xaaa3a1ff).into()),
                         info: Some(rgba(0x417ee6ff).into()),
+                        info_background: Some(rgba(0xdfe3fbff).into()),
+                        info_border: Some(rgba(0xc6cef7ff).into()),
                         modified: Some(rgba(0xc3841aff).into()),
+                        modified_background: Some(rgba(0xf8e5d1ff).into()),
+                        modified_border: Some(rgba(0xf0d1adff).into()),
                         predictive: Some(rgba(0x7b9728ff).into()),
+                        predictive_background: Some(rgba(0xe5e9d3ff).into()),
+                        predictive_border: Some(rgba(0xd1d8b1ff).into()),
                         renamed: Some(rgba(0x417ee6ff).into()),
+                        renamed_background: Some(rgba(0xdfe3fbff).into()),
+                        renamed_border: Some(rgba(0xc6cef7ff).into()),
                         success: Some(rgba(0x7b9728ff).into()),
+                        success_background: Some(rgba(0xe5e9d3ff).into()),
+                        success_border: Some(rgba(0xd1d8b1ff).into()),
                         unreachable: Some(rgba(0x6a6360ff).into()),
+                        unreachable_background: Some(rgba(0xcdc8c6ff).into()),
+                        unreachable_border: Some(rgba(0xaaa3a1ff).into()),
                         warning: Some(rgba(0xc3841aff).into()),
+                        warning_background: Some(rgba(0xf8e5d1ff).into()),
+                        warning_border: Some(rgba(0xf0d1adff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -6215,19 +6607,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xae9515ff).into()),
+                        conflict_background: Some(rgba(0xf2e8d1ff).into()),
+                        conflict_border: Some(rgba(0xe7d7aeff).into()),
                         created: Some(rgba(0x61ac3aff).into()),
+                        created_background: Some(rgba(0xe0eed6ff).into()),
+                        created_border: Some(rgba(0xc9e1b7ff).into()),
                         deleted: Some(rgba(0xd73838ff).into()),
+                        deleted_background: Some(rgba(0xffd9d4ff).into()),
+                        deleted_border: Some(rgba(0xfcbcb2ff).into()),
                         error: Some(rgba(0xd73838ff).into()),
+                        error_background: Some(rgba(0xffd9d4ff).into()),
+                        error_border: Some(rgba(0xfcbcb2ff).into()),
                         hidden: Some(rgba(0x878471ff).into()),
+                        hidden_background: Some(rgba(0xcecab4ff).into()),
+                        hidden_border: Some(rgba(0xbbb7a1ff).into()),
                         hint: Some(rgba(0x6784e0ff).into()),
+                        hint_background: Some(rgba(0xe3e5faff).into()),
+                        hint_border: Some(rgba(0xcdd1f5ff).into()),
                         ignored: Some(rgba(0x706d5fff).into()),
+                        ignored_background: Some(rgba(0xcecab4ff).into()),
+                        ignored_border: Some(rgba(0xa8a48eff).into()),
                         info: Some(rgba(0x6784e0ff).into()),
+                        info_background: Some(rgba(0xe3e5faff).into()),
+                        info_border: Some(rgba(0xcdd1f5ff).into()),
                         modified: Some(rgba(0xae9515ff).into()),
+                        modified_background: Some(rgba(0xf2e8d1ff).into()),
+                        modified_border: Some(rgba(0xe7d7aeff).into()),
                         predictive: Some(rgba(0x61ac3aff).into()),
+                        predictive_background: Some(rgba(0xe0eed6ff).into()),
+                        predictive_border: Some(rgba(0xc9e1b7ff).into()),
                         renamed: Some(rgba(0x6784e0ff).into()),
+                        renamed_background: Some(rgba(0xe3e5faff).into()),
+                        renamed_border: Some(rgba(0xcdd1f5ff).into()),
                         success: Some(rgba(0x61ac3aff).into()),
+                        success_background: Some(rgba(0xe0eed6ff).into()),
+                        success_border: Some(rgba(0xc9e1b7ff).into()),
                         unreachable: Some(rgba(0x706d5fff).into()),
+                        unreachable_background: Some(rgba(0xcecab4ff).into()),
+                        unreachable_border: Some(rgba(0xa8a48eff).into()),
                         warning: Some(rgba(0xae9515ff).into()),
+                        warning_background: Some(rgba(0xf2e8d1ff).into()),
+                        warning_border: Some(rgba(0xe7d7aeff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -6652,19 +7072,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa06e3cff).into()),
+                        conflict_background: Some(rgba(0xeee0d5ff).into()),
+                        conflict_border: Some(rgba(0xe0c9b5ff).into()),
                         created: Some(rgba(0x4c8b8bff).into()),
+                        created_background: Some(rgba(0xdae7e7ff).into()),
+                        created_border: Some(rgba(0xbfd4d4ff).into()),
                         deleted: Some(rgba(0xca4a4aff).into()),
+                        deleted_background: Some(rgba(0xfadbd7ff).into()),
+                        deleted_border: Some(rgba(0xf4bfbaff).into()),
                         error: Some(rgba(0xca4a4aff).into()),
+                        error_background: Some(rgba(0xfadbd7ff).into()),
+                        error_border: Some(rgba(0xf4bfbaff).into()),
                         hidden: Some(rgba(0x6e6666ff).into()),
+                        hidden_background: Some(rgba(0xc1bbbbff).into()),
+                        hidden_border: Some(rgba(0xa8a2a2ff).into()),
                         hint: Some(rgba(0x7372caff).into()),
+                        hint_background: Some(rgba(0xe4e1f5ff).into()),
+                        hint_border: Some(rgba(0xcecaecff).into()),
                         ignored: Some(rgba(0x5a5252ff).into()),
+                        ignored_background: Some(rgba(0xc1bbbbff).into()),
+                        ignored_border: Some(rgba(0x8e8989ff).into()),
                         info: Some(rgba(0x7372caff).into()),
+                        info_background: Some(rgba(0xe4e1f5ff).into()),
+                        info_border: Some(rgba(0xcecaecff).into()),
                         modified: Some(rgba(0xa06e3cff).into()),
+                        modified_background: Some(rgba(0xeee0d5ff).into()),
+                        modified_border: Some(rgba(0xe0c9b5ff).into()),
                         predictive: Some(rgba(0x4c8b8bff).into()),
+                        predictive_background: Some(rgba(0xdae7e7ff).into()),
+                        predictive_border: Some(rgba(0xbfd4d4ff).into()),
                         renamed: Some(rgba(0x7372caff).into()),
+                        renamed_background: Some(rgba(0xe4e1f5ff).into()),
+                        renamed_border: Some(rgba(0xcecaecff).into()),
                         success: Some(rgba(0x4c8b8bff).into()),
+                        success_background: Some(rgba(0xdae7e7ff).into()),
+                        success_border: Some(rgba(0xbfd4d4ff).into()),
                         unreachable: Some(rgba(0x5a5252ff).into()),
+                        unreachable_background: Some(rgba(0xc1bbbbff).into()),
+                        unreachable_border: Some(rgba(0x8e8989ff).into()),
                         warning: Some(rgba(0xa06e3cff).into()),
+                        warning_background: Some(rgba(0xeee0d5ff).into()),
+                        warning_border: Some(rgba(0xe0c9b5ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -7089,19 +7537,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0x98981dff).into()),
+                        conflict_background: Some(rgba(0xede9d2ff).into()),
+                        conflict_border: Some(rgba(0xddd8afff).into()),
                         created: Some(rgba(0x2ba32bff).into()),
+                        created_background: Some(rgba(0xd9edd4ff).into()),
+                        created_border: Some(rgba(0xbbdeb2ff).into()),
                         deleted: Some(rgba(0xe61c3dff).into()),
+                        deleted_background: Some(rgba(0xffd8d4ff).into()),
+                        deleted_border: Some(rgba(0xffb9b4ff).into()),
                         error: Some(rgba(0xe61c3dff).into()),
+                        error_background: Some(rgba(0xffd8d4ff).into()),
+                        error_border: Some(rgba(0xffb9b4ff).into()),
                         hidden: Some(rgba(0x718771ff).into()),
+                        hidden_background: Some(rgba(0xb4ceb4ff).into()),
+                        hidden_border: Some(rgba(0xa1bba1ff).into()),
                         hint: Some(rgba(0x3f62f4ff).into()),
+                        hint_background: Some(rgba(0xe1ddfeff).into()),
+                        hint_border: Some(rgba(0xc9c4fdff).into()),
                         ignored: Some(rgba(0x5f705fff).into()),
+                        ignored_background: Some(rgba(0xb4ceb4ff).into()),
+                        ignored_border: Some(rgba(0x8ea88eff).into()),
                         info: Some(rgba(0x3f62f4ff).into()),
+                        info_background: Some(rgba(0xe1ddfeff).into()),
+                        info_border: Some(rgba(0xc9c4fdff).into()),
                         modified: Some(rgba(0x98981dff).into()),
+                        modified_background: Some(rgba(0xede9d2ff).into()),
+                        modified_border: Some(rgba(0xddd8afff).into()),
                         predictive: Some(rgba(0x2ba32bff).into()),
+                        predictive_background: Some(rgba(0xd9edd4ff).into()),
+                        predictive_border: Some(rgba(0xbbdeb2ff).into()),
                         renamed: Some(rgba(0x3f62f4ff).into()),
+                        renamed_background: Some(rgba(0xe1ddfeff).into()),
+                        renamed_border: Some(rgba(0xc9c4fdff).into()),
                         success: Some(rgba(0x2ba32bff).into()),
+                        success_background: Some(rgba(0xd9edd4ff).into()),
+                        success_border: Some(rgba(0xbbdeb2ff).into()),
                         unreachable: Some(rgba(0x5f705fff).into()),
+                        unreachable_background: Some(rgba(0xb4ceb4ff).into()),
+                        unreachable_border: Some(rgba(0x8ea88eff).into()),
                         warning: Some(rgba(0x98981dff).into()),
+                        warning_background: Some(rgba(0xede9d2ff).into()),
+                        warning_border: Some(rgba(0xddd8afff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -7526,19 +8002,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xa07e3bff).into()),
+                        conflict_background: Some(rgba(0x231d12ff).into()),
+                        conflict_border: Some(rgba(0x392e1aff).into()),
                         created: Some(rgba(0x489963ff).into()),
+                        created_background: Some(rgba(0x162119ff).into()),
+                        created_border: Some(rgba(0x203626ff).into()),
                         deleted: Some(rgba(0xb16139ff).into()),
+                        deleted_background: Some(rgba(0x261811ff).into()),
+                        deleted_border: Some(rgba(0x3f2619ff).into()),
                         error: Some(rgba(0xb16139ff).into()),
+                        error_background: Some(rgba(0x261811ff).into()),
+                        error_border: Some(rgba(0x3f2619ff).into()),
                         hidden: Some(rgba(0x6f7e74ff).into()),
+                        hidden_background: Some(rgba(0x353f39ff).into()),
+                        hidden_border: Some(rgba(0x434f47ff).into()),
                         hint: Some(rgba(0x478c90ff).into()),
+                        hint_background: Some(rgba(0x151f20ff).into()),
+                        hint_border: Some(rgba(0x1f3233ff).into()),
                         ignored: Some(rgba(0x859188ff).into()),
+                        ignored_background: Some(rgba(0x353f39ff).into()),
+                        ignored_border: Some(rgba(0x505e55ff).into()),
                         info: Some(rgba(0x478c90ff).into()),
+                        info_background: Some(rgba(0x151f20ff).into()),
+                        info_border: Some(rgba(0x1f3233ff).into()),
                         modified: Some(rgba(0xa07e3bff).into()),
+                        modified_background: Some(rgba(0x231d12ff).into()),
+                        modified_border: Some(rgba(0x392e1aff).into()),
                         predictive: Some(rgba(0x489963ff).into()),
+                        predictive_background: Some(rgba(0x162119ff).into()),
+                        predictive_border: Some(rgba(0x203626ff).into()),
                         renamed: Some(rgba(0x478c90ff).into()),
+                        renamed_background: Some(rgba(0x151f20ff).into()),
+                        renamed_border: Some(rgba(0x1f3233ff).into()),
                         success: Some(rgba(0x489963ff).into()),
+                        success_background: Some(rgba(0x162119ff).into()),
+                        success_border: Some(rgba(0x203626ff).into()),
                         unreachable: Some(rgba(0x859188ff).into()),
+                        unreachable_background: Some(rgba(0x353f39ff).into()),
+                        unreachable_border: Some(rgba(0x505e55ff).into()),
                         warning: Some(rgba(0xa07e3bff).into()),
+                        warning_background: Some(rgba(0x231d12ff).into()),
+                        warning_border: Some(rgba(0x392e1aff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -7963,19 +8467,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xbb8a36ff).into()),
+                        conflict_background: Some(rgba(0xf5e6d5ff).into()),
+                        conflict_border: Some(rgba(0xebd3b5ff).into()),
                         created: Some(rgba(0x918b3cff).into()),
+                        created_background: Some(rgba(0xeae6d6ff).into()),
+                        created_border: Some(rgba(0xd9d4b6ff).into()),
                         deleted: Some(rgba(0xca412cff).into()),
+                        deleted_background: Some(rgba(0xfcd9d1ff).into()),
+                        deleted_border: Some(rgba(0xf7bcaeff).into()),
                         error: Some(rgba(0xca412cff).into()),
+                        error_background: Some(rgba(0xfcd9d1ff).into()),
+                        error_border: Some(rgba(0xf7bcaeff).into()),
                         hidden: Some(rgba(0x857785ff).into()),
+                        hidden_background: Some(rgba(0xc6b8c6ff).into()),
+                        hidden_border: Some(rgba(0xbaaabaff).into()),
                         hint: Some(rgba(0x526aebff).into()),
+                        hint_background: Some(rgba(0xe2dffcff).into()),
+                        hint_border: Some(rgba(0xcac7faff).into()),
                         ignored: Some(rgba(0x6b5e6bff).into()),
+                        ignored_background: Some(rgba(0xc6b8c6ff).into()),
+                        ignored_border: Some(rgba(0xad9dadff).into()),
                         info: Some(rgba(0x526aebff).into()),
+                        info_background: Some(rgba(0xe2dffcff).into()),
+                        info_border: Some(rgba(0xcac7faff).into()),
                         modified: Some(rgba(0xbb8a36ff).into()),
+                        modified_background: Some(rgba(0xf5e6d5ff).into()),
+                        modified_border: Some(rgba(0xebd3b5ff).into()),
                         predictive: Some(rgba(0x918b3cff).into()),
+                        predictive_background: Some(rgba(0xeae6d6ff).into()),
+                        predictive_border: Some(rgba(0xd9d4b6ff).into()),
                         renamed: Some(rgba(0x526aebff).into()),
+                        renamed_background: Some(rgba(0xe2dffcff).into()),
+                        renamed_border: Some(rgba(0xcac7faff).into()),
                         success: Some(rgba(0x918b3cff).into()),
+                        success_background: Some(rgba(0xeae6d6ff).into()),
+                        success_border: Some(rgba(0xd9d4b6ff).into()),
                         unreachable: Some(rgba(0x6b5e6bff).into()),
+                        unreachable_background: Some(rgba(0xc6b8c6ff).into()),
+                        unreachable_border: Some(rgba(0xad9dadff).into()),
                         warning: Some(rgba(0xbb8a36ff).into()),
+                        warning_background: Some(rgba(0xf5e6d5ff).into()),
+                        warning_border: Some(rgba(0xebd3b5ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -8400,19 +8932,47 @@ pub fn atelier() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0x8a8a11ff).into()),
+                        conflict_background: Some(rgba(0xeae6d0ff).into()),
+                        conflict_border: Some(rgba(0xd8d3abff).into()),
                         created: Some(rgba(0x578c3cff).into()),
+                        created_background: Some(rgba(0xdde7d5ff).into()),
+                        created_border: Some(rgba(0xc2d5b6ff).into()),
                         deleted: Some(rgba(0xd22f72ff).into()),
+                        deleted_background: Some(rgba(0xfbd8e1ff).into()),
+                        deleted_border: Some(rgba(0xf6bacaff).into()),
                         error: Some(rgba(0xd22f72ff).into()),
+                        error_background: Some(rgba(0xfbd8e1ff).into()),
+                        error_border: Some(rgba(0xf6bacaff).into()),
                         hidden: Some(rgba(0x628496ff).into()),
+                        hidden_background: Some(rgba(0xa6cadcff).into()),
+                        hidden_border: Some(rgba(0x93b7c9ff).into()),
                         hint: Some(rgba(0x277fadff).into()),
+                        hint_background: Some(rgba(0xd8e4eeff).into()),
+                        hint_border: Some(rgba(0xbacfe1ff).into()),
                         ignored: Some(rgba(0x526f7dff).into()),
+                        ignored_background: Some(rgba(0xa6cadcff).into()),
+                        ignored_border: Some(rgba(0x80a4b6ff).into()),
                         info: Some(rgba(0x277fadff).into()),
+                        info_background: Some(rgba(0xd8e4eeff).into()),
+                        info_border: Some(rgba(0xbacfe1ff).into()),
                         modified: Some(rgba(0x8a8a11ff).into()),
+                        modified_background: Some(rgba(0xeae6d0ff).into()),
+                        modified_border: Some(rgba(0xd8d3abff).into()),
                         predictive: Some(rgba(0x578c3cff).into()),
+                        predictive_background: Some(rgba(0xdde7d5ff).into()),
+                        predictive_border: Some(rgba(0xc2d5b6ff).into()),
                         renamed: Some(rgba(0x277fadff).into()),
+                        renamed_background: Some(rgba(0xd8e4eeff).into()),
+                        renamed_border: Some(rgba(0xbacfe1ff).into()),
                         success: Some(rgba(0x578c3cff).into()),
+                        success_background: Some(rgba(0xdde7d5ff).into()),
+                        success_border: Some(rgba(0xc2d5b6ff).into()),
                         unreachable: Some(rgba(0x526f7dff).into()),
+                        unreachable_background: Some(rgba(0xa6cadcff).into()),
+                        unreachable_border: Some(rgba(0x80a4b6ff).into()),
                         warning: Some(rgba(0x8a8a11ff).into()),
+                        warning_background: Some(rgba(0xeae6d0ff).into()),
+                        warning_border: Some(rgba(0xd8d3abff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![

crates/theme2/src/themes/ayu.rs 🔗

@@ -97,19 +97,47 @@ pub fn ayu() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xfeb454ff).into()),
+                        conflict_background: Some(rgba(0x572916ff).into()),
+                        conflict_border: Some(rgba(0x754221ff).into()),
                         created: Some(rgba(0xaad84cff).into()),
+                        created_background: Some(rgba(0x294113ff).into()),
+                        created_border: Some(rgba(0x405c1dff).into()),
                         deleted: Some(rgba(0xef7178ff).into()),
+                        deleted_background: Some(rgba(0x48171cff).into()),
+                        deleted_border: Some(rgba(0x66272dff).into()),
                         error: Some(rgba(0xef7178ff).into()),
+                        error_background: Some(rgba(0x48171cff).into()),
+                        error_border: Some(rgba(0x66272dff).into()),
                         hidden: Some(rgba(0x696a6aff).into()),
+                        hidden_background: Some(rgba(0x313337ff).into()),
+                        hidden_border: Some(rgba(0x383a3eff).into()),
                         hint: Some(rgba(0x5ac2feff).into()),
+                        hint_background: Some(rgba(0x0d304fff).into()),
+                        hint_border: Some(rgba(0x1b4a6eff).into()),
                         ignored: Some(rgba(0x8a8986ff).into()),
+                        ignored_background: Some(rgba(0x313337ff).into()),
+                        ignored_border: Some(rgba(0x3f4043ff).into()),
                         info: Some(rgba(0x5ac2feff).into()),
+                        info_background: Some(rgba(0x0d304fff).into()),
+                        info_border: Some(rgba(0x1b4a6eff).into()),
                         modified: Some(rgba(0xfeb454ff).into()),
+                        modified_background: Some(rgba(0x572916ff).into()),
+                        modified_border: Some(rgba(0x754221ff).into()),
                         predictive: Some(rgba(0xaad84cff).into()),
+                        predictive_background: Some(rgba(0x294113ff).into()),
+                        predictive_border: Some(rgba(0x405c1dff).into()),
                         renamed: Some(rgba(0x5ac2feff).into()),
+                        renamed_background: Some(rgba(0x0d304fff).into()),
+                        renamed_border: Some(rgba(0x1b4a6eff).into()),
                         success: Some(rgba(0xaad84cff).into()),
+                        success_background: Some(rgba(0x294113ff).into()),
+                        success_border: Some(rgba(0x405c1dff).into()),
                         unreachable: Some(rgba(0x8a8986ff).into()),
+                        unreachable_background: Some(rgba(0x313337ff).into()),
+                        unreachable_border: Some(rgba(0x3f4043ff).into()),
                         warning: Some(rgba(0xfeb454ff).into()),
+                        warning_background: Some(rgba(0x572916ff).into()),
+                        warning_border: Some(rgba(0x754221ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -513,19 +541,47 @@ pub fn ayu() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xf1ae4aff).into()),
+                        conflict_background: Some(rgba(0xffeedaff).into()),
+                        conflict_border: Some(rgba(0xffe1beff).into()),
                         created: Some(rgba(0x86b305ff).into()),
+                        created_background: Some(rgba(0xe9efd2ff).into()),
+                        created_border: Some(rgba(0xd7e3aeff).into()),
                         deleted: Some(rgba(0xef7271ff).into()),
+                        deleted_background: Some(rgba(0xffe3e1ff).into()),
+                        deleted_border: Some(rgba(0xffcdcaff).into()),
                         error: Some(rgba(0xef7271ff).into()),
+                        error_background: Some(rgba(0xffe3e1ff).into()),
+                        error_border: Some(rgba(0xffcdcaff).into()),
                         hidden: Some(rgba(0xa9acaeff).into()),
+                        hidden_background: Some(rgba(0xdcdddeff).into()),
+                        hidden_border: Some(rgba(0xd5d6d8ff).into()),
                         hint: Some(rgba(0x3b9ee5ff).into()),
+                        hint_background: Some(rgba(0xdeebfaff).into()),
+                        hint_border: Some(rgba(0xc4daf6ff).into()),
                         ignored: Some(rgba(0x8c8f93ff).into()),
+                        ignored_background: Some(rgba(0xdcdddeff).into()),
+                        ignored_border: Some(rgba(0xcfd1d2ff).into()),
                         info: Some(rgba(0x3b9ee5ff).into()),
+                        info_background: Some(rgba(0xdeebfaff).into()),
+                        info_border: Some(rgba(0xc4daf6ff).into()),
                         modified: Some(rgba(0xf1ae4aff).into()),
+                        modified_background: Some(rgba(0xffeedaff).into()),
+                        modified_border: Some(rgba(0xffe1beff).into()),
                         predictive: Some(rgba(0x86b305ff).into()),
+                        predictive_background: Some(rgba(0xe9efd2ff).into()),
+                        predictive_border: Some(rgba(0xd7e3aeff).into()),
                         renamed: Some(rgba(0x3b9ee5ff).into()),
+                        renamed_background: Some(rgba(0xdeebfaff).into()),
+                        renamed_border: Some(rgba(0xc4daf6ff).into()),
                         success: Some(rgba(0x86b305ff).into()),
+                        success_background: Some(rgba(0xe9efd2ff).into()),
+                        success_border: Some(rgba(0xd7e3aeff).into()),
                         unreachable: Some(rgba(0x8c8f93ff).into()),
+                        unreachable_background: Some(rgba(0xdcdddeff).into()),
+                        unreachable_border: Some(rgba(0xcfd1d2ff).into()),
                         warning: Some(rgba(0xf1ae4aff).into()),
+                        warning_background: Some(rgba(0xffeedaff).into()),
+                        warning_border: Some(rgba(0xffe1beff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -929,19 +985,47 @@ pub fn ayu() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xfed073ff).into()),
+                        conflict_background: Some(rgba(0x584018ff).into()),
+                        conflict_border: Some(rgba(0x765a29ff).into()),
                         created: Some(rgba(0xd5fe80ff).into()),
+                        created_background: Some(rgba(0x426118ff).into()),
+                        created_border: Some(rgba(0x5d7e2cff).into()),
                         deleted: Some(rgba(0xf18779ff).into()),
+                        deleted_background: Some(rgba(0x481b1cff).into()),
+                        deleted_border: Some(rgba(0x662e2dff).into()),
                         error: Some(rgba(0xf18779ff).into()),
+                        error_background: Some(rgba(0x481b1cff).into()),
+                        error_border: Some(rgba(0x662e2dff).into()),
                         hidden: Some(rgba(0x7b7d7fff).into()),
+                        hidden_background: Some(rgba(0x464a52ff).into()),
+                        hidden_border: Some(rgba(0x4d5058ff).into()),
                         hint: Some(rgba(0x73cffeff).into()),
+                        hint_background: Some(rgba(0x123a50ff).into()),
+                        hint_border: Some(rgba(0x24556fff).into()),
                         ignored: Some(rgba(0x9a9a98ff).into()),
+                        ignored_background: Some(rgba(0x464a52ff).into()),
+                        ignored_border: Some(rgba(0x53565dff).into()),
                         info: Some(rgba(0x73cffeff).into()),
+                        info_background: Some(rgba(0x123a50ff).into()),
+                        info_border: Some(rgba(0x24556fff).into()),
                         modified: Some(rgba(0xfed073ff).into()),
+                        modified_background: Some(rgba(0x584018ff).into()),
+                        modified_border: Some(rgba(0x765a29ff).into()),
                         predictive: Some(rgba(0xd5fe80ff).into()),
+                        predictive_background: Some(rgba(0x426118ff).into()),
+                        predictive_border: Some(rgba(0x5d7e2cff).into()),
                         renamed: Some(rgba(0x73cffeff).into()),
+                        renamed_background: Some(rgba(0x123a50ff).into()),
+                        renamed_border: Some(rgba(0x24556fff).into()),
                         success: Some(rgba(0xd5fe80ff).into()),
+                        success_background: Some(rgba(0x426118ff).into()),
+                        success_border: Some(rgba(0x5d7e2cff).into()),
                         unreachable: Some(rgba(0x9a9a98ff).into()),
+                        unreachable_background: Some(rgba(0x464a52ff).into()),
+                        unreachable_border: Some(rgba(0x53565dff).into()),
                         warning: Some(rgba(0xfed073ff).into()),
+                        warning_background: Some(rgba(0x584018ff).into()),
+                        warning_border: Some(rgba(0x765a29ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![

crates/theme2/src/themes/gruvbox.rs 🔗

@@ -97,19 +97,47 @@ pub fn gruvbox() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xb57616ff).into()),
+                        conflict_background: Some(rgba(0xf5e2d0ff).into()),
+                        conflict_border: Some(rgba(0xebccabff).into()),
                         created: Some(rgba(0x797410ff).into()),
+                        created_background: Some(rgba(0xe5e1ceff).into()),
+                        created_border: Some(rgba(0xd1cba8ff).into()),
                         deleted: Some(rgba(0x9d0408ff).into()),
+                        deleted_background: Some(rgba(0xf4d1c9ff).into()),
+                        deleted_border: Some(rgba(0xe8ac9eff).into()),
                         error: Some(rgba(0x9d0408ff).into()),
+                        error_background: Some(rgba(0xf4d1c9ff).into()),
+                        error_border: Some(rgba(0xe8ac9eff).into()),
                         hidden: Some(rgba(0x8a7c6fff).into()),
+                        hidden_background: Some(rgba(0xd9c8a4ff).into()),
+                        hidden_border: Some(rgba(0xd1c09eff).into()),
                         hint: Some(rgba(0x0b6678ff).into()),
+                        hint_background: Some(rgba(0xd2dee2ff).into()),
+                        hint_border: Some(rgba(0xaec6cdff).into()),
                         ignored: Some(rgba(0x5f5650ff).into()),
+                        ignored_background: Some(rgba(0xd9c8a4ff).into()),
+                        ignored_border: Some(rgba(0xc9b99aff).into()),
                         info: Some(rgba(0x0b6678ff).into()),
+                        info_background: Some(rgba(0xd2dee2ff).into()),
+                        info_border: Some(rgba(0xaec6cdff).into()),
                         modified: Some(rgba(0xb57616ff).into()),
+                        modified_background: Some(rgba(0xf5e2d0ff).into()),
+                        modified_border: Some(rgba(0xebccabff).into()),
                         predictive: Some(rgba(0x797410ff).into()),
+                        predictive_background: Some(rgba(0xe5e1ceff).into()),
+                        predictive_border: Some(rgba(0xd1cba8ff).into()),
                         renamed: Some(rgba(0x0b6678ff).into()),
+                        renamed_background: Some(rgba(0xd2dee2ff).into()),
+                        renamed_border: Some(rgba(0xaec6cdff).into()),
                         success: Some(rgba(0x797410ff).into()),
+                        success_background: Some(rgba(0xe5e1ceff).into()),
+                        success_border: Some(rgba(0xd1cba8ff).into()),
                         unreachable: Some(rgba(0x5f5650ff).into()),
+                        unreachable_background: Some(rgba(0xd9c8a4ff).into()),
+                        unreachable_border: Some(rgba(0xc9b99aff).into()),
                         warning: Some(rgba(0xb57616ff).into()),
+                        warning_background: Some(rgba(0xf5e2d0ff).into()),
+                        warning_border: Some(rgba(0xebccabff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -520,19 +548,47 @@ pub fn gruvbox() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xf9bd30ff).into()),
+                        conflict_background: Some(rgba(0x582f10ff).into()),
+                        conflict_border: Some(rgba(0x754916ff).into()),
                         created: Some(rgba(0xb8bb27ff).into()),
+                        created_background: Some(rgba(0x332b11ff).into()),
+                        created_border: Some(rgba(0x4a4516ff).into()),
                         deleted: Some(rgba(0xfb4a35ff).into()),
+                        deleted_background: Some(rgba(0x5a0a10ff).into()),
+                        deleted_border: Some(rgba(0x771618ff).into()),
                         error: Some(rgba(0xfb4a35ff).into()),
+                        error_background: Some(rgba(0x5a0a10ff).into()),
+                        error_border: Some(rgba(0x771618ff).into()),
                         hidden: Some(rgba(0x9a8c79ff).into()),
+                        hidden_background: Some(rgba(0x4c4642ff).into()),
+                        hidden_border: Some(rgba(0x544c48ff).into()),
                         hint: Some(rgba(0x83a598ff).into()),
+                        hint_background: Some(rgba(0x1e2321ff).into()),
+                        hint_border: Some(rgba(0x303a36ff).into()),
                         ignored: Some(rgba(0xc5b597ff).into()),
+                        ignored_background: Some(rgba(0x4c4642ff).into()),
+                        ignored_border: Some(rgba(0x5b534dff).into()),
                         info: Some(rgba(0x83a598ff).into()),
+                        info_background: Some(rgba(0x1e2321ff).into()),
+                        info_border: Some(rgba(0x303a36ff).into()),
                         modified: Some(rgba(0xf9bd30ff).into()),
+                        modified_background: Some(rgba(0x582f10ff).into()),
+                        modified_border: Some(rgba(0x754916ff).into()),
                         predictive: Some(rgba(0xb8bb27ff).into()),
+                        predictive_background: Some(rgba(0x332b11ff).into()),
+                        predictive_border: Some(rgba(0x4a4516ff).into()),
                         renamed: Some(rgba(0x83a598ff).into()),
+                        renamed_background: Some(rgba(0x1e2321ff).into()),
+                        renamed_border: Some(rgba(0x303a36ff).into()),
                         success: Some(rgba(0xb8bb27ff).into()),
+                        success_background: Some(rgba(0x332b11ff).into()),
+                        success_border: Some(rgba(0x4a4516ff).into()),
                         unreachable: Some(rgba(0xc5b597ff).into()),
+                        unreachable_background: Some(rgba(0x4c4642ff).into()),
+                        unreachable_border: Some(rgba(0x5b534dff).into()),
                         warning: Some(rgba(0xf9bd30ff).into()),
+                        warning_background: Some(rgba(0x582f10ff).into()),
+                        warning_border: Some(rgba(0x754916ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -943,19 +999,47 @@ pub fn gruvbox() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xb57616ff).into()),
+                        conflict_background: Some(rgba(0xf5e2d0ff).into()),
+                        conflict_border: Some(rgba(0xebccabff).into()),
                         created: Some(rgba(0x797410ff).into()),
+                        created_background: Some(rgba(0xe5e1ceff).into()),
+                        created_border: Some(rgba(0xd1cba8ff).into()),
                         deleted: Some(rgba(0x9d0408ff).into()),
+                        deleted_background: Some(rgba(0xf4d1c9ff).into()),
+                        deleted_border: Some(rgba(0xe8ac9eff).into()),
                         error: Some(rgba(0x9d0408ff).into()),
+                        error_background: Some(rgba(0xf4d1c9ff).into()),
+                        error_border: Some(rgba(0xe8ac9eff).into()),
                         hidden: Some(rgba(0x8a7c6fff).into()),
+                        hidden_background: Some(rgba(0xd9c8a4ff).into()),
+                        hidden_border: Some(rgba(0xd1c09eff).into()),
                         hint: Some(rgba(0x0b6678ff).into()),
+                        hint_background: Some(rgba(0xd2dee2ff).into()),
+                        hint_border: Some(rgba(0xaec6cdff).into()),
                         ignored: Some(rgba(0x5f5650ff).into()),
+                        ignored_background: Some(rgba(0xd9c8a4ff).into()),
+                        ignored_border: Some(rgba(0xc9b99aff).into()),
                         info: Some(rgba(0x0b6678ff).into()),
+                        info_background: Some(rgba(0xd2dee2ff).into()),
+                        info_border: Some(rgba(0xaec6cdff).into()),
                         modified: Some(rgba(0xb57616ff).into()),
+                        modified_background: Some(rgba(0xf5e2d0ff).into()),
+                        modified_border: Some(rgba(0xebccabff).into()),
                         predictive: Some(rgba(0x797410ff).into()),
+                        predictive_background: Some(rgba(0xe5e1ceff).into()),
+                        predictive_border: Some(rgba(0xd1cba8ff).into()),
                         renamed: Some(rgba(0x0b6678ff).into()),
+                        renamed_background: Some(rgba(0xd2dee2ff).into()),
+                        renamed_border: Some(rgba(0xaec6cdff).into()),
                         success: Some(rgba(0x797410ff).into()),
+                        success_background: Some(rgba(0xe5e1ceff).into()),
+                        success_border: Some(rgba(0xd1cba8ff).into()),
                         unreachable: Some(rgba(0x5f5650ff).into()),
+                        unreachable_background: Some(rgba(0xd9c8a4ff).into()),
+                        unreachable_border: Some(rgba(0xc9b99aff).into()),
                         warning: Some(rgba(0xb57616ff).into()),
+                        warning_background: Some(rgba(0xf5e2d0ff).into()),
+                        warning_border: Some(rgba(0xebccabff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -1366,19 +1450,47 @@ pub fn gruvbox() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xf9bd30ff).into()),
+                        conflict_background: Some(rgba(0x582f10ff).into()),
+                        conflict_border: Some(rgba(0x754916ff).into()),
                         created: Some(rgba(0xb8bb27ff).into()),
+                        created_background: Some(rgba(0x332b11ff).into()),
+                        created_border: Some(rgba(0x4a4516ff).into()),
                         deleted: Some(rgba(0xfb4a35ff).into()),
+                        deleted_background: Some(rgba(0x5a0a10ff).into()),
+                        deleted_border: Some(rgba(0x771618ff).into()),
                         error: Some(rgba(0xfb4a35ff).into()),
+                        error_background: Some(rgba(0x5a0a10ff).into()),
+                        error_border: Some(rgba(0x771618ff).into()),
                         hidden: Some(rgba(0x9a8c79ff).into()),
+                        hidden_background: Some(rgba(0x4c4642ff).into()),
+                        hidden_border: Some(rgba(0x544c48ff).into()),
                         hint: Some(rgba(0x83a598ff).into()),
+                        hint_background: Some(rgba(0x1e2321ff).into()),
+                        hint_border: Some(rgba(0x303a36ff).into()),
                         ignored: Some(rgba(0xc5b597ff).into()),
+                        ignored_background: Some(rgba(0x4c4642ff).into()),
+                        ignored_border: Some(rgba(0x5b534dff).into()),
                         info: Some(rgba(0x83a598ff).into()),
+                        info_background: Some(rgba(0x1e2321ff).into()),
+                        info_border: Some(rgba(0x303a36ff).into()),
                         modified: Some(rgba(0xf9bd30ff).into()),
+                        modified_background: Some(rgba(0x582f10ff).into()),
+                        modified_border: Some(rgba(0x754916ff).into()),
                         predictive: Some(rgba(0xb8bb27ff).into()),
+                        predictive_background: Some(rgba(0x332b11ff).into()),
+                        predictive_border: Some(rgba(0x4a4516ff).into()),
                         renamed: Some(rgba(0x83a598ff).into()),
+                        renamed_background: Some(rgba(0x1e2321ff).into()),
+                        renamed_border: Some(rgba(0x303a36ff).into()),
                         success: Some(rgba(0xb8bb27ff).into()),
+                        success_background: Some(rgba(0x332b11ff).into()),
+                        success_border: Some(rgba(0x4a4516ff).into()),
                         unreachable: Some(rgba(0xc5b597ff).into()),
+                        unreachable_background: Some(rgba(0x4c4642ff).into()),
+                        unreachable_border: Some(rgba(0x5b534dff).into()),
                         warning: Some(rgba(0xf9bd30ff).into()),
+                        warning_background: Some(rgba(0x582f10ff).into()),
+                        warning_border: Some(rgba(0x754916ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -1789,19 +1901,47 @@ pub fn gruvbox() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xb57616ff).into()),
+                        conflict_background: Some(rgba(0xf5e2d0ff).into()),
+                        conflict_border: Some(rgba(0xebccabff).into()),
                         created: Some(rgba(0x797410ff).into()),
+                        created_background: Some(rgba(0xe5e1ceff).into()),
+                        created_border: Some(rgba(0xd1cba8ff).into()),
                         deleted: Some(rgba(0x9d0408ff).into()),
+                        deleted_background: Some(rgba(0xf4d1c9ff).into()),
+                        deleted_border: Some(rgba(0xe8ac9eff).into()),
                         error: Some(rgba(0x9d0408ff).into()),
+                        error_background: Some(rgba(0xf4d1c9ff).into()),
+                        error_border: Some(rgba(0xe8ac9eff).into()),
                         hidden: Some(rgba(0x8a7c6fff).into()),
+                        hidden_background: Some(rgba(0xd9c8a4ff).into()),
+                        hidden_border: Some(rgba(0xd1c09eff).into()),
                         hint: Some(rgba(0x0b6678ff).into()),
+                        hint_background: Some(rgba(0xd2dee2ff).into()),
+                        hint_border: Some(rgba(0xaec6cdff).into()),
                         ignored: Some(rgba(0x5f5650ff).into()),
+                        ignored_background: Some(rgba(0xd9c8a4ff).into()),
+                        ignored_border: Some(rgba(0xc9b99aff).into()),
                         info: Some(rgba(0x0b6678ff).into()),
+                        info_background: Some(rgba(0xd2dee2ff).into()),
+                        info_border: Some(rgba(0xaec6cdff).into()),
                         modified: Some(rgba(0xb57616ff).into()),
+                        modified_background: Some(rgba(0xf5e2d0ff).into()),
+                        modified_border: Some(rgba(0xebccabff).into()),
                         predictive: Some(rgba(0x797410ff).into()),
+                        predictive_background: Some(rgba(0xe5e1ceff).into()),
+                        predictive_border: Some(rgba(0xd1cba8ff).into()),
                         renamed: Some(rgba(0x0b6678ff).into()),
+                        renamed_background: Some(rgba(0xd2dee2ff).into()),
+                        renamed_border: Some(rgba(0xaec6cdff).into()),
                         success: Some(rgba(0x797410ff).into()),
+                        success_background: Some(rgba(0xe5e1ceff).into()),
+                        success_border: Some(rgba(0xd1cba8ff).into()),
                         unreachable: Some(rgba(0x5f5650ff).into()),
+                        unreachable_background: Some(rgba(0xd9c8a4ff).into()),
+                        unreachable_border: Some(rgba(0xc9b99aff).into()),
                         warning: Some(rgba(0xb57616ff).into()),
+                        warning_background: Some(rgba(0xf5e2d0ff).into()),
+                        warning_border: Some(rgba(0xebccabff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -2212,19 +2352,47 @@ pub fn gruvbox() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xf9bd30ff).into()),
+                        conflict_background: Some(rgba(0x582f10ff).into()),
+                        conflict_border: Some(rgba(0x754916ff).into()),
                         created: Some(rgba(0xb8bb27ff).into()),
+                        created_background: Some(rgba(0x332b11ff).into()),
+                        created_border: Some(rgba(0x4a4516ff).into()),
                         deleted: Some(rgba(0xfb4a35ff).into()),
+                        deleted_background: Some(rgba(0x5a0a10ff).into()),
+                        deleted_border: Some(rgba(0x771618ff).into()),
                         error: Some(rgba(0xfb4a35ff).into()),
+                        error_background: Some(rgba(0x5a0a10ff).into()),
+                        error_border: Some(rgba(0x771618ff).into()),
                         hidden: Some(rgba(0x9a8c79ff).into()),
+                        hidden_background: Some(rgba(0x4c4642ff).into()),
+                        hidden_border: Some(rgba(0x544c48ff).into()),
                         hint: Some(rgba(0x83a598ff).into()),
+                        hint_background: Some(rgba(0x1e2321ff).into()),
+                        hint_border: Some(rgba(0x303a36ff).into()),
                         ignored: Some(rgba(0xc5b597ff).into()),
+                        ignored_background: Some(rgba(0x4c4642ff).into()),
+                        ignored_border: Some(rgba(0x5b534dff).into()),
                         info: Some(rgba(0x83a598ff).into()),
+                        info_background: Some(rgba(0x1e2321ff).into()),
+                        info_border: Some(rgba(0x303a36ff).into()),
                         modified: Some(rgba(0xf9bd30ff).into()),
+                        modified_background: Some(rgba(0x582f10ff).into()),
+                        modified_border: Some(rgba(0x754916ff).into()),
                         predictive: Some(rgba(0xb8bb27ff).into()),
+                        predictive_background: Some(rgba(0x332b11ff).into()),
+                        predictive_border: Some(rgba(0x4a4516ff).into()),
                         renamed: Some(rgba(0x83a598ff).into()),
+                        renamed_background: Some(rgba(0x1e2321ff).into()),
+                        renamed_border: Some(rgba(0x303a36ff).into()),
                         success: Some(rgba(0xb8bb27ff).into()),
+                        success_background: Some(rgba(0x332b11ff).into()),
+                        success_border: Some(rgba(0x4a4516ff).into()),
                         unreachable: Some(rgba(0xc5b597ff).into()),
+                        unreachable_background: Some(rgba(0x4c4642ff).into()),
+                        unreachable_border: Some(rgba(0x5b534dff).into()),
                         warning: Some(rgba(0xf9bd30ff).into()),
+                        warning_background: Some(rgba(0x582f10ff).into()),
+                        warning_border: Some(rgba(0x754916ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![

crates/theme2/src/themes/one.rs 🔗

@@ -97,19 +97,47 @@ pub fn one() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xdec184ff).into()),
+                        conflict_background: Some(rgba(0xfaf2e6ff).into()),
+                        conflict_border: Some(rgba(0xf5e8d2ff).into()),
                         created: Some(rgba(0x669f59ff).into()),
+                        created_background: Some(rgba(0xe0ebdcff).into()),
+                        created_border: Some(rgba(0xc8dcc1ff).into()),
                         deleted: Some(rgba(0xd36151ff).into()),
+                        deleted_background: Some(rgba(0xfbdfd9ff).into()),
+                        deleted_border: Some(rgba(0xf6c6bdff).into()),
                         error: Some(rgba(0xd36151ff).into()),
+                        error_background: Some(rgba(0xfbdfd9ff).into()),
+                        error_border: Some(rgba(0xf6c6bdff).into()),
                         hidden: Some(rgba(0xa1a1a3ff).into()),
+                        hidden_background: Some(rgba(0xdcdcddff).into()),
+                        hidden_border: Some(rgba(0xd3d3d4ff).into()),
                         hint: Some(rgba(0x5c79e2ff).into()),
+                        hint_background: Some(rgba(0xe2e2faff).into()),
+                        hint_border: Some(rgba(0xcbcdf6ff).into()),
                         ignored: Some(rgba(0x7f8188ff).into()),
+                        ignored_background: Some(rgba(0xdcdcddff).into()),
+                        ignored_border: Some(rgba(0xc9c9caff).into()),
                         info: Some(rgba(0x5c79e2ff).into()),
+                        info_background: Some(rgba(0xe2e2faff).into()),
+                        info_border: Some(rgba(0xcbcdf6ff).into()),
                         modified: Some(rgba(0xdec184ff).into()),
+                        modified_background: Some(rgba(0xfaf2e6ff).into()),
+                        modified_border: Some(rgba(0xf5e8d2ff).into()),
                         predictive: Some(rgba(0x669f59ff).into()),
+                        predictive_background: Some(rgba(0xe0ebdcff).into()),
+                        predictive_border: Some(rgba(0xc8dcc1ff).into()),
                         renamed: Some(rgba(0x5c79e2ff).into()),
+                        renamed_background: Some(rgba(0xe2e2faff).into()),
+                        renamed_border: Some(rgba(0xcbcdf6ff).into()),
                         success: Some(rgba(0x669f59ff).into()),
+                        success_background: Some(rgba(0xe0ebdcff).into()),
+                        success_border: Some(rgba(0xc8dcc1ff).into()),
                         unreachable: Some(rgba(0x7f8188ff).into()),
+                        unreachable_background: Some(rgba(0xdcdcddff).into()),
+                        unreachable_border: Some(rgba(0xc9c9caff).into()),
                         warning: Some(rgba(0xdec184ff).into()),
+                        warning_background: Some(rgba(0xfaf2e6ff).into()),
+                        warning_border: Some(rgba(0xf5e8d2ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -520,19 +548,47 @@ pub fn one() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xdec184ff).into()),
+                        conflict_background: Some(rgba(0x41331dff).into()),
+                        conflict_border: Some(rgba(0x5d4c2fff).into()),
                         created: Some(rgba(0xa1c181ff).into()),
+                        created_background: Some(rgba(0x222e1dff).into()),
+                        created_border: Some(rgba(0x38482fff).into()),
                         deleted: Some(rgba(0xd07277ff).into()),
+                        deleted_background: Some(rgba(0x301b1cff).into()),
+                        deleted_border: Some(rgba(0x4c2b2cff).into()),
                         error: Some(rgba(0xd07277ff).into()),
+                        error_background: Some(rgba(0x301b1cff).into()),
+                        error_border: Some(rgba(0x4c2b2cff).into()),
                         hidden: Some(rgba(0x555a63ff).into()),
+                        hidden_background: Some(rgba(0x3b414dff).into()),
+                        hidden_border: Some(rgba(0x414754ff).into()),
                         hint: Some(rgba(0x74ade8ff).into()),
+                        hint_background: Some(rgba(0x18243dff).into()),
+                        hint_border: Some(rgba(0x293c5bff).into()),
                         ignored: Some(rgba(0x838994ff).into()),
+                        ignored_background: Some(rgba(0x3b414dff).into()),
+                        ignored_border: Some(rgba(0x464b57ff).into()),
                         info: Some(rgba(0x74ade8ff).into()),
+                        info_background: Some(rgba(0x18243dff).into()),
+                        info_border: Some(rgba(0x293c5bff).into()),
                         modified: Some(rgba(0xdec184ff).into()),
+                        modified_background: Some(rgba(0x41331dff).into()),
+                        modified_border: Some(rgba(0x5d4c2fff).into()),
                         predictive: Some(rgba(0xa1c181ff).into()),
+                        predictive_background: Some(rgba(0x222e1dff).into()),
+                        predictive_border: Some(rgba(0x38482fff).into()),
                         renamed: Some(rgba(0x74ade8ff).into()),
+                        renamed_background: Some(rgba(0x18243dff).into()),
+                        renamed_border: Some(rgba(0x293c5bff).into()),
                         success: Some(rgba(0xa1c181ff).into()),
+                        success_background: Some(rgba(0x222e1dff).into()),
+                        success_border: Some(rgba(0x38482fff).into()),
                         unreachable: Some(rgba(0x838994ff).into()),
+                        unreachable_background: Some(rgba(0x3b414dff).into()),
+                        unreachable_border: Some(rgba(0x464b57ff).into()),
                         warning: Some(rgba(0xdec184ff).into()),
+                        warning_background: Some(rgba(0x41331dff).into()),
+                        warning_border: Some(rgba(0x5d4c2fff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![

crates/theme2/src/themes/rose_pine.rs 🔗

@@ -97,19 +97,47 @@ pub fn rose_pine() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xe99d35ff).into()),
+                        conflict_background: Some(rgba(0xffebd6ff).into()),
+                        conflict_border: Some(rgba(0xffdab7ff).into()),
                         created: Some(rgba(0x3eaa8eff).into()),
+                        created_background: Some(rgba(0xdbeee7ff).into()),
+                        created_border: Some(rgba(0xbee0d5ff).into()),
                         deleted: Some(rgba(0xb4647aff).into()),
+                        deleted_background: Some(rgba(0xf1dfe3ff).into()),
+                        deleted_border: Some(rgba(0xe6c6cdff).into()),
                         error: Some(rgba(0xb4647aff).into()),
+                        error_background: Some(rgba(0xf1dfe3ff).into()),
+                        error_border: Some(rgba(0xe6c6cdff).into()),
                         hidden: Some(rgba(0x938fa3ff).into()),
+                        hidden_background: Some(rgba(0xdcd8d8ff).into()),
+                        hidden_border: Some(rgba(0xd0cccfff).into()),
                         hint: Some(rgba(0x57949fff).into()),
+                        hint_background: Some(rgba(0xdde9ebff).into()),
+                        hint_border: Some(rgba(0xc3d7dbff).into()),
                         ignored: Some(rgba(0x706c8cff).into()),
+                        ignored_background: Some(rgba(0xdcd8d8ff).into()),
+                        ignored_border: Some(rgba(0xdcd6d5ff).into()),
                         info: Some(rgba(0x57949fff).into()),
+                        info_background: Some(rgba(0xdde9ebff).into()),
+                        info_border: Some(rgba(0xc3d7dbff).into()),
                         modified: Some(rgba(0xe99d35ff).into()),
+                        modified_background: Some(rgba(0xffebd6ff).into()),
+                        modified_border: Some(rgba(0xffdab7ff).into()),
                         predictive: Some(rgba(0x3eaa8eff).into()),
+                        predictive_background: Some(rgba(0xdbeee7ff).into()),
+                        predictive_border: Some(rgba(0xbee0d5ff).into()),
                         renamed: Some(rgba(0x57949fff).into()),
+                        renamed_background: Some(rgba(0xdde9ebff).into()),
+                        renamed_border: Some(rgba(0xc3d7dbff).into()),
                         success: Some(rgba(0x3eaa8eff).into()),
+                        success_background: Some(rgba(0xdbeee7ff).into()),
+                        success_border: Some(rgba(0xbee0d5ff).into()),
                         unreachable: Some(rgba(0x706c8cff).into()),
+                        unreachable_background: Some(rgba(0xdcd8d8ff).into()),
+                        unreachable_border: Some(rgba(0xdcd6d5ff).into()),
                         warning: Some(rgba(0xe99d35ff).into()),
+                        warning_background: Some(rgba(0xffebd6ff).into()),
+                        warning_border: Some(rgba(0xffdab7ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -527,19 +555,47 @@ pub fn rose_pine() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xf5c177ff).into()),
+                        conflict_background: Some(rgba(0x50341aff).into()),
+                        conflict_border: Some(rgba(0x6d4d2bff).into()),
                         created: Some(rgba(0x5dc2a3ff).into()),
+                        created_background: Some(rgba(0x182e23ff).into()),
+                        created_border: Some(rgba(0x254839ff).into()),
                         deleted: Some(rgba(0xea6f92ff).into()),
+                        deleted_background: Some(rgba(0x431820ff).into()),
+                        deleted_border: Some(rgba(0x612834ff).into()),
                         error: Some(rgba(0xea6f92ff).into()),
+                        error_background: Some(rgba(0x431820ff).into()),
+                        error_border: Some(rgba(0x612834ff).into()),
                         hidden: Some(rgba(0x615d7aff).into()),
+                        hidden_background: Some(rgba(0x38354eff).into()),
+                        hidden_border: Some(rgba(0x44415bff).into()),
                         hint: Some(rgba(0x9cced7ff).into()),
+                        hint_background: Some(rgba(0x2f3739ff).into()),
+                        hint_border: Some(rgba(0x435255ff).into()),
                         ignored: Some(rgba(0x85819eff).into()),
+                        ignored_background: Some(rgba(0x38354eff).into()),
+                        ignored_border: Some(rgba(0x504c68ff).into()),
                         info: Some(rgba(0x9cced7ff).into()),
+                        info_background: Some(rgba(0x2f3739ff).into()),
+                        info_border: Some(rgba(0x435255ff).into()),
                         modified: Some(rgba(0xf5c177ff).into()),
+                        modified_background: Some(rgba(0x50341aff).into()),
+                        modified_border: Some(rgba(0x6d4d2bff).into()),
                         predictive: Some(rgba(0x5dc2a3ff).into()),
+                        predictive_background: Some(rgba(0x182e23ff).into()),
+                        predictive_border: Some(rgba(0x254839ff).into()),
                         renamed: Some(rgba(0x9cced7ff).into()),
+                        renamed_background: Some(rgba(0x2f3739ff).into()),
+                        renamed_border: Some(rgba(0x435255ff).into()),
                         success: Some(rgba(0x5dc2a3ff).into()),
+                        success_background: Some(rgba(0x182e23ff).into()),
+                        success_border: Some(rgba(0x254839ff).into()),
                         unreachable: Some(rgba(0x85819eff).into()),
+                        unreachable_background: Some(rgba(0x38354eff).into()),
+                        unreachable_border: Some(rgba(0x504c68ff).into()),
                         warning: Some(rgba(0xf5c177ff).into()),
+                        warning_background: Some(rgba(0x50341aff).into()),
+                        warning_border: Some(rgba(0x6d4d2bff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -957,19 +1013,47 @@ pub fn rose_pine() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xf5c177ff).into()),
+                        conflict_background: Some(rgba(0x50341aff).into()),
+                        conflict_border: Some(rgba(0x6d4d2bff).into()),
                         created: Some(rgba(0x5dc2a3ff).into()),
+                        created_background: Some(rgba(0x182e23ff).into()),
+                        created_border: Some(rgba(0x254839ff).into()),
                         deleted: Some(rgba(0xea6f92ff).into()),
+                        deleted_background: Some(rgba(0x431820ff).into()),
+                        deleted_border: Some(rgba(0x612834ff).into()),
                         error: Some(rgba(0xea6f92ff).into()),
+                        error_background: Some(rgba(0x431820ff).into()),
+                        error_border: Some(rgba(0x612834ff).into()),
                         hidden: Some(rgba(0x2f2b43ff).into()),
+                        hidden_background: Some(rgba(0x292739ff).into()),
+                        hidden_border: Some(rgba(0x353347ff).into()),
                         hint: Some(rgba(0x9cced7ff).into()),
+                        hint_background: Some(rgba(0x2f3739ff).into()),
+                        hint_border: Some(rgba(0x435255ff).into()),
                         ignored: Some(rgba(0x75718eff).into()),
+                        ignored_background: Some(rgba(0x292739ff).into()),
+                        ignored_border: Some(rgba(0x423f55ff).into()),
                         info: Some(rgba(0x9cced7ff).into()),
+                        info_background: Some(rgba(0x2f3739ff).into()),
+                        info_border: Some(rgba(0x435255ff).into()),
                         modified: Some(rgba(0xf5c177ff).into()),
+                        modified_background: Some(rgba(0x50341aff).into()),
+                        modified_border: Some(rgba(0x6d4d2bff).into()),
                         predictive: Some(rgba(0x5dc2a3ff).into()),
+                        predictive_background: Some(rgba(0x182e23ff).into()),
+                        predictive_border: Some(rgba(0x254839ff).into()),
                         renamed: Some(rgba(0x9cced7ff).into()),
+                        renamed_background: Some(rgba(0x2f3739ff).into()),
+                        renamed_border: Some(rgba(0x435255ff).into()),
                         success: Some(rgba(0x5dc2a3ff).into()),
+                        success_background: Some(rgba(0x182e23ff).into()),
+                        success_border: Some(rgba(0x254839ff).into()),
                         unreachable: Some(rgba(0x75718eff).into()),
+                        unreachable_background: Some(rgba(0x292739ff).into()),
+                        unreachable_border: Some(rgba(0x423f55ff).into()),
                         warning: Some(rgba(0xf5c177ff).into()),
+                        warning_background: Some(rgba(0x50341aff).into()),
+                        warning_border: Some(rgba(0x6d4d2bff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![

crates/theme2/src/themes/sandcastle.rs 🔗

@@ -96,19 +96,47 @@ pub fn sandcastle() -> UserThemeFamily {
                 },
                 status: StatusColorsRefinement {
                     conflict: Some(rgba(0xa07e3bff).into()),
+                    conflict_background: Some(rgba(0x231d12ff).into()),
+                    conflict_border: Some(rgba(0x392e1aff).into()),
                     created: Some(rgba(0x83a598ff).into()),
+                    created_background: Some(rgba(0x1e2321ff).into()),
+                    created_border: Some(rgba(0x303a36ff).into()),
                     deleted: Some(rgba(0xb4637aff).into()),
+                    deleted_background: Some(rgba(0x26191cff).into()),
+                    deleted_border: Some(rgba(0x3f272dff).into()),
                     error: Some(rgba(0xb4637aff).into()),
+                    error_background: Some(rgba(0x26191cff).into()),
+                    error_border: Some(rgba(0x3f272dff).into()),
                     hidden: Some(rgba(0x827568ff).into()),
+                    hidden_background: Some(rgba(0x333944ff).into()),
+                    hidden_border: Some(rgba(0x393f4aff).into()),
                     hint: Some(rgba(0x528b8bff).into()),
+                    hint_background: Some(rgba(0x171f1fff).into()),
+                    hint_border: Some(rgba(0x223232ff).into()),
                     ignored: Some(rgba(0xa69782ff).into()),
+                    ignored_background: Some(rgba(0x333944ff).into()),
+                    ignored_border: Some(rgba(0x3d4350ff).into()),
                     info: Some(rgba(0x528b8bff).into()),
+                    info_background: Some(rgba(0x171f1fff).into()),
+                    info_border: Some(rgba(0x223232ff).into()),
                     modified: Some(rgba(0xa07e3bff).into()),
+                    modified_background: Some(rgba(0x231d12ff).into()),
+                    modified_border: Some(rgba(0x392e1aff).into()),
                     predictive: Some(rgba(0x83a598ff).into()),
+                    predictive_background: Some(rgba(0x1e2321ff).into()),
+                    predictive_border: Some(rgba(0x303a36ff).into()),
                     renamed: Some(rgba(0x528b8bff).into()),
+                    renamed_background: Some(rgba(0x171f1fff).into()),
+                    renamed_border: Some(rgba(0x223232ff).into()),
                     success: Some(rgba(0x83a598ff).into()),
+                    success_background: Some(rgba(0x1e2321ff).into()),
+                    success_border: Some(rgba(0x303a36ff).into()),
                     unreachable: Some(rgba(0xa69782ff).into()),
+                    unreachable_background: Some(rgba(0x333944ff).into()),
+                    unreachable_border: Some(rgba(0x3d4350ff).into()),
                     warning: Some(rgba(0xa07e3bff).into()),
+                    warning_background: Some(rgba(0x231d12ff).into()),
+                    warning_border: Some(rgba(0x392e1aff).into()),
                     ..Default::default()
                 },
                 player: Some(PlayerColors(vec![

crates/theme2/src/themes/solarized.rs 🔗

@@ -97,19 +97,47 @@ pub fn solarized() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xb58904ff).into()),
+                        conflict_background: Some(rgba(0xf5e6d0ff).into()),
+                        conflict_border: Some(rgba(0xebd3aaff).into()),
                         created: Some(rgba(0x859904ff).into()),
+                        created_background: Some(rgba(0xe9ead0ff).into()),
+                        created_border: Some(rgba(0xd6d9abff).into()),
                         deleted: Some(rgba(0xdc3330ff).into()),
+                        deleted_background: Some(rgba(0xffd9d2ff).into()),
+                        deleted_border: Some(rgba(0xffbbafff).into()),
                         error: Some(rgba(0xdc3330ff).into()),
+                        error_background: Some(rgba(0xffd9d2ff).into()),
+                        error_border: Some(rgba(0xffbbafff).into()),
                         hidden: Some(rgba(0x6a7f86ff).into()),
+                        hidden_background: Some(rgba(0xcfd0c4ff).into()),
+                        hidden_border: Some(rgba(0xb7bdb6ff).into()),
                         hint: Some(rgba(0x298bd1ff).into()),
+                        hint_background: Some(rgba(0xdbe6f6ff).into()),
+                        hint_border: Some(rgba(0xbfd3efff).into()),
                         ignored: Some(rgba(0x34555eff).into()),
+                        ignored_background: Some(rgba(0xcfd0c4ff).into()),
+                        ignored_border: Some(rgba(0x9faaa8ff).into()),
                         info: Some(rgba(0x298bd1ff).into()),
+                        info_background: Some(rgba(0xdbe6f6ff).into()),
+                        info_border: Some(rgba(0xbfd3efff).into()),
                         modified: Some(rgba(0xb58904ff).into()),
+                        modified_background: Some(rgba(0xf5e6d0ff).into()),
+                        modified_border: Some(rgba(0xebd3aaff).into()),
                         predictive: Some(rgba(0x859904ff).into()),
+                        predictive_background: Some(rgba(0xe9ead0ff).into()),
+                        predictive_border: Some(rgba(0xd6d9abff).into()),
                         renamed: Some(rgba(0x298bd1ff).into()),
+                        renamed_background: Some(rgba(0xdbe6f6ff).into()),
+                        renamed_border: Some(rgba(0xbfd3efff).into()),
                         success: Some(rgba(0x859904ff).into()),
+                        success_background: Some(rgba(0xe9ead0ff).into()),
+                        success_border: Some(rgba(0xd6d9abff).into()),
                         unreachable: Some(rgba(0x34555eff).into()),
+                        unreachable_background: Some(rgba(0xcfd0c4ff).into()),
+                        unreachable_border: Some(rgba(0x9faaa8ff).into()),
                         warning: Some(rgba(0xb58904ff).into()),
+                        warning_background: Some(rgba(0xf5e6d0ff).into()),
+                        warning_border: Some(rgba(0xebd3aaff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![
@@ -513,19 +541,47 @@ pub fn solarized() -> UserThemeFamily {
                     },
                     status: StatusColorsRefinement {
                         conflict: Some(rgba(0xb58903ff).into()),
+                        conflict_background: Some(rgba(0x2f1e0cff).into()),
+                        conflict_border: Some(rgba(0x473110ff).into()),
                         created: Some(rgba(0x859904ff).into()),
+                        created_background: Some(rgba(0x1f210cff).into()),
+                        created_border: Some(rgba(0x323610ff).into()),
                         deleted: Some(rgba(0xdc3330ff).into()),
+                        deleted_background: Some(rgba(0x4a090fff).into()),
+                        deleted_border: Some(rgba(0x641116ff).into()),
                         error: Some(rgba(0xdc3330ff).into()),
+                        error_background: Some(rgba(0x4a090fff).into()),
+                        error_border: Some(rgba(0x641116ff).into()),
                         hidden: Some(rgba(0x6f8389ff).into()),
+                        hidden_background: Some(rgba(0x083743ff).into()),
+                        hidden_border: Some(rgba(0x19424dff).into()),
                         hint: Some(rgba(0x288bd1ff).into()),
+                        hint_background: Some(rgba(0x141f2cff).into()),
+                        hint_border: Some(rgba(0x1c3249ff).into()),
                         ignored: Some(rgba(0x93a1a1ff).into()),
+                        ignored_background: Some(rgba(0x083743ff).into()),
+                        ignored_border: Some(rgba(0x2b4f58ff).into()),
                         info: Some(rgba(0x288bd1ff).into()),
+                        info_background: Some(rgba(0x141f2cff).into()),
+                        info_border: Some(rgba(0x1c3249ff).into()),
                         modified: Some(rgba(0xb58903ff).into()),
+                        modified_background: Some(rgba(0x2f1e0cff).into()),
+                        modified_border: Some(rgba(0x473110ff).into()),
                         predictive: Some(rgba(0x859904ff).into()),
+                        predictive_background: Some(rgba(0x1f210cff).into()),
+                        predictive_border: Some(rgba(0x323610ff).into()),
                         renamed: Some(rgba(0x288bd1ff).into()),
+                        renamed_background: Some(rgba(0x141f2cff).into()),
+                        renamed_border: Some(rgba(0x1c3249ff).into()),
                         success: Some(rgba(0x859904ff).into()),
+                        success_background: Some(rgba(0x1f210cff).into()),
+                        success_border: Some(rgba(0x323610ff).into()),
                         unreachable: Some(rgba(0x93a1a1ff).into()),
+                        unreachable_background: Some(rgba(0x083743ff).into()),
+                        unreachable_border: Some(rgba(0x2b4f58ff).into()),
                         warning: Some(rgba(0xb58903ff).into()),
+                        warning_background: Some(rgba(0x2f1e0cff).into()),
+                        warning_border: Some(rgba(0x473110ff).into()),
                         ..Default::default()
                     },
                     player: Some(PlayerColors(vec![

crates/theme2/src/themes/summercamp.rs 🔗

@@ -96,19 +96,47 @@ pub fn summercamp() -> UserThemeFamily {
                 },
                 status: StatusColorsRefinement {
                     conflict: Some(rgba(0xf1fe29ff).into()),
+                    conflict_background: Some(rgba(0x556305ff).into()),
+                    conflict_border: Some(rgba(0x727f0aff).into()),
                     created: Some(rgba(0x5dea5aff).into()),
+                    created_background: Some(rgba(0x0a4d13ff).into()),
+                    created_border: Some(rgba(0x1a6a20ff).into()),
                     deleted: Some(rgba(0xe35142ff).into()),
+                    deleted_background: Some(rgba(0x491013ff).into()),
+                    deleted_border: Some(rgba(0x651c1cff).into()),
                     error: Some(rgba(0xe35142ff).into()),
+                    error_background: Some(rgba(0x491013ff).into()),
+                    error_border: Some(rgba(0x651c1cff).into()),
                     hidden: Some(rgba(0x4c4735ff).into()),
+                    hidden_background: Some(rgba(0x2a261cff).into()),
+                    hidden_border: Some(rgba(0x2e2a1fff).into()),
                     hint: Some(rgba(0x499befff).into()),
+                    hint_background: Some(rgba(0x0e2242ff).into()),
+                    hint_border: Some(rgba(0x193761ff).into()),
                     ignored: Some(rgba(0x736e55ff).into()),
+                    ignored_background: Some(rgba(0x2a261cff).into()),
+                    ignored_border: Some(rgba(0x312d21ff).into()),
                     info: Some(rgba(0x499befff).into()),
+                    info_background: Some(rgba(0x0e2242ff).into()),
+                    info_border: Some(rgba(0x193761ff).into()),
                     modified: Some(rgba(0xf1fe29ff).into()),
+                    modified_background: Some(rgba(0x556305ff).into()),
+                    modified_border: Some(rgba(0x727f0aff).into()),
                     predictive: Some(rgba(0x5dea5aff).into()),
+                    predictive_background: Some(rgba(0x0a4d13ff).into()),
+                    predictive_border: Some(rgba(0x1a6a20ff).into()),
                     renamed: Some(rgba(0x499befff).into()),
+                    renamed_background: Some(rgba(0x0e2242ff).into()),
+                    renamed_border: Some(rgba(0x193761ff).into()),
                     success: Some(rgba(0x5dea5aff).into()),
+                    success_background: Some(rgba(0x0a4d13ff).into()),
+                    success_border: Some(rgba(0x1a6a20ff).into()),
                     unreachable: Some(rgba(0x736e55ff).into()),
+                    unreachable_background: Some(rgba(0x2a261cff).into()),
+                    unreachable_border: Some(rgba(0x312d21ff).into()),
                     warning: Some(rgba(0xf1fe29ff).into()),
+                    warning_background: Some(rgba(0x556305ff).into()),
+                    warning_border: Some(rgba(0x727f0aff).into()),
                     ..Default::default()
                 },
                 player: Some(PlayerColors(vec![

crates/theme_importer/src/theme_printer.rs 🔗

@@ -310,19 +310,47 @@ impl<'a> Debug for StatusColorsRefinementPrinter<'a> {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
         let status_colors = vec![
             ("conflict", self.0.conflict),
+            ("conflict_background", self.0.conflict_background),
+            ("conflict_border", self.0.conflict_border),
             ("created", self.0.created),
+            ("created_background", self.0.created_background),
+            ("created_border", self.0.created_border),
             ("deleted", self.0.deleted),
+            ("deleted_background", self.0.deleted_background),
+            ("deleted_border", self.0.deleted_border),
             ("error", self.0.error),
+            ("error_background", self.0.error_background),
+            ("error_border", self.0.error_border),
             ("hidden", self.0.hidden),
+            ("hidden_background", self.0.hidden_background),
+            ("hidden_border", self.0.hidden_border),
             ("hint", self.0.hint),
+            ("hint_background", self.0.hint_background),
+            ("hint_border", self.0.hint_border),
             ("ignored", self.0.ignored),
+            ("ignored_background", self.0.ignored_background),
+            ("ignored_border", self.0.ignored_border),
             ("info", self.0.info),
+            ("info_background", self.0.info_background),
+            ("info_border", self.0.info_border),
             ("modified", self.0.modified),
+            ("modified_background", self.0.modified_background),
+            ("modified_border", self.0.modified_border),
             ("predictive", self.0.predictive),
+            ("predictive_background", self.0.predictive_background),
+            ("predictive_border", self.0.predictive_border),
             ("renamed", self.0.renamed),
+            ("renamed_background", self.0.renamed_background),
+            ("renamed_border", self.0.renamed_border),
             ("success", self.0.success),
+            ("success_background", self.0.success_background),
+            ("success_border", self.0.success_border),
             ("unreachable", self.0.unreachable),
+            ("unreachable_background", self.0.unreachable_background),
+            ("unreachable_border", self.0.unreachable_border),
             ("warning", self.0.warning),
+            ("warning_background", self.0.warning_background),
+            ("warning_border", self.0.warning_border),
         ];
 
         f.write_str("StatusColorsRefinement {")?;

crates/theme_importer/src/zed1/converter.rs 🔗

@@ -78,19 +78,47 @@ impl Zed1ThemeConverter {
 
         Ok(StatusColorsRefinement {
             created: convert(lowest.positive.default.foreground),
+            created_background: convert(lowest.positive.default.background),
+            created_border: convert(lowest.positive.default.border),
             modified: convert(lowest.warning.default.foreground),
+            modified_background: convert(lowest.warning.default.background),
+            modified_border: convert(lowest.warning.default.border),
             deleted: convert(lowest.negative.default.foreground),
+            deleted_background: convert(lowest.negative.default.background),
+            deleted_border: convert(lowest.negative.default.border),
             success: convert(lowest.positive.default.foreground),
+            success_background: convert(lowest.positive.default.background),
+            success_border: convert(lowest.positive.default.border),
             warning: convert(lowest.warning.default.foreground),
+            warning_background: convert(lowest.warning.default.background),
+            warning_border: convert(lowest.warning.default.border),
             error: convert(lowest.negative.default.foreground),
+            error_background: convert(lowest.negative.default.background),
+            error_border: convert(lowest.negative.default.border),
             hint: convert(lowest.accent.default.foreground),
+            hint_background: convert(lowest.accent.default.background),
+            hint_border: convert(lowest.accent.default.border),
             predictive: convert(lowest.positive.default.foreground),
+            predictive_background: convert(lowest.positive.default.background),
+            predictive_border: convert(lowest.positive.default.border),
             conflict: convert(lowest.warning.default.foreground),
+            conflict_background: convert(lowest.warning.default.background),
+            conflict_border: convert(lowest.warning.default.border),
             hidden: convert(lowest.base.disabled.foreground),
+            hidden_background: convert(lowest.base.disabled.background),
+            hidden_border: convert(lowest.base.disabled.border),
             ignored: convert(lowest.variant.default.foreground),
+            ignored_background: convert(lowest.variant.default.background),
+            ignored_border: convert(lowest.variant.default.border),
             info: convert(lowest.accent.default.foreground),
+            info_background: convert(lowest.accent.default.background),
+            info_border: convert(lowest.accent.default.border),
             renamed: convert(lowest.accent.default.foreground),
+            renamed_background: convert(lowest.accent.default.background),
+            renamed_border: convert(lowest.accent.default.border),
             unreachable: convert(lowest.variant.default.foreground), // TODO: Should this be transparent?
+            unreachable_background: convert(lowest.variant.default.background),
+            unreachable_border: convert(lowest.variant.default.border),
         })
     }