Detailed changes
@@ -9838,6 +9838,7 @@ dependencies = [
name = "theme_selector"
version = "0.1.0"
dependencies = [
+ "client",
"editor",
"feature_flags",
"fs",
@@ -9858,6 +9859,7 @@ dependencies = [
name = "theme_selector2"
version = "0.1.0"
dependencies = [
+ "client2",
"editor2",
"feature_flags2",
"fs2",
@@ -1281,6 +1281,10 @@ impl Panel for AssistantPanel {
Some(Icon::Ai)
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ Some("Assistant Panel")
+ }
+
fn toggle_action(&self) -> Box<dyn Action> {
Box::new(ToggleFocus)
}
@@ -113,6 +113,11 @@ pub enum ClickhouseEvent {
operation: &'static str,
milliseconds_since_first_event: i64,
},
+ Setting {
+ setting: &'static str,
+ value: String,
+ milliseconds_since_first_event: i64,
+ },
}
#[cfg(debug_assertions)]
@@ -354,6 +359,21 @@ impl Telemetry {
self.report_clickhouse_event(event, telemetry_settings, immediate_flush)
}
+ pub fn report_setting_event(
+ self: &Arc<Self>,
+ telemetry_settings: TelemetrySettings,
+ setting: &'static str,
+ value: String,
+ ) {
+ let event = ClickhouseEvent::Setting {
+ setting,
+ value,
+ milliseconds_since_first_event: self.milliseconds_since_first_event(),
+ };
+
+ self.report_clickhouse_event(event, telemetry_settings, false)
+ }
+
fn milliseconds_since_first_event(&self) -> i64 {
let mut state = self.state.lock();
match state.first_event_datetime {
@@ -28,6 +28,7 @@ struct TelemetryState {
app_metadata: AppMetadata,
architecture: &'static str,
clickhouse_events_queue: Vec<ClickhouseEventWrapper>,
+ flush_clickhouse_events_task: Option<Task<()>>,
log_file: Option<NamedTempFile>,
is_staff: Option<bool>,
first_event_datetime: Option<DateTime<Utc>>,
@@ -111,6 +112,11 @@ pub enum ClickhouseEvent {
operation: &'static str,
milliseconds_since_first_event: i64,
},
+ Setting {
+ setting: &'static str,
+ value: String,
+ milliseconds_since_first_event: i64,
+ },
}
#[cfg(debug_assertions)]
@@ -119,6 +125,12 @@ const MAX_QUEUE_LEN: usize = 1;
#[cfg(not(debug_assertions))]
const MAX_QUEUE_LEN: usize = 50;
+#[cfg(debug_assertions)]
+const DEBOUNCE_INTERVAL: Duration = Duration::from_secs(1);
+
+#[cfg(not(debug_assertions))]
+const DEBOUNCE_INTERVAL: Duration = Duration::from_secs(60 * 5);
+
impl Telemetry {
pub fn new(client: Arc<dyn HttpClient>, cx: &mut AppContext) -> Arc<Self> {
let release_channel = if cx.has_global::<ReleaseChannel>() {
@@ -139,6 +151,7 @@ impl Telemetry {
metrics_id: None,
session_id: None,
clickhouse_events_queue: Default::default(),
+ flush_clickhouse_events_task: Default::default(),
log_file: None,
is_staff: None,
first_event_datetime: None,
@@ -370,6 +383,21 @@ impl Telemetry {
self.report_clickhouse_event(event, telemetry_settings, immediate_flush)
}
+ pub fn report_setting_event(
+ self: &Arc<Self>,
+ telemetry_settings: TelemetrySettings,
+ setting: &'static str,
+ value: String,
+ ) {
+ let event = ClickhouseEvent::Setting {
+ setting,
+ value,
+ milliseconds_since_first_event: self.milliseconds_since_first_event(),
+ };
+
+ self.report_clickhouse_event(event, telemetry_settings, false)
+ }
+
fn milliseconds_since_first_event(&self) -> i64 {
let mut state = self.state.lock();
match state.first_event_datetime {
@@ -404,6 +432,13 @@ impl Telemetry {
if immediate_flush || state.clickhouse_events_queue.len() >= MAX_QUEUE_LEN {
drop(state);
self.flush_clickhouse_events();
+ } else {
+ let this = self.clone();
+ let executor = self.executor.clone();
+ state.flush_clickhouse_events_task = Some(self.executor.spawn(async move {
+ executor.timer(DEBOUNCE_INTERVAL).await;
+ this.flush_clickhouse_events();
+ }));
}
}
}
@@ -424,6 +459,7 @@ impl Telemetry {
let mut state = self.state.lock();
state.first_event_datetime = None;
let mut events = mem::take(&mut state.clickhouse_events_queue);
+ state.flush_clickhouse_events_task.take();
drop(state);
let this = self.clone();
@@ -0,0 +1 @@
+../collab2/k8s
@@ -1,4 +0,0 @@
-ZED_ENVIRONMENT=production
-RUST_LOG=info
-INVITE_LINK_PREFIX=https://zed.dev/invites/
-DATABASE_MAX_CONNECTIONS=85
@@ -1,4 +0,0 @@
-ZED_ENVIRONMENT=staging
-RUST_LOG=info
-INVITE_LINK_PREFIX=https://staging.zed.dev/invites/
-DATABASE_MAX_CONNECTIONS=5
@@ -1,177 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ${ZED_KUBE_NAMESPACE}
-
----
-kind: Service
-apiVersion: v1
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: collab
- annotations:
- service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
- service.beta.kubernetes.io/do-loadbalancer-certificate-id: ${ZED_DO_CERTIFICATE_ID}
-spec:
- type: LoadBalancer
- selector:
- app: collab
- ports:
- - name: web
- protocol: TCP
- port: 443
- targetPort: 8080
-
----
-kind: Service
-apiVersion: v1
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: pgadmin
- annotations:
- service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
- service.beta.kubernetes.io/do-loadbalancer-certificate-id: ${ZED_DO_CERTIFICATE_ID}
-spec:
- type: LoadBalancer
- selector:
- app: postgrest
- ports:
- - name: web
- protocol: TCP
- port: 443
- targetPort: 8080
-
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: collab
-
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: collab
- template:
- metadata:
- labels:
- app: collab
- annotations:
- ad.datadoghq.com/collab.check_names: |
- ["openmetrics"]
- ad.datadoghq.com/collab.init_configs: |
- [{}]
- ad.datadoghq.com/collab.instances: |
- [
- {
- "openmetrics_endpoint": "http://%%host%%:%%port%%/metrics",
- "namespace": "collab_${ZED_KUBE_NAMESPACE}",
- "metrics": [".*"]
- }
- ]
- spec:
- containers:
- - name: collab
- image: "${ZED_IMAGE_ID}"
- args:
- - serve
- ports:
- - containerPort: 8080
- protocol: TCP
- livenessProbe:
- httpGet:
- path: /healthz
- port: 8080
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 5
- readinessProbe:
- httpGet:
- path: /
- port: 8080
- initialDelaySeconds: 1
- periodSeconds: 1
- env:
- - name: HTTP_PORT
- value: "8080"
- - name: DATABASE_URL
- valueFrom:
- secretKeyRef:
- name: database
- key: url
- - name: DATABASE_MAX_CONNECTIONS
- value: "${DATABASE_MAX_CONNECTIONS}"
- - name: API_TOKEN
- valueFrom:
- secretKeyRef:
- name: api
- key: token
- - name: LIVE_KIT_SERVER
- valueFrom:
- secretKeyRef:
- name: livekit
- key: server
- - name: LIVE_KIT_KEY
- valueFrom:
- secretKeyRef:
- name: livekit
- key: key
- - name: LIVE_KIT_SECRET
- valueFrom:
- secretKeyRef:
- name: livekit
- key: secret
- - name: INVITE_LINK_PREFIX
- value: ${INVITE_LINK_PREFIX}
- - name: RUST_BACKTRACE
- value: "1"
- - name: RUST_LOG
- value: ${RUST_LOG}
- - name: LOG_JSON
- value: "true"
- - name: ZED_ENVIRONMENT
- value: ${ZED_ENVIRONMENT}
- securityContext:
- capabilities:
- # FIXME - Switch to the more restrictive `PERFMON` capability.
- # This capability isn't yet available in a stable version of Debian.
- add: ["SYS_ADMIN"]
-
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: postgrest
-
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: postgrest
- template:
- metadata:
- labels:
- app: postgrest
- spec:
- containers:
- - name: postgrest
- image: "postgrest/postgrest"
- ports:
- - containerPort: 8080
- protocol: TCP
- env:
- - name: PGRST_SERVER_PORT
- value: "8080"
- - name: PGRST_DB_URI
- valueFrom:
- secretKeyRef:
- name: database
- key: url
- - name: PGRST_JWT_SECRET
- valueFrom:
- secretKeyRef:
- name: postgrest
- key: jwt_secret
@@ -1,21 +0,0 @@
-apiVersion: batch/v1
-kind: Job
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: ${ZED_MIGRATE_JOB_NAME}
-spec:
- template:
- spec:
- restartPolicy: Never
- containers:
- - name: migrator
- imagePullPolicy: Always
- image: ${ZED_IMAGE_ID}
- args:
- - migrate
- env:
- - name: DATABASE_URL
- valueFrom:
- secretKeyRef:
- name: database
- key: url
@@ -23,25 +23,6 @@ spec:
port: 443
targetPort: 8080
----
-kind: Service
-apiVersion: v1
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: pgadmin
- annotations:
- service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
- service.beta.kubernetes.io/do-loadbalancer-certificate-id: ${ZED_DO_CERTIFICATE_ID}
-spec:
- type: LoadBalancer
- selector:
- app: postgrest
- ports:
- - name: web
- protocol: TCP
- port: 443
- targetPort: 8080
-
---
apiVersion: apps/v1
kind: Deployment
@@ -138,40 +119,3 @@ spec:
# FIXME - Switch to the more restrictive `PERFMON` capability.
# This capability isn't yet available in a stable version of Debian.
add: ["SYS_ADMIN"]
-
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- namespace: ${ZED_KUBE_NAMESPACE}
- name: postgrest
-
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: postgrest
- template:
- metadata:
- labels:
- app: postgrest
- spec:
- containers:
- - name: postgrest
- image: "postgrest/postgrest"
- ports:
- - containerPort: 8080
- protocol: TCP
- env:
- - name: PGRST_SERVER_PORT
- value: "8080"
- - name: PGRST_DB_URI
- valueFrom:
- secretKeyRef:
- name: database
- key: url
- - name: PGRST_JWT_SECRET
- valueFrom:
- secretKeyRef:
- name: postgrest
- key: jwt_secret
@@ -1,4 +1,4 @@
-ZED_ENVIRONMENT=preview
+ZED_ENVIRONMENT=nightly
RUST_LOG=info
INVITE_LINK_PREFIX=https://zed.dev/invites/
DATABASE_MAX_CONNECTIONS=10
@@ -0,0 +1,55 @@
+---
+kind: Service
+apiVersion: v1
+metadata:
+ namespace: ${ZED_KUBE_NAMESPACE}
+ name: postgrest
+ annotations:
+ service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
+ service.beta.kubernetes.io/do-loadbalancer-certificate-id: ${ZED_DO_CERTIFICATE_ID}
+spec:
+ type: LoadBalancer
+ selector:
+ app: postgrest
+ ports:
+ - name: web
+ protocol: TCP
+ port: 443
+ targetPort: 8080
+
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ namespace: ${ZED_KUBE_NAMESPACE}
+ name: postgrest
+
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: postgrest
+ template:
+ metadata:
+ labels:
+ app: postgrest
+ spec:
+ containers:
+ - name: postgrest
+ image: "postgrest/postgrest"
+ ports:
+ - containerPort: 8080
+ protocol: TCP
+ env:
+ - name: PGRST_SERVER_PORT
+ value: "8080"
+ - name: PGRST_DB_URI
+ valueFrom:
+ secretKeyRef:
+ name: database
+ key: url
+ - name: PGRST_JWT_SECRET
+ valueFrom:
+ secretKeyRef:
+ name: postgrest
+ key: jwt_secret
@@ -611,6 +611,10 @@ impl Panel for ChatPanel {
Some(ui::Icon::MessageBubbles)
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ Some("Chat Panel")
+ }
+
fn toggle_action(&self) -> Box<dyn gpui::Action> {
Box::new(ToggleFocus)
}
@@ -2163,18 +2163,33 @@ impl CollabPanel {
.child(
h_stack()
.id(channel_id as usize)
+ // HACK: This is a dirty hack to help with the positioning of the button container.
+ //
+ // We're using a pixel width for the elements but then allowing the contents to
+ // overflow. This means that the label and facepile will be shown, but will not
+ // push the button container off the edge of the panel.
+ .w_px()
.child(Label::new(channel.name.clone()))
.children(face_pile.map(|face_pile| face_pile.render(cx))),
)
.end_slot(
h_stack()
.absolute()
- .right_0()
+ // We're using a negative coordinate for the right anchor to
+ // counteract the padding of the `ListItem`.
+ //
+ // This prevents a gap from showing up between the background
+ // of this element and the edge of the collab panel.
+ .right(rems(-0.5))
// HACK: Without this the channel name clips on top of the icons, but I'm not sure why.
.z_index(10)
.bg(cx.theme().colors().panel_background)
+ .when(is_selected || is_active, |this| {
+ this.bg(cx.theme().colors().ghost_element_selected)
+ })
.child(
h_stack()
+ .px_1()
// The element hover background has a slight transparency to it, so we
// need to apply it to the inner element so that it blends with the solid
// background color of the absolutely-positioned element.
@@ -2347,6 +2362,10 @@ impl Panel for CollabPanel {
.then(|| ui::Icon::Collab)
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ Some("Collab Panel")
+ }
+
fn toggle_action(&self) -> Box<dyn gpui::Action> {
Box::new(ToggleFocus)
}
@@ -661,6 +661,10 @@ impl Panel for NotificationPanel {
.then(|| Icon::Bell)
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ Some("Notification Panel")
+ }
+
fn icon_label(&self, cx: &WindowContext) -> Option<String> {
let count = self.notification_store.read(cx).unread_notification_count();
if count == 0 {
@@ -13,7 +13,7 @@ use editor::{
};
use futures::future::try_join_all;
use gpui::{
- actions, div, AnyElement, AnyView, AppContext, Context, EventEmitter, FocusHandle,
+ actions, div, svg, AnyElement, AnyView, AppContext, Context, EventEmitter, FocusHandle,
FocusableView, HighlightStyle, InteractiveElement, IntoElement, Model, ParentElement, Render,
SharedString, Styled, StyledText, Subscription, Task, View, ViewContext, VisualContext,
WeakView, WindowContext,
@@ -800,12 +800,20 @@ fn diagnostic_header_renderer(diagnostic: Diagnostic) -> RenderBlock {
h_stack()
.gap_3()
.map(|stack| {
- let icon = if diagnostic.severity == DiagnosticSeverity::ERROR {
- IconElement::new(Icon::XCircle).color(Color::Error)
- } else {
- IconElement::new(Icon::ExclamationTriangle).color(Color::Warning)
- };
- stack.child(icon)
+ stack.child(
+ svg()
+ .size(cx.text_style().font_size)
+ .flex_none()
+ .map(|icon| {
+ if diagnostic.severity == DiagnosticSeverity::ERROR {
+ icon.path(Icon::XCircle.path())
+ .text_color(Color::Error.color(cx))
+ } else {
+ icon.path(Icon::ExclamationTriangle.path())
+ .text_color(Color::Warning.color(cx))
+ }
+ }),
+ )
})
.child(
h_stack()
@@ -819,7 +827,11 @@ fn diagnostic_header_renderer(diagnostic: Diagnostic) -> RenderBlock {
),
)
.when_some(diagnostic.code.as_ref(), |stack, code| {
- stack.child(Label::new(format!("({code})")).color(Color::Muted))
+ stack.child(
+ div()
+ .child(SharedString::from(format!("({code})")))
+ .text_color(cx.theme().colors().text_muted),
+ )
}),
),
)
@@ -827,7 +839,11 @@ fn diagnostic_header_renderer(diagnostic: Diagnostic) -> RenderBlock {
h_stack()
.gap_1()
.when_some(diagnostic.source.as_ref(), |stack, source| {
- stack.child(Label::new(format!("{source}")).color(Color::Muted))
+ stack.child(
+ div()
+ .child(SharedString::from(source.clone()))
+ .text_color(cx.theme().colors().text_muted),
+ )
}),
)
.into_any_element()
@@ -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(),
@@ -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, ListItem, ListItemSpacing, Popover, Tooltip,
};
@@ -514,7 +514,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,
}
@@ -1197,7 +1197,6 @@ impl CompletionsMenu {
.min_w(px(260.))
.max_w(px(640.))
.w(px(500.))
- .text_ui()
.overflow_y_scroll()
// Prevent a mouse down on documentation from being propagated to the editor,
// because that would move the cursor.
@@ -1420,7 +1419,6 @@ impl CodeActionsMenu {
let colors = cx.theme().colors();
div()
.px_2()
- .text_ui()
.text_color(colors.text)
.when(selected, |style| {
style
@@ -7657,10 +7655,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),
@@ -9330,7 +9325,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),
@@ -9784,21 +9779,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,
}
}
@@ -52,7 +52,7 @@ use std::{
use sum_tree::Bias;
use theme::{ActiveTheme, PlayerColor};
use ui::prelude::*;
-use ui::{h_stack, ButtonLike, ButtonStyle, IconButton, Label, Tooltip};
+use ui::{h_stack, ButtonLike, ButtonStyle, IconButton, Tooltip};
use util::ResultExt;
use workspace::item::Item;
@@ -2305,13 +2305,17 @@ impl EditorElement {
h_stack().gap_3().child(
h_stack()
.gap_2()
- .child(Label::new(
+ .child(
filename
.map(SharedString::from)
.unwrap_or_else(|| "untitled".into()),
- ))
+ )
.when_some(parent_path, |then, path| {
- then.child(Label::new(path).color(Color::Muted))
+ then.child(
+ div().child(path).text_color(
+ cx.theme().colors().text_muted,
+ ),
+ )
}),
),
)
@@ -2373,8 +2377,6 @@ impl EditorElement {
this.child(div().size_full().bg(gpui::green()))
}
})
- // .child("⋯")
- // .children(jump_icon) // .p_x(gutter_padding)
};
element.into_any()
}
@@ -2811,50 +2813,65 @@ impl Element for EditorElement {
) {
let editor = self.editor.clone();
- let mut layout = self.compute_layout(bounds, cx);
- let gutter_bounds = Bounds {
- origin: bounds.origin,
- size: layout.gutter_size,
- };
- let text_bounds = Bounds {
- origin: gutter_bounds.upper_right(),
- size: layout.text_size,
- };
+ cx.with_text_style(
+ Some(gpui::TextStyleRefinement {
+ font_size: Some(self.style.text.font_size),
+ ..Default::default()
+ }),
+ |cx| {
+ let mut layout = self.compute_layout(bounds, cx);
+ let gutter_bounds = Bounds {
+ origin: bounds.origin,
+ size: layout.gutter_size,
+ };
+ let text_bounds = Bounds {
+ origin: gutter_bounds.upper_right(),
+ size: layout.text_size,
+ };
- let focus_handle = editor.focus_handle(cx);
- let key_context = self.editor.read(cx).key_context(cx);
- cx.with_key_dispatch(Some(key_context), Some(focus_handle.clone()), |_, cx| {
- self.register_actions(cx);
- self.register_key_listeners(cx);
+ let focus_handle = editor.focus_handle(cx);
+ let key_context = self.editor.read(cx).key_context(cx);
+ cx.with_key_dispatch(Some(key_context), Some(focus_handle.clone()), |_, cx| {
+ self.register_actions(cx);
+ self.register_key_listeners(cx);
- cx.with_content_mask(Some(ContentMask { bounds }), |cx| {
- let input_handler = ElementInputHandler::new(bounds, self.editor.clone(), cx);
- cx.handle_input(&focus_handle, input_handler);
+ cx.with_content_mask(Some(ContentMask { bounds }), |cx| {
+ let input_handler =
+ ElementInputHandler::new(bounds, self.editor.clone(), cx);
+ cx.handle_input(&focus_handle, input_handler);
- self.paint_background(gutter_bounds, text_bounds, &layout, cx);
- if layout.gutter_size.width > Pixels::ZERO {
- self.paint_gutter(gutter_bounds, &mut layout, cx);
- }
- self.paint_text(text_bounds, &mut layout, cx);
+ self.paint_background(gutter_bounds, text_bounds, &layout, cx);
+ if layout.gutter_size.width > Pixels::ZERO {
+ self.paint_gutter(gutter_bounds, &mut layout, cx);
+ }
+ self.paint_text(text_bounds, &mut layout, cx);
- cx.with_z_index(0, |cx| {
- self.paint_mouse_listeners(bounds, gutter_bounds, text_bounds, &layout, cx);
- });
- if !layout.blocks.is_empty() {
- cx.with_z_index(0, |cx| {
- cx.with_element_id(Some("editor_blocks"), |cx| {
- self.paint_blocks(bounds, &mut layout, cx);
+ cx.with_z_index(0, |cx| {
+ self.paint_mouse_listeners(
+ bounds,
+ gutter_bounds,
+ text_bounds,
+ &layout,
+ cx,
+ );
});
- })
- }
+ if !layout.blocks.is_empty() {
+ cx.with_z_index(0, |cx| {
+ cx.with_element_id(Some("editor_blocks"), |cx| {
+ self.paint_blocks(bounds, &mut layout, cx);
+ });
+ })
+ }
- cx.with_z_index(1, |cx| {
- self.paint_overlays(text_bounds, &mut layout, cx);
- });
+ cx.with_z_index(1, |cx| {
+ self.paint_overlays(text_bounds, &mut layout, cx);
+ });
- cx.with_z_index(2, |cx| self.paint_scrollbar(bounds, &mut layout, cx));
- });
- })
+ cx.with_z_index(2, |cx| self.paint_scrollbar(bounds, &mut layout, cx));
+ });
+ })
+ },
+ );
}
}
@@ -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};
@@ -477,7 +478,6 @@ impl InfoPopover {
div()
.id("info_popover")
.elevation_2(cx)
- .text_ui()
.p_2()
.overflow_y_scroll()
.max_w(max_size.width)
@@ -514,16 +514,50 @@ 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_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)
@@ -149,7 +149,9 @@ impl Element for Overlay {
desired.origin.y = limits.origin.y;
}
- cx.with_element_offset(desired.origin - bounds.origin, |cx| {
+ let mut offset = cx.element_offset() + desired.origin - bounds.origin;
+ offset = point(offset.x.round(), offset.y.round());
+ cx.with_absolute_element_offset(offset, |cx| {
cx.break_content_mask(|cx| {
for child in &mut self.children {
child.paint(cx);
@@ -1612,6 +1612,10 @@ impl Panel for ProjectPanel {
Some(ui::Icon::FileTree)
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ Some("Project Panel")
+ }
+
fn toggle_action(&self) -> Box<dyn Action> {
Box::new(ToggleFocus)
}
@@ -419,6 +419,10 @@ impl Panel for TerminalPanel {
Some(Icon::Terminal)
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ Some("Terminal Panel")
+ }
+
fn toggle_action(&self) -> Box<dyn gpui::Action> {
Box::new(ToggleFocus)
}
@@ -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 {
@@ -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(),
}
}
@@ -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;
@@ -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()),
- hint: Some(rgba(0x11a793ff).into()),
+ hidden_background: Some(rgba(0x262a33ff).into()),
+ hidden_border: Some(rgba(0x292d37ff).into()),
+ hint: Some(rgba(0x618399ff).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![
@@ -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()),
- hint: Some(rgba(0x38a166ff).into()),
+ hidden_background: Some(rgba(0xc5c4b9ff).into()),
+ hidden_border: Some(rgba(0xadac9fff).into()),
+ hint: Some(rgba(0x768962ff).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()),
- hint: Some(rgba(0x417ee6ff).into()),
+ hidden_background: Some(rgba(0x443c39ff).into()),
+ hidden_border: Some(rgba(0x554e4bff).into()),
+ hint: Some(rgba(0xa87187ff).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()),
- hint: Some(rgba(0x488c90ff).into()),
+ hidden_background: Some(rgba(0xbcc5bfff).into()),
+ hidden_border: Some(rgba(0xa3ada6ff).into()),
+ hint: Some(rgba(0x66847cff).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()),
- hint: Some(rgba(0x576ddaff).into()),
+ hidden_background: Some(rgba(0x3a353fff).into()),
+ hidden_border: Some(rgba(0x48434fff).into()),
+ hint: Some(rgba(0x716998ff).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()),
- hint: Some(rgba(0x37a166ff).into()),
+ hidden_background: Some(rgba(0x424136ff).into()),
+ hidden_border: Some(rgba(0x504f41ff).into()),
+ hint: Some(rgba(0x70825bff).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()),
- hint: Some(rgba(0x3e8fd0ff).into()),
+ hidden_background: Some(rgba(0x3e4769ff).into()),
+ hidden_border: Some(rgba(0x4d5577ff).into()),
+ hint: Some(rgba(0x6d82a6ff).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()),
- hint: Some(rgba(0x3f8fd0ff).into()),
+ hidden_background: Some(rgba(0xc2c6d9ff).into()),
+ hidden_border: Some(rgba(0xaeb3c7ff).into()),
+ hint: Some(rgba(0x7087b2ff).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()),
- hint: Some(rgba(0x6684e0ff).into()),
+ hidden_background: Some(rgba(0x45433bff).into()),
+ hidden_border: Some(rgba(0x58564bff).into()),
+ hint: Some(rgba(0xb17272ff).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()),
- hint: Some(rgba(0x3e62f4ff).into()),
+ hidden_background: Some(rgba(0x3b453bff).into()),
+ hidden_border: Some(rgba(0x4b584bff).into()),
+ hint: Some(rgba(0x008b9fff).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()),
- hint: Some(rgba(0x586ddaff).into()),
+ hidden_background: Some(rgba(0xbfbcc5ff).into()),
+ hidden_border: Some(rgba(0xa7a3adff).into()),
+ hint: Some(rgba(0x786e9dff).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()),
- hint: Some(rgba(0x7272caff).into()),
+ hidden_background: Some(rgba(0x3b3535ff).into()),
+ hidden_border: Some(rgba(0x494242ff).into()),
+ hint: Some(rgba(0x8a647aff).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()),
- hint: Some(rgba(0x526aebff).into()),
+ hidden_background: Some(rgba(0x433a43ff).into()),
+ hidden_border: Some(rgba(0x554a55ff).into()),
+ hint: Some(rgba(0x8d70a8ff).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()),
- hint: Some(rgba(0x277fadff).into()),
+ hidden_background: Some(rgba(0x33444dff).into()),
+ hidden_border: Some(rgba(0x415763ff).into()),
+ hint: Some(rgba(0x52809aff).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()),
- hint: Some(rgba(0x417ee6ff).into()),
+ hidden_background: Some(rgba(0xcdc8c6ff).into()),
+ hidden_border: Some(rgba(0xbcb6b4ff).into()),
+ hint: Some(rgba(0xa67287ff).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()),
- hint: Some(rgba(0x6784e0ff).into()),
+ hidden_background: Some(rgba(0xcecab4ff).into()),
+ hidden_border: Some(rgba(0xbbb7a1ff).into()),
+ hint: Some(rgba(0xb37979ff).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()),
- hint: Some(rgba(0x7372caff).into()),
+ hidden_background: Some(rgba(0xc1bbbbff).into()),
+ hidden_border: Some(rgba(0xa8a2a2ff).into()),
+ hint: Some(rgba(0x916a80ff).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()),
- hint: Some(rgba(0x3f62f4ff).into()),
+ hidden_background: Some(rgba(0xb4ceb4ff).into()),
+ hidden_border: Some(rgba(0xa1bba1ff).into()),
+ hint: Some(rgba(0x008fa1ff).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()),
- hint: Some(rgba(0x478c90ff).into()),
+ hidden_background: Some(rgba(0x353f39ff).into()),
+ hidden_border: Some(rgba(0x434f47ff).into()),
+ hint: Some(rgba(0x607e76ff).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()),
- hint: Some(rgba(0x526aebff).into()),
+ hidden_background: Some(rgba(0xc6b8c6ff).into()),
+ hidden_border: Some(rgba(0xbaaabaff).into()),
+ hint: Some(rgba(0x8c70a6ff).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()),
- hint: Some(rgba(0x277fadff).into()),
+ hidden_background: Some(rgba(0xa6cadcff).into()),
+ hidden_border: Some(rgba(0x93b7c9ff).into()),
+ hint: Some(rgba(0x5a87a0ff).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![
@@ -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()),
- hint: Some(rgba(0x5ac2feff).into()),
+ hidden_background: Some(rgba(0x313337ff).into()),
+ hidden_border: Some(rgba(0x383a3eff).into()),
+ hint: Some(rgba(0x638c81ff).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()),
- hint: Some(rgba(0x3b9ee5ff).into()),
+ hidden_background: Some(rgba(0xdcdddeff).into()),
+ hidden_border: Some(rgba(0xd5d6d8ff).into()),
+ hint: Some(rgba(0x8ca7c2ff).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()),
- hint: Some(rgba(0x73cffeff).into()),
+ hidden_background: Some(rgba(0x464a52ff).into()),
+ hidden_border: Some(rgba(0x4d5058ff).into()),
+ hint: Some(rgba(0x7399a3ff).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![
@@ -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()),
- hint: Some(rgba(0x0b6678ff).into()),
+ hidden_background: Some(rgba(0xd9c8a4ff).into()),
+ hidden_border: Some(rgba(0xd1c09eff).into()),
+ hint: Some(rgba(0x677562ff).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()),
- hint: Some(rgba(0x83a598ff).into()),
+ hidden_background: Some(rgba(0x4c4642ff).into()),
+ hidden_border: Some(rgba(0x544c48ff).into()),
+ hint: Some(rgba(0x8d957eff).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()),
- hint: Some(rgba(0x0b6678ff).into()),
+ hidden_background: Some(rgba(0xd9c8a4ff).into()),
+ hidden_border: Some(rgba(0xd1c09eff).into()),
+ hint: Some(rgba(0x677562ff).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()),
- hint: Some(rgba(0x83a598ff).into()),
+ hidden_background: Some(rgba(0x4c4642ff).into()),
+ hidden_border: Some(rgba(0x544c48ff).into()),
+ hint: Some(rgba(0x8d957eff).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()),
- hint: Some(rgba(0x0b6678ff).into()),
+ hidden_background: Some(rgba(0xd9c8a4ff).into()),
+ hidden_border: Some(rgba(0xd1c09eff).into()),
+ hint: Some(rgba(0x677562ff).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()),
- hint: Some(rgba(0x83a598ff).into()),
+ hidden_background: Some(rgba(0x4c4642ff).into()),
+ hidden_border: Some(rgba(0x544c48ff).into()),
+ hint: Some(rgba(0x8d957eff).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![
@@ -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()),
- hint: Some(rgba(0x5c79e2ff).into()),
+ hidden_background: Some(rgba(0xdcdcddff).into()),
+ hidden_border: Some(rgba(0xd3d3d4ff).into()),
+ hint: Some(rgba(0x9295beff).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()),
- hint: Some(rgba(0x74ade8ff).into()),
+ hidden_background: Some(rgba(0x3b414dff).into()),
+ hidden_border: Some(rgba(0x414754ff).into()),
+ hint: Some(rgba(0x5b708aff).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![
@@ -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()),
- hint: Some(rgba(0x57949fff).into()),
+ hidden_background: Some(rgba(0xdcd8d8ff).into()),
+ hidden_border: Some(rgba(0xd0cccfff).into()),
+ hint: Some(rgba(0x7a92aaff).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()),
- hint: Some(rgba(0x9cced7ff).into()),
+ hidden_background: Some(rgba(0x38354eff).into()),
+ hidden_border: Some(rgba(0x44415bff).into()),
+ hint: Some(rgba(0x728aa2ff).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()),
- hint: Some(rgba(0x9cced7ff).into()),
+ hidden_background: Some(rgba(0x292739ff).into()),
+ hidden_border: Some(rgba(0x353347ff).into()),
+ hint: Some(rgba(0x5e768cff).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![
@@ -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()),
- hint: Some(rgba(0x528b8bff).into()),
+ hidden_background: Some(rgba(0x333944ff).into()),
+ hidden_border: Some(rgba(0x393f4aff).into()),
+ hint: Some(rgba(0x727d68ff).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![
@@ -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()),
- hint: Some(rgba(0x298bd1ff).into()),
+ hidden_background: Some(rgba(0xcfd0c4ff).into()),
+ hidden_border: Some(rgba(0xb7bdb6ff).into()),
+ hint: Some(rgba(0x5889a3ff).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()),
- hint: Some(rgba(0x288bd1ff).into()),
+ hidden_background: Some(rgba(0x083743ff).into()),
+ hidden_border: Some(rgba(0x19424dff).into()),
+ hint: Some(rgba(0x4f8297ff).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![
@@ -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()),
- hint: Some(rgba(0x499befff).into()),
+ hidden_background: Some(rgba(0x2a261cff).into()),
+ hidden_border: Some(rgba(0x2e2a1fff).into()),
+ hint: Some(rgba(0x246e61ff).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![
@@ -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 {")?;
@@ -76,21 +76,56 @@ impl Zed1ThemeConverter {
let lowest = &base_theme.lowest;
+ let editor = &self.theme.editor;
+
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),
- hint: convert(lowest.accent.default.foreground),
+ error_background: convert(lowest.negative.default.background),
+ error_border: convert(lowest.negative.default.border),
+ // The `hint` color used in Zed1 is inlined from the syntax colors.
+ hint: editor
+ .hint
+ .color
+ .map(zed1_color_to_hsla)
+ .or(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),
})
}
@@ -9,6 +9,7 @@ path = "src/theme_selector.rs"
doctest = false
[dependencies]
+client = { path = "../client" }
editor = { path = "../editor" }
fuzzy = { path = "../fuzzy" }
fs = { path = "../fs" }
@@ -1,3 +1,4 @@
+use client::{telemetry::Telemetry, TelemetrySettings};
use feature_flags::FeatureFlagAppExt;
use fs::Fs;
use fuzzy::{match_strings, StringMatch, StringMatchCandidate};
@@ -19,7 +20,8 @@ pub fn init(cx: &mut AppContext) {
pub fn toggle(workspace: &mut Workspace, _: &Toggle, cx: &mut ViewContext<Workspace>) {
workspace.toggle_modal(cx, |workspace, cx| {
let fs = workspace.app_state().fs.clone();
- cx.add_view(|cx| ThemeSelector::new(ThemeSelectorDelegate::new(fs, cx), cx))
+ let telemetry = workspace.client().telemetry().clone();
+ cx.add_view(|cx| ThemeSelector::new(ThemeSelectorDelegate::new(fs, telemetry, cx), cx))
});
}
@@ -48,10 +50,15 @@ pub struct ThemeSelectorDelegate {
original_theme: Arc<Theme>,
selection_completed: bool,
selected_index: usize,
+ telemetry: Arc<Telemetry>,
}
impl ThemeSelectorDelegate {
- fn new(fs: Arc<dyn Fs>, cx: &mut ViewContext<ThemeSelector>) -> Self {
+ fn new(
+ fs: Arc<dyn Fs>,
+ telemetry: Arc<Telemetry>,
+ cx: &mut ViewContext<ThemeSelector>,
+ ) -> Self {
let original_theme = theme::current(cx).clone();
let staff_mode = cx.is_staff();
@@ -74,6 +81,7 @@ impl ThemeSelectorDelegate {
original_theme: original_theme.clone(),
selected_index: 0,
selection_completed: false,
+ telemetry,
};
this.select_if_matching(&original_theme.meta.name);
this
@@ -124,6 +132,11 @@ impl PickerDelegate for ThemeSelectorDelegate {
self.selection_completed = true;
let theme_name = theme::current(cx).meta.name.clone();
+
+ let telemetry_settings = *settings::get::<TelemetrySettings>(cx);
+ self.telemetry
+ .report_setting_event(telemetry_settings, "theme", theme_name.to_string());
+
update_settings_file::<ThemeSettings>(self.fs.clone(), cx, |settings| {
settings.theme = Some(theme_name);
});
@@ -9,17 +9,18 @@ path = "src/theme_selector.rs"
doctest = false
[dependencies]
+client = { package = "client2", path = "../client2" }
editor = { package = "editor2", path = "../editor2" }
-fuzzy = { package = "fuzzy2", path = "../fuzzy2" }
+feature_flags = { package = "feature_flags2", path = "../feature_flags2" }
fs = { package = "fs2", path = "../fs2" }
+fuzzy = { package = "fuzzy2", path = "../fuzzy2" }
gpui = { package = "gpui2", path = "../gpui2" }
-ui = { package = "ui2", path = "../ui2" }
picker = { package = "picker2", path = "../picker2" }
-theme = { package = "theme2", path = "../theme2" }
settings = { package = "settings2", path = "../settings2" }
-feature_flags = { package = "feature_flags2", path = "../feature_flags2" }
-workspace = { package = "workspace2", path = "../workspace2" }
+theme = { package = "theme2", path = "../theme2" }
+ui = { package = "ui2", path = "../ui2" }
util = { path = "../util" }
+workspace = { package = "workspace2", path = "../workspace2" }
log.workspace = true
parking_lot.workspace = true
postage.workspace = true
@@ -1,3 +1,4 @@
+use client::{telemetry::Telemetry, TelemetrySettings};
use feature_flags::FeatureFlagAppExt;
use fs::Fs;
use fuzzy::{match_strings, StringMatch, StringMatchCandidate};
@@ -6,7 +7,7 @@ use gpui::{
VisualContext, WeakView,
};
use picker::{Picker, PickerDelegate};
-use settings::{update_settings_file, SettingsStore};
+use settings::{update_settings_file, Settings, SettingsStore};
use std::sync::Arc;
use theme::{Theme, ThemeMeta, ThemeRegistry, ThemeSettings};
use ui::{prelude::*, v_stack, ListItem, ListItemSpacing};
@@ -26,9 +27,10 @@ pub fn init(cx: &mut AppContext) {
pub fn toggle(workspace: &mut Workspace, _: &Toggle, cx: &mut ViewContext<Workspace>) {
let fs = workspace.app_state().fs.clone();
+ let telemetry = workspace.client().telemetry().clone();
workspace.toggle_modal(cx, |cx| {
ThemeSelector::new(
- ThemeSelectorDelegate::new(cx.view().downgrade(), fs, cx),
+ ThemeSelectorDelegate::new(cx.view().downgrade(), fs, telemetry, cx),
cx,
)
});
@@ -86,6 +88,7 @@ pub struct ThemeSelectorDelegate {
original_theme: Arc<Theme>,
selection_completed: bool,
selected_index: usize,
+ telemetry: Arc<Telemetry>,
view: WeakView<ThemeSelector>,
}
@@ -93,6 +96,7 @@ impl ThemeSelectorDelegate {
fn new(
weak_view: WeakView<ThemeSelector>,
fs: Arc<dyn Fs>,
+ telemetry: Arc<Telemetry>,
cx: &mut ViewContext<ThemeSelector>,
) -> Self {
let original_theme = cx.theme().clone();
@@ -122,6 +126,7 @@ impl ThemeSelectorDelegate {
original_theme: original_theme.clone(),
selected_index: 0,
selection_completed: false,
+ telemetry,
view: weak_view,
};
this.select_if_matching(&original_theme.name);
@@ -175,6 +180,11 @@ impl PickerDelegate for ThemeSelectorDelegate {
self.selection_completed = true;
let theme_name = cx.theme().name.clone();
+
+ let telemetry_settings = TelemetrySettings::get_global(cx).clone();
+ self.telemetry
+ .report_setting_event(telemetry_settings, "theme", theme_name.to_string());
+
update_settings_file::<ThemeSettings>(self.fs.clone(), cx, move |settings| {
settings.theme = Some(theme_name.to_string());
});
@@ -29,8 +29,8 @@ pub trait Panel: FocusableView + EventEmitter<PanelEvent> {
fn set_position(&mut self, position: DockPosition, cx: &mut ViewContext<Self>);
fn size(&self, cx: &WindowContext) -> Pixels;
fn set_size(&mut self, size: Option<Pixels>, cx: &mut ViewContext<Self>);
- // todo!("We should have a icon tooltip method, rather than using persistant_name")
fn icon(&self, cx: &WindowContext) -> Option<ui::Icon>;
+ fn icon_tooltip(&self, cx: &WindowContext) -> Option<&'static str>;
fn toggle_action(&self) -> Box<dyn Action>;
fn icon_label(&self, _: &WindowContext) -> Option<String> {
None
@@ -54,6 +54,7 @@ pub trait PanelHandle: Send + Sync {
fn size(&self, cx: &WindowContext) -> Pixels;
fn set_size(&self, size: Option<Pixels>, cx: &mut WindowContext);
fn icon(&self, cx: &WindowContext) -> Option<ui::Icon>;
+ fn icon_tooltip(&self, cx: &WindowContext) -> Option<&'static str>;
fn toggle_action(&self, cx: &WindowContext) -> Box<dyn Action>;
fn icon_label(&self, cx: &WindowContext) -> Option<String>;
fn focus_handle(&self, cx: &AppContext) -> FocusHandle;
@@ -108,6 +109,10 @@ where
self.read(cx).icon(cx)
}
+ fn icon_tooltip(&self, cx: &WindowContext) -> Option<&'static str> {
+ self.read(cx).icon_tooltip(cx)
+ }
+
fn toggle_action(&self, cx: &WindowContext) -> Box<dyn Action> {
self.read(cx).toggle_action()
}
@@ -612,6 +617,7 @@ impl Render for PanelButtons {
.enumerate()
.filter_map(|(i, entry)| {
let icon = entry.panel.icon(cx)?;
+ let icon_tooltip = entry.panel.icon_tooltip(cx)?;
let name = entry.panel.persistent_name();
let panel = entry.panel.clone();
@@ -627,7 +633,7 @@ impl Render for PanelButtons {
} else {
let action = entry.panel.toggle_action(cx);
- (action, name.into())
+ (action, icon_tooltip.into())
};
Some(
@@ -748,6 +754,10 @@ pub mod test {
None
}
+ fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> {
+ None
+ }
+
fn toggle_action(&self) -> Box<dyn Action> {
ToggleTestPanel.boxed_clone()
}
@@ -168,6 +168,11 @@ fn main() {
client.telemetry().start(installation_id, session_id, cx);
let telemetry_settings = *settings::get::<TelemetrySettings>(cx);
+ client.telemetry().report_setting_event(
+ telemetry_settings,
+ "theme",
+ theme::current(cx).meta.name.to_string(),
+ );
let event_operation = match existing_installation_id_found {
Some(false) => "first open",
_ => "open",
@@ -173,6 +173,11 @@ fn main() {
client.telemetry().start(installation_id, session_id, cx);
let telemetry_settings = *client::TelemetrySettings::get_global(cx);
+ client.telemetry().report_setting_event(
+ telemetry_settings,
+ "theme",
+ cx.theme().name.to_string(),
+ );
let event_operation = match existing_installation_id_found {
Some(false) => "first open",
_ => "open",
@@ -10,11 +10,6 @@ fi
environment=$1
version=$2
-if [[ ${environment} == "nightly" ]]; then
- echo "nightly is not yet supported"
- exit 1
-fi
-
export_vars_for_environment ${environment}
image_id=$(image_id_for_version ${version})
@@ -23,6 +18,6 @@ export ZED_KUBE_NAMESPACE=${environment}
export ZED_IMAGE_ID=${image_id}
target_zed_kube_cluster
-envsubst < crates/collab/k8s/manifest.template.yml | kubectl apply -f -
+envsubst < crates/collab/k8s/collab.template.yml | kubectl apply -f -
echo "deployed collab v${version} to ${environment}"
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -eu
+source script/lib/deploy-helpers.sh
+
+if [[ $# < 1 ]]; then
+ echo "Usage: $0 <production|staging> (postgrest not needed on preview or nightly)"
+ exit 1
+fi
+environment=$1
+
+if [[ ${environment} == "preview" || ${environment} == "nightly" ]]; then
+ echo "website does not exist in preview or nightly"
+ exit 1
+fi
+
+export_vars_for_environment ${environment}
+
+export ZED_DO_CERTIFICATE_ID=$(doctl compute certificate list --format ID --no-header)
+export ZED_KUBE_NAMESPACE=${environment}
+
+target_zed_kube_cluster
+envsubst < crates/collab/k8s/postgrest.template.yml | kubectl apply -f -
+
+echo "deployed postgrest"