From 7a1eb541061ec99de9804cd3d5dc0502d21dc6b4 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 7 Dec 2023 00:33:24 -0500 Subject: [PATCH 001/110] checkpoint --- crates/feedback2/src/feedback_modal.rs | 152 +++++++++++++----------- crates/ui2/src/components/keybinding.rs | 12 +- 2 files changed, 87 insertions(+), 77 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 68fbcfb3a3..b4d4b08d54 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -292,91 +292,99 @@ impl Render for FeedbackModal { .on_action(cx.listener(Self::cancel)) .min_w(rems(40.)) .max_w(rems(96.)) - .border() - .border_color(red()) - .h(rems(40.)) - .p_2() + .min_h(rems(24.)) + .max_h(rems(42.)) .gap_2() .child( - v_stack().child( + v_stack() + .p_4() + .child( div() .size_full() .child(Label::new("Give Feedback").color(Color::Default)) .child(Label::new("This editor supports markdown").color(Color::Muted)), ), ) - .child( - div() - .flex_1() + .child(v_stack() + .p_4() + .child( + div() + .flex_1() + .bg(cx.theme().colors().editor_background) + .border() + .border_color(cx.theme().colors().border) + .child(self.feedback_editor.clone()), + ) + .child( + div().child( + Label::new(format!( + "Characters: {}", + characters_remaining + )) + .map(|this| + if valid_character_count { + this.color(Color::Success) + } else { + this.color(Color::Error) + + } + ) + ), + ) + .child( + div() .bg(cx.theme().colors().editor_background) .border() .border_color(cx.theme().colors().border) - .child(self.feedback_editor.clone()), - ) - .child( - div().child( - Label::new(format!( - "Characters: {}", - characters_remaining - )) - .when_else( - valid_character_count, - |this| this.color(Color::Success), - |this| this.color(Color::Error) - ) - ), - ) - .child( - div() - .bg(cx.theme().colors().editor_background) - .border() - .border_color(cx.theme().colors().border) - .child(self.email_address_editor.clone()) - ) - .child( - h_stack() - .justify_between() - .gap_1() - .child(Button::new("community_repo", "Community Repo") - .style(ButtonStyle::Filled) - .color(Color::Muted) - .on_click(open_community_repo) - ) - .child(h_stack().justify_between().gap_1() - .child( - Button::new("cancel_feedback", "Cancel") - .style(ButtonStyle::Subtle) - .color(Color::Muted) - // TODO: replicate this logic when clicking outside the modal - // TODO: Will require somehow overriding the modal dismal default behavior - .when_else( - has_feedback, - |this| this.on_click(dismiss_prompt), - |this| this.on_click(dismiss) - ) + .child(self.email_address_editor.clone()) + ) + .child( + h_stack() + .justify_between() + .gap_1() + .child(Button::new("community_repo", "Community Repo") + .style(ButtonStyle::Filled) + .color(Color::Muted) + .on_click(open_community_repo) + ) + .child(h_stack().justify_between().gap_1() + .child( + Button::new("cancel_feedback", "Cancel") + .style(ButtonStyle::Subtle) + .color(Color::Muted) + // TODO: replicate this logic when clicking outside the modal + // TODO: Will require somehow overriding the modal dismal default behavior + .map(|this| { + if has_feedback { + this.on_click(dismiss_prompt) + } else { + this.on_click(dismiss) + } + }) + ) + .child( + Button::new("send_feedback", submit_button_text) + .color(Color::Accent) + .style(ButtonStyle::Filled) + // TODO: Ensure that while submitting, "Sending..." is shown and disable the button + // TODO: If submit errors: show popup with error, don't close modal, set text back to "Send Feedback", and re-enable button + // TODO: If submit is successful, close the modal + .on_click(cx.listener(|this, _, cx| { + let _ = this.submit(cx); + })) + .tooltip(|cx| { + Tooltip::with_meta( + "Submit feedback to the Zed team.", + None, + "Provide an email address if you want us to be able to reply.", + cx, + ) + }) + .when(!allow_submission, |this| this.disabled(true)) + ), ) - .child( - Button::new("send_feedback", submit_button_text) - .color(Color::Accent) - .style(ButtonStyle::Filled) - // TODO: Ensure that while submitting, "Sending..." is shown and disable the button - // TODO: If submit errors: show popup with error, don't close modal, set text back to "Send Feedback", and re-enable button - // TODO: If submit is successful, close the modal - .on_click(cx.listener(|this, _, cx| { - let _ = this.submit(cx); - })) - .tooltip(|cx| { - Tooltip::with_meta( - "Submit feedback to the Zed team.", - None, - "Provide an email address if you want us to be able to reply.", - cx, - ) - }) - .when(!allow_submission, |this| this.disabled(true)) - ), - ) + ) ) } } diff --git a/crates/ui2/src/components/keybinding.rs b/crates/ui2/src/components/keybinding.rs index 29586fd194..25a77f59e1 100644 --- a/crates/ui2/src/components/keybinding.rs +++ b/crates/ui2/src/components/keybinding.rs @@ -98,11 +98,13 @@ impl RenderOnce for Key { div() .py_0() - .when_else( - single_char, - |el| el.w(rems(14. / 16.)).flex().flex_none().justify_center(), - |el| el.px_0p5(), - ) + .map(|el| { + if single_char { + el.w(rems(14. / 16.)).flex().flex_none().justify_center() + } else { + el.px_0p5() + } + }) .h(rems(14. / 16.)) .text_ui() .line_height(relative(1.)) From 197f355729e804ed2b9ced4bcf40d86f775924d2 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 7 Dec 2023 01:17:18 -0500 Subject: [PATCH 002/110] Add `row-reverse` and `col-reverse` to styled --- crates/gpui2/src/styled.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crates/gpui2/src/styled.rs b/crates/gpui2/src/styled.rs index 346c1a760d..209169a9a6 100644 --- a/crates/gpui2/src/styled.rs +++ b/crates/gpui2/src/styled.rs @@ -245,6 +245,13 @@ pub trait Styled: Sized { self } + /// Sets the flex direction of the element to `column-reverse`. + /// [Docs](https://tailwindcss.com/docs/flex-direction#column-reverse) + fn flex_col_reverse(mut self) -> Self { + self.style().flex_direction = Some(FlexDirection::ColumnReverse); + self + } + /// Sets the flex direction of the element to `row`. /// [Docs](https://tailwindcss.com/docs/flex-direction#row) fn flex_row(mut self) -> Self { @@ -252,6 +259,13 @@ pub trait Styled: Sized { self } + /// Sets the flex direction of the element to `row-reverse`. + /// [Docs](https://tailwindcss.com/docs/flex-direction#row-reverse) + fn flex_row_reverse(mut self) -> Self { + self.style().flex_direction = Some(FlexDirection::RowReverse); + self + } + /// Sets the element to allow a flex item to grow and shrink as needed, ignoring its initial size. /// [Docs](https://tailwindcss.com/docs/flex#flex-1) fn flex_1(mut self) -> Self { From f798b193d0d40c91abcc67a57e571ae744a33e15 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 7 Dec 2023 01:46:28 -0500 Subject: [PATCH 003/110] WIP --- crates/feedback2/src/feedback_modal.rs | 65 ++++++++++--------- crates/ui2/src/components/button/button.rs | 48 +++++++++----- .../ui2/src/components/button/button_like.rs | 8 +++ crates/ui2/src/components/icon.rs | 3 +- crates/ui2/src/prelude.rs | 2 +- 5 files changed, 79 insertions(+), 47 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index b4d4b08d54..aa6f3910a1 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -6,15 +6,15 @@ use db::kvp::KEY_VALUE_STORE; use editor::{Editor, EditorEvent}; use futures::AsyncReadExt; use gpui::{ - div, red, rems, serde_json, AppContext, DismissEvent, Div, EventEmitter, FocusHandle, - FocusableView, Model, PromptLevel, Render, Task, View, ViewContext, + div, rems, serde_json, AppContext, DismissEvent, Div, EventEmitter, FocusHandle, FocusableView, + Model, PromptLevel, Render, Task, View, ViewContext, }; use isahc::Request; use language::Buffer; use project::Project; use regex::Regex; use serde_derive::Serialize; -use ui::{prelude::*, Button, ButtonStyle, Label, Tooltip}; +use ui::{prelude::*, Button, ButtonStyle, IconPosition, Label, Tooltip}; use util::ResultExt; use workspace::Workspace; @@ -285,29 +285,22 @@ impl Render for FeedbackModal { let open_community_repo = cx.listener(|_, _, cx| cx.dispatch_action(Box::new(OpenZedCommunityRepo))); - // TODO: Nate UI pass v_stack() .elevation_3(cx) .key_context("GiveFeedback") .on_action(cx.listener(Self::cancel)) .min_w(rems(40.)) .max_w(rems(96.)) - .min_h(rems(24.)) - .max_h(rems(42.)) - .gap_2() + .h(rems(32.)) .child( v_stack() - .p_4() - .child( - div() - .size_full() - .child(Label::new("Give Feedback").color(Color::Default)) - .child(Label::new("This editor supports markdown").color(Color::Muted)), - ), + .px_4() + .pt_4() + .pb_2() + .child(Label::new("Give Feedback").color(Color::Default)) + .child(Label::new("This editor supports markdown").color(Color::Muted)), ) - .child(v_stack() - .p_4() - .child( + .child( div() .flex_1() .bg(cx.theme().colors().editor_background) @@ -317,37 +310,49 @@ impl Render for FeedbackModal { ) .child( div().child( - Label::new(format!( - "Characters: {}", - characters_remaining - )) + Label::new( + if !valid_character_count && characters_remaining < 0 { + "Feedback must be at least 10 characters.".to_string() + } else if !valid_character_count && characters_remaining > 5000 { + "Feedback must be less than 5000 characters.".to_string() + } else { + format!( + "Characters: {}", + characters_remaining + ) + } + ) .map(|this| if valid_character_count { this.color(Color::Success) } else { this.color(Color::Error) - } ) - ), - ) - .child( - div() + ) + .child( + v_stack() + .p_4() + .child( + h_stack() .bg(cx.theme().colors().editor_background) .border() .border_color(cx.theme().colors().border) - .child(self.email_address_editor.clone()) + .child(self.email_address_editor.clone())) ) .child( h_stack() + .p_4() .justify_between() .gap_1() .child(Button::new("community_repo", "Community Repo") - .style(ButtonStyle::Filled) - .color(Color::Muted) + .style(ButtonStyle::Transparent) + .icon(Icon::ExternalLink) + .icon_position(IconPosition::End) + .icon_size(IconSize::Small) .on_click(open_community_repo) ) - .child(h_stack().justify_between().gap_1() + .child(h_stack().gap_1() .child( Button::new("cancel_feedback", "Cancel") .style(ButtonStyle::Subtle) diff --git a/crates/ui2/src/components/button/button.rs b/crates/ui2/src/components/button/button.rs index c1262321ce..607b6c8a61 100644 --- a/crates/ui2/src/components/button/button.rs +++ b/crates/ui2/src/components/button/button.rs @@ -1,6 +1,6 @@ use gpui::{AnyView, DefiniteLength}; -use crate::prelude::*; +use crate::{prelude::*, IconPosition}; use crate::{ ButtonCommon, ButtonLike, ButtonSize, ButtonStyle, Icon, IconSize, Label, LineHeightStyle, }; @@ -14,6 +14,7 @@ pub struct Button { label_color: Option, selected_label: Option, icon: Option, + icon_position: Option, icon_size: Option, icon_color: Option, selected_icon: Option, @@ -27,6 +28,7 @@ impl Button { label_color: None, selected_label: None, icon: None, + icon_position: None, icon_size: None, icon_color: None, selected_icon: None, @@ -48,6 +50,11 @@ impl Button { self } + pub fn icon_position(mut self, icon_position: impl Into>) -> Self { + self.icon_position = icon_position.into(); + self + } + pub fn icon_size(mut self, icon_size: impl Into>) -> Self { self.icon_size = icon_size.into(); self @@ -141,19 +148,30 @@ impl RenderOnce for Button { self.label_color.unwrap_or_default() }; - self.base - .children(self.icon.map(|icon| { - ButtonIcon::new(icon) - .disabled(is_disabled) - .selected(is_selected) - .selected_icon(self.selected_icon) - .size(self.icon_size) - .color(self.icon_color) - })) - .child( - Label::new(label) - .color(label_color) - .line_height_style(LineHeightStyle::UILabel), - ) + self.base.child( + h_stack() + .gap_1() + .map(|this| { + if self.icon_position == Some(IconPosition::End) { + this.flex_row_reverse() + } else { + this + } + }) + .flex_row_reverse() + .child( + Label::new(label) + .color(label_color) + .line_height_style(LineHeightStyle::UILabel), + ) + .children(self.icon.map(|icon| { + ButtonIcon::new(icon) + .disabled(is_disabled) + .selected(is_selected) + .selected_icon(self.selected_icon) + .size(self.icon_size) + .color(self.icon_color) + })), + ) } } diff --git a/crates/ui2/src/components/button/button_like.rs b/crates/ui2/src/components/button/button_like.rs index 1a33eb2845..9f42c95e7e 100644 --- a/crates/ui2/src/components/button/button_like.rs +++ b/crates/ui2/src/components/button/button_like.rs @@ -30,6 +30,13 @@ pub trait ButtonCommon: Clickable + Disableable { fn tooltip(self, tooltip: impl Fn(&mut WindowContext) -> AnyView + 'static) -> Self; } +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, Default)] +pub enum IconPosition { + #[default] + Start, + End, +} + #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, Default)] pub enum ButtonStyle { /// A filled button with a solid background color. Provides emphasis versus @@ -344,6 +351,7 @@ impl RenderOnce for ButtonLike { .gap_1() .px_1() .bg(self.style.enabled(cx).background) + .when(self.disabled, |this| this.cursor_not_allowed()) .when(!self.disabled, |this| { this.cursor_pointer() .hover(|hover| hover.bg(self.style.hovered(cx).background)) diff --git a/crates/ui2/src/components/icon.rs b/crates/ui2/src/components/icon.rs index a5b09782f5..88af3847f5 100644 --- a/crates/ui2/src/components/icon.rs +++ b/crates/ui2/src/components/icon.rs @@ -51,6 +51,7 @@ pub enum Icon { CopilotDisabled, Dash, Envelope, + ExternalLink, ExclamationTriangle, Exit, File, @@ -122,13 +123,13 @@ impl Icon { Icon::Close => "icons/x.svg", Icon::Collab => "icons/user_group_16.svg", Icon::Copilot => "icons/copilot.svg", - Icon::CopilotInit => "icons/copilot_init.svg", Icon::CopilotError => "icons/copilot_error.svg", Icon::CopilotDisabled => "icons/copilot_disabled.svg", Icon::Dash => "icons/dash.svg", Icon::Envelope => "icons/feedback.svg", Icon::ExclamationTriangle => "icons/warning.svg", + Icon::ExternalLink => "icons/external_link.svg", Icon::Exit => "icons/exit.svg", Icon::File => "icons/file.svg", Icon::FileDoc => "icons/file_icons/book.svg", diff --git a/crates/ui2/src/prelude.rs b/crates/ui2/src/prelude.rs index 42fb44ed4d..076d34644c 100644 --- a/crates/ui2/src/prelude.rs +++ b/crates/ui2/src/prelude.rs @@ -12,6 +12,6 @@ pub use crate::selectable::*; pub use crate::{h_stack, v_stack}; pub use crate::{Button, ButtonSize, ButtonStyle, IconButton}; pub use crate::{ButtonCommon, Color, StyledExt}; -pub use crate::{Icon, IconElement, IconSize}; +pub use crate::{Icon, IconElement, IconPosition, IconSize}; pub use crate::{Label, LabelCommon, LabelSize, LineHeightStyle}; pub use theme::ActiveTheme; From 75324abbb5a60897020167e21b4033cc556628ad Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 10:41:29 +0200 Subject: [PATCH 004/110] Do not panic when focusing empty dock --- crates/workspace2/src/dock.rs | 19 ++++++++++++++----- crates/workspace2/src/workspace2.rs | 6 +++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/crates/workspace2/src/dock.rs b/crates/workspace2/src/dock.rs index a0a90293d6..7bae7bc419 100644 --- a/crates/workspace2/src/dock.rs +++ b/crates/workspace2/src/dock.rs @@ -133,13 +133,13 @@ pub struct Dock { panel_entries: Vec, is_open: bool, active_panel_index: usize, + focus_handle: FocusHandle, + focus_subscription: Subscription, } impl FocusableView for Dock { - fn focus_handle(&self, cx: &AppContext) -> FocusHandle { - self.panel_entries[self.active_panel_index] - .panel - .focus_handle(cx) + fn focus_handle(&self, _: &AppContext) -> FocusHandle { + self.focus_handle.clone() } } @@ -190,12 +190,20 @@ pub struct PanelButtons { } impl Dock { - pub fn new(position: DockPosition) -> Self { + pub fn new(position: DockPosition, cx: &mut ViewContext<'_, Self>) -> Self { + let focus_handle = cx.focus_handle(); + let focus_subscription = cx.on_focus(&focus_handle, |dock, cx| { + if let Some(active_entry) = dock.panel_entries.get(dock.active_panel_index) { + active_entry.panel.focus_handle(cx).focus(cx) + } + }); Self { position, panel_entries: Default::default(), active_panel_index: 0, is_open: false, + focus_handle, + focus_subscription, } } @@ -207,6 +215,7 @@ impl Dock { self.is_open } + // todo!() // pub fn has_focus(&self, cx: &WindowContext) -> bool { // self.visible_panel() // .map_or(false, |panel| panel.has_focus(cx)) diff --git a/crates/workspace2/src/workspace2.rs b/crates/workspace2/src/workspace2.rs index abf9089929..50eb69eec5 100644 --- a/crates/workspace2/src/workspace2.rs +++ b/crates/workspace2/src/workspace2.rs @@ -566,9 +566,9 @@ impl Workspace { cx.emit(Event::WorkspaceCreated(weak_handle.clone())); - let left_dock = cx.build_view(|_| Dock::new(DockPosition::Left)); - let bottom_dock = cx.build_view(|_| Dock::new(DockPosition::Bottom)); - let right_dock = cx.build_view(|_| Dock::new(DockPosition::Right)); + let left_dock = cx.build_view(|cx| Dock::new(DockPosition::Left, cx)); + let bottom_dock = cx.build_view(|cx| Dock::new(DockPosition::Bottom, cx)); + let right_dock = cx.build_view(|cx| Dock::new(DockPosition::Right, cx)); let left_dock_buttons = cx.build_view(|cx| PanelButtons::new(left_dock.clone(), weak_handle.clone(), cx)); let bottom_dock_buttons = From 646b74e0a77d74ecf8ba7b73e138bb950b307e91 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 11:20:29 +0200 Subject: [PATCH 005/110] Move actions to namespaces used in zed1 keybinding settings --- crates/recent_projects2/src/projects.rs | 1 + crates/recent_projects2/src/recent_projects.rs | 7 ++++--- crates/terminal2/src/terminal2.rs | 12 +++++++++++- crates/terminal_view2/src/terminal_view.rs | 10 ++++------ 4 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 crates/recent_projects2/src/projects.rs diff --git a/crates/recent_projects2/src/projects.rs b/crates/recent_projects2/src/projects.rs new file mode 100644 index 0000000000..2c4809dbd7 --- /dev/null +++ b/crates/recent_projects2/src/projects.rs @@ -0,0 +1 @@ +gpui::actions!(OpenRecent); diff --git a/crates/recent_projects2/src/recent_projects.rs b/crates/recent_projects2/src/recent_projects.rs index 0c11f2b9c7..d2c13b40a3 100644 --- a/crates/recent_projects2/src/recent_projects.rs +++ b/crates/recent_projects2/src/recent_projects.rs @@ -1,9 +1,10 @@ mod highlighted_workspace_location; +mod projects; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ - actions, AppContext, DismissEvent, Div, EventEmitter, FocusHandle, FocusableView, Result, Task, - View, ViewContext, WeakView, + AppContext, DismissEvent, Div, EventEmitter, FocusHandle, FocusableView, Result, Task, View, + ViewContext, WeakView, }; use highlighted_workspace_location::HighlightedWorkspaceLocation; use ordered_float::OrderedFloat; @@ -16,7 +17,7 @@ use workspace::{ WORKSPACE_DB, }; -actions!(OpenRecent); +pub use projects::OpenRecent; pub fn init(cx: &mut AppContext) { cx.observe_new_views(RecentProjects::register).detach(); diff --git a/crates/terminal2/src/terminal2.rs b/crates/terminal2/src/terminal2.rs index 6036d65d6e..b429bda710 100644 --- a/crates/terminal2/src/terminal2.rs +++ b/crates/terminal2/src/terminal2.rs @@ -50,7 +50,7 @@ use std::{ use thiserror::Error; use gpui::{ - px, AnyWindowHandle, AppContext, Bounds, ClipboardItem, EventEmitter, Hsla, Keystroke, + actions, px, AnyWindowHandle, AppContext, Bounds, ClipboardItem, EventEmitter, Hsla, Keystroke, ModelContext, Modifiers, MouseButton, MouseDownEvent, MouseMoveEvent, MouseUpEvent, Pixels, Point, ScrollWheelEvent, Size, Task, TouchPhase, }; @@ -58,6 +58,16 @@ use gpui::{ use crate::mappings::{colors::to_alac_rgb, keys::to_esc_str}; use lazy_static::lazy_static; +actions!( + Clear, + Copy, + Paste, + ShowCharacterPalette, + SearchTest, + SendText, + SendKeystroke, +); + ///Scrolling is unbearably sluggish by default. Alacritty supports a configurable ///Scroll multiplier that is set to 3 by default. This will be removed when I ///Implement scroll bars. diff --git a/crates/terminal_view2/src/terminal_view.rs b/crates/terminal_view2/src/terminal_view.rs index 75b019f2ef..5a81b494b3 100644 --- a/crates/terminal_view2/src/terminal_view.rs +++ b/crates/terminal_view2/src/terminal_view.rs @@ -9,9 +9,9 @@ pub mod terminal_panel; // use crate::terminal_element::TerminalElement; use editor::{scroll::autoscroll::Autoscroll, Editor}; use gpui::{ - actions, div, Action, AnyElement, AppContext, Div, EventEmitter, FocusEvent, FocusHandle, - Focusable, FocusableElement, FocusableView, KeyContext, KeyDownEvent, Keystroke, Model, - MouseButton, MouseDownEvent, Pixels, Render, Subscription, Task, View, VisualContext, WeakView, + div, Action, AnyElement, AppContext, Div, EventEmitter, FocusEvent, FocusHandle, Focusable, + FocusableElement, FocusableView, KeyContext, KeyDownEvent, Keystroke, Model, MouseButton, + MouseDownEvent, Pixels, Render, Subscription, Task, View, VisualContext, WeakView, }; use language::Bias; use persistence::TERMINAL_DB; @@ -22,7 +22,7 @@ use terminal::{ term::{search::RegexSearch, TermMode}, }, terminal_settings::{TerminalBlink, TerminalSettings, WorkingDirectory}, - Event, MaybeNavigationTarget, Terminal, + Clear, Copy, Event, MaybeNavigationTarget, Paste, ShowCharacterPalette, Terminal, }; use terminal_element::TerminalElement; use ui::{h_stack, prelude::*, ContextMenu, Icon, IconElement, Label}; @@ -60,8 +60,6 @@ pub struct SendText(String); #[derive(Clone, Debug, Default, Deserialize, PartialEq, Action)] pub struct SendKeystroke(String); -actions!(Clear, Copy, Paste, ShowCharacterPalette, SearchTest); - pub fn init(cx: &mut AppContext) { terminal_panel::init(cx); terminal::init(cx); From 2a82dff2fea545d685b4557525efee1b59ef9285 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 12:03:36 +0200 Subject: [PATCH 006/110] Suppress unused variable r-a warning from action derive procmacro --- crates/gpui2_macros/src/action.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/gpui2_macros/src/action.rs b/crates/gpui2_macros/src/action.rs index abc75a8759..296e3f08b1 100644 --- a/crates/gpui2_macros/src/action.rs +++ b/crates/gpui2_macros/src/action.rs @@ -38,6 +38,7 @@ pub fn action(input: TokenStream) -> TokenStream { let build_impl = if is_unit_struct { quote! { + let _ = value; Ok(std::boxed::Box::new(Self {})) } } else { From f829120f51f96f607889fce194ef5898cb7430e5 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 14:34:36 +0200 Subject: [PATCH 007/110] Convert OS file drag and drop enter event into a mouse move, not mouse click --- crates/gpui2/src/window.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/crates/gpui2/src/window.rs b/crates/gpui2/src/window.rs index 1e26a7cf07..a668e5d120 100644 --- a/crates/gpui2/src/window.rs +++ b/crates/gpui2/src/window.rs @@ -1269,10 +1269,9 @@ impl<'a> WindowContext<'a> { cursor_offset: position, }); } - InputEvent::MouseDown(MouseDownEvent { + InputEvent::MouseMove(MouseMoveEvent { position, - button: MouseButton::Left, - click_count: 1, + pressed_button: Some(MouseButton::Left), modifiers: Modifiers::default(), }) } From b692b4c9c241a87c33b930cf169b7ffcaa0fd0b2 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 14:44:44 +0200 Subject: [PATCH 008/110] Do not expand terminal selections on active drag --- crates/gpui2/src/app.rs | 4 ++++ crates/gpui2/src/window.rs | 12 ++++++------ crates/terminal_view2/src/terminal_element.rs | 18 ++++++++---------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/crates/gpui2/src/app.rs b/crates/gpui2/src/app.rs index e23f464569..7d9ca68a82 100644 --- a/crates/gpui2/src/app.rs +++ b/crates/gpui2/src/app.rs @@ -1110,6 +1110,10 @@ impl AppContext { } } } + + pub fn has_active_drag(&self) -> bool { + self.active_drag.is_some() + } } impl Context for AppContext { diff --git a/crates/gpui2/src/window.rs b/crates/gpui2/src/window.rs index a668e5d120..12d6715653 100644 --- a/crates/gpui2/src/window.rs +++ b/crates/gpui2/src/window.rs @@ -4,12 +4,12 @@ use crate::{ DevicePixels, DispatchNodeId, DispatchTree, DisplayId, Edges, Effect, Entity, EntityId, EventEmitter, FileDropEvent, Flatten, FocusEvent, FontId, GlobalElementId, GlyphId, Hsla, ImageData, InputEvent, IsZero, KeyBinding, KeyContext, KeyDownEvent, LayoutId, Model, - ModelContext, Modifiers, MonochromeSprite, MouseButton, MouseDownEvent, MouseMoveEvent, - MouseUpEvent, Path, Pixels, PlatformAtlas, PlatformDisplay, PlatformInputHandler, - PlatformWindow, Point, PolychromeSprite, PromptLevel, Quad, Render, RenderGlyphParams, - RenderImageParams, RenderSvgParams, ScaledPixels, SceneBuilder, Shadow, SharedString, Size, - Style, SubscriberSet, Subscription, Surface, TaffyLayoutEngine, Task, Underline, - UnderlineStyle, View, VisualContext, WeakView, WindowBounds, WindowOptions, SUBPIXEL_VARIANTS, + ModelContext, Modifiers, MonochromeSprite, MouseButton, MouseMoveEvent, MouseUpEvent, Path, + Pixels, PlatformAtlas, PlatformDisplay, PlatformInputHandler, PlatformWindow, Point, + PolychromeSprite, PromptLevel, Quad, Render, RenderGlyphParams, RenderImageParams, + RenderSvgParams, ScaledPixels, SceneBuilder, Shadow, SharedString, Size, Style, SubscriberSet, + Subscription, Surface, TaffyLayoutEngine, Task, Underline, UnderlineStyle, View, VisualContext, + WeakView, WindowBounds, WindowOptions, SUBPIXEL_VARIANTS, }; use anyhow::{anyhow, Context as _, Result}; use collections::HashMap; diff --git a/crates/terminal_view2/src/terminal_element.rs b/crates/terminal_view2/src/terminal_element.rs index 4a37ca91b7..9153a43dfc 100644 --- a/crates/terminal_view2/src/terminal_element.rs +++ b/crates/terminal_view2/src/terminal_element.rs @@ -1,9 +1,9 @@ use editor::{Cursor, HighlightedRange, HighlightedRangeLine}; use gpui::{ black, div, point, px, red, relative, transparent_black, AnyElement, AsyncWindowContext, - AvailableSpace, Bounds, DispatchPhase, Element, ElementId, FocusHandle, Font, FontStyle, - FontWeight, HighlightStyle, Hsla, InteractiveElement, InteractiveElementState, IntoElement, - LayoutId, Model, ModelContext, ModifiersChangedEvent, MouseButton, Pixels, + AvailableSpace, Bounds, DispatchPhase, Element, ElementId, ExternalPaths, FocusHandle, Font, + FontStyle, FontWeight, HighlightStyle, Hsla, InteractiveElement, InteractiveElementState, + IntoElement, LayoutId, Model, ModelContext, ModifiersChangedEvent, MouseButton, Pixels, PlatformInputHandler, Point, Rgba, ShapedLine, Size, StatefulInteractiveElement, Styled, TextRun, TextStyle, TextSystem, UnderlineStyle, View, WhiteSpace, WindowContext, }; @@ -643,13 +643,11 @@ impl TerminalElement { let connection = connection.clone(); let focus = focus.clone(); move |e, cx| { - if e.pressed_button.is_some() { - if focus.is_focused(cx) { - connection.update(cx, |terminal, cx| { - terminal.mouse_drag(e, origin, bounds); - cx.notify(); - }) - } + if e.pressed_button.is_some() && focus.is_focused(cx) && !cx.has_active_drag() { + connection.update(cx, |terminal, cx| { + terminal.mouse_drag(e, origin, bounds); + cx.notify(); + }) } } }) From 6c653b9c05c546d58bd9f6358938f8f0c9d1a54e Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 15:18:23 +0200 Subject: [PATCH 009/110] Activate Zed window on external file drop --- crates/gpui2/src/interactive.rs | 6 ++++++ crates/gpui2/src/window.rs | 1 + 2 files changed, 7 insertions(+) diff --git a/crates/gpui2/src/interactive.rs b/crates/gpui2/src/interactive.rs index 2d48ec5a11..84636630f3 100644 --- a/crates/gpui2/src/interactive.rs +++ b/crates/gpui2/src/interactive.rs @@ -193,6 +193,12 @@ impl Deref for MouseExitEvent { #[derive(Debug, Clone, Default)] pub struct ExternalPaths(pub(crate) SmallVec<[PathBuf; 2]>); +impl ExternalPaths { + pub fn paths(&self) -> &[PathBuf] { + &self.0 + } +} + impl Render for ExternalPaths { type Element = Div; diff --git a/crates/gpui2/src/window.rs b/crates/gpui2/src/window.rs index 12d6715653..cab41067ce 100644 --- a/crates/gpui2/src/window.rs +++ b/crates/gpui2/src/window.rs @@ -1284,6 +1284,7 @@ impl<'a> WindowContext<'a> { }) } FileDropEvent::Submit { position } => { + self.activate(true); self.window.mouse_position = position; InputEvent::MouseUp(MouseUpEvent { button: MouseButton::Left, From b9a904e55227197be1bef1fbb6f0edbec3392a6c Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Thu, 7 Dec 2023 15:36:05 +0200 Subject: [PATCH 010/110] Add initial OS file drag and drop support --- crates/terminal_view2/src/terminal_element.rs | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/crates/terminal_view2/src/terminal_element.rs b/crates/terminal_view2/src/terminal_element.rs index 9153a43dfc..d61ba5988e 100644 --- a/crates/terminal_view2/src/terminal_element.rs +++ b/crates/terminal_view2/src/terminal_element.rs @@ -804,7 +804,28 @@ impl Element for TerminalElement { .map(|cursor| cursor.bounding_rect(origin)), }; - let mut this = self.register_mouse_listeners(origin, layout.mode, bounds, cx); + let terminal_focus_handle = self.focus.clone(); + let terminal_handle = self.terminal.clone(); + let mut this: TerminalElement = self + .register_mouse_listeners(origin, layout.mode, bounds, cx) + .drag_over::(|style| { + // todo!() why does not it work? z-index of elements? + style.bg(cx.theme().colors().ghost_element_hover) + }) + .on_drop::(move |external_paths, cx| { + cx.focus(&terminal_focus_handle); + let mut new_text = external_paths + .read(cx) + .paths() + .iter() + .map(|path| format!(" {path:?}")) + .join(""); + new_text.push(' '); + terminal_handle.update(cx, |terminal, _| { + // todo!() long paths are not displayed properly albeit the text is there + terminal.paste(&new_text); + }); + }); let interactivity = mem::take(&mut this.interactivity); From 5e5eb25aab7e4cf3aa157af47e726d11ca11a364 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 7 Dec 2023 10:50:07 -0500 Subject: [PATCH 011/110] WIP [no-ci] --- crates/feedback2/src/feedback_modal.rs | 26 +++++++++++++--------- crates/ui2/src/components/button/button.rs | 1 - 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index aa6f3910a1..32619578ed 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -104,6 +104,11 @@ impl FeedbackModal { let feedback_editor = cx.build_view(|cx| { let mut editor = Editor::for_buffer(buffer, Some(project.clone()), cx); + editor.set_placeholder_text( + "You can use markdown to add links or organize feedback.", + cx, + ); + // editor.set_show_gutter(false, cx); editor.set_vertical_scroll_margin(5, cx); editor }); @@ -292,19 +297,21 @@ impl Render for FeedbackModal { .min_w(rems(40.)) .max_w(rems(96.)) .h(rems(32.)) + .p_4() + .gap_4() .child( v_stack() - .px_4() - .pt_4() - .pb_2() - .child(Label::new("Give Feedback").color(Color::Default)) - .child(Label::new("This editor supports markdown").color(Color::Muted)), + .child( + // TODO: Add Headline component to `ui2` + div().text_xl().child("Share Feedback")) ) .child( div() .flex_1() .bg(cx.theme().colors().editor_background) + .p_2() .border() + .rounded_md() .border_color(cx.theme().colors().border) .child(self.feedback_editor.clone()), ) @@ -330,19 +337,18 @@ impl Render for FeedbackModal { } ) ) - .child( - v_stack() - .p_4() + .child( h_stack() .bg(cx.theme().colors().editor_background) + .p_2() .border() + .rounded_md() .border_color(cx.theme().colors().border) .child(self.email_address_editor.clone())) - ) + .child( h_stack() - .p_4() .justify_between() .gap_1() .child(Button::new("community_repo", "Community Repo") diff --git a/crates/ui2/src/components/button/button.rs b/crates/ui2/src/components/button/button.rs index 607b6c8a61..fc7ca2c128 100644 --- a/crates/ui2/src/components/button/button.rs +++ b/crates/ui2/src/components/button/button.rs @@ -158,7 +158,6 @@ impl RenderOnce for Button { this } }) - .flex_row_reverse() .child( Label::new(label) .color(label_color) From 08c4e1abdc6f8d9aaf50fb449ecfec802a76b395 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 7 Dec 2023 17:42:37 +0100 Subject: [PATCH 012/110] Fix clipping when rendering paths Co-Authored-By: Nathan --- crates/gpui2/src/platform/mac/metal_renderer.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/gpui2/src/platform/mac/metal_renderer.rs b/crates/gpui2/src/platform/mac/metal_renderer.rs index 19afb50332..c477440df5 100644 --- a/crates/gpui2/src/platform/mac/metal_renderer.rs +++ b/crates/gpui2/src/platform/mac/metal_renderer.rs @@ -325,7 +325,7 @@ impl MetalRenderer { .entry(tile.texture_id) .or_insert(Vec::new()) .extend(path.vertices.iter().map(|vertex| PathVertex { - xy_position: vertex.xy_position - path.bounds.origin + xy_position: vertex.xy_position - clipped_bounds.origin + tile.bounds.origin.map(Into::into), st_position: vertex.st_position, content_mask: ContentMask { @@ -544,9 +544,10 @@ impl MetalRenderer { if let Some((path, tile)) = paths_and_tiles.peek() { if prev_texture_id.map_or(true, |texture_id| texture_id == tile.texture_id) { prev_texture_id = Some(tile.texture_id); + let origin = path.bounds.intersect(&path.content_mask.bounds).origin; sprites.push(PathSprite { bounds: Bounds { - origin: path.bounds.origin.map(|p| p.floor()), + origin: origin.map(|p| p.floor()), size: tile.bounds.size.map(Into::into), }, color: path.color, From 2461902086d8ee56c43ea7c5d013a220e602e6f4 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 7 Dec 2023 17:51:59 +0100 Subject: [PATCH 013/110] Don't panic when trying to reuse an existing workspace Co-Authored-By: Nathan --- crates/workspace2/src/workspace2.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/workspace2/src/workspace2.rs b/crates/workspace2/src/workspace2.rs index abf9089929..e2965bb8d7 100644 --- a/crates/workspace2/src/workspace2.rs +++ b/crates/workspace2/src/workspace2.rs @@ -4188,14 +4188,14 @@ pub fn open_paths( }); cx.spawn(move |mut cx| async move { if let Some(existing) = existing { - // // Ok(( - // existing.clone(), - // cx.update_window_root(&existing, |workspace, cx| { - // workspace.open_paths(abs_paths, true, cx) - // })? - // .await, - // )) - todo!() + Ok(( + existing.clone(), + existing + .update(&mut cx, |workspace, cx| { + workspace.open_paths(abs_paths, true, cx) + })? + .await, + )) } else { cx.update(move |cx| { Workspace::new_local(abs_paths, app_state.clone(), requesting_window, cx) From 794b79580010e115aa23e16331bfb7d863837506 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Thu, 7 Dec 2023 12:04:04 -0500 Subject: [PATCH 014/110] Add TODO --- crates/feedback2/src/feedback_modal.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 32619578ed..148772c296 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -399,3 +399,5 @@ impl Render for FeedbackModal { ) } } + +// TODO: Add compilation flags to enable debug mode, where we can simulate sending feedback that both succeeds and fails, so we can test the UI From 393be3cedfe6775e5607a6cd879ae1ac421044c5 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 12:30:43 -0500 Subject: [PATCH 015/110] Extract `Tab` component (#3539) This PR extracts a new `Tab` component from the tabs implementation in the workspace. This will allow us to reuse this component anywhere that we need to use tabs. Like our other newer components, the `Tab` component has a relatively open API. It accepts `children` (or `child`) as well as a `start_slot` and `end_slot` to position content in the slots on either end of the content. These slots also respect the `TabCloseSide` and will switch positions based on this value. Screenshot 2023-12-07 at 12 19 42 PM Release Notes: - N/A --- crates/storybook2/src/story_selector.rs | 2 + crates/ui2/src/components.rs | 2 + crates/ui2/src/components/stories.rs | 2 + crates/ui2/src/components/stories/tab.rs | 114 +++++++++++++ crates/ui2/src/components/tab.rs | 198 +++++++++++++++++++++++ crates/workspace2/src/pane.rs | 133 +++++---------- 6 files changed, 358 insertions(+), 93 deletions(-) create mode 100644 crates/ui2/src/components/stories/tab.rs create mode 100644 crates/ui2/src/components/tab.rs diff --git a/crates/storybook2/src/story_selector.rs b/crates/storybook2/src/story_selector.rs index 216762060d..1e899a5783 100644 --- a/crates/storybook2/src/story_selector.rs +++ b/crates/storybook2/src/story_selector.rs @@ -28,6 +28,7 @@ pub enum ComponentStory { ListHeader, ListItem, Scroll, + Tab, Text, ZIndex, Picker, @@ -53,6 +54,7 @@ impl ComponentStory { Self::ListItem => cx.build_view(|_| ui::ListItemStory).into(), Self::Scroll => ScrollStory::view(cx).into(), Self::Text => TextStory::view(cx).into(), + Self::Tab => cx.build_view(|_| ui::TabStory).into(), Self::ZIndex => cx.build_view(|_| ZIndexStory).into(), Self::Picker => PickerStory::new(cx).into(), } diff --git a/crates/ui2/src/components.rs b/crates/ui2/src/components.rs index 583b30a2e0..5bda108a87 100644 --- a/crates/ui2/src/components.rs +++ b/crates/ui2/src/components.rs @@ -13,6 +13,7 @@ mod popover; mod popover_menu; mod right_click_menu; mod stack; +mod tab; mod tooltip; #[cfg(feature = "stories")] @@ -33,6 +34,7 @@ pub use popover::*; pub use popover_menu::*; pub use right_click_menu::*; pub use stack::*; +pub use tab::*; pub use tooltip::*; #[cfg(feature = "stories")] diff --git a/crates/ui2/src/components/stories.rs b/crates/ui2/src/components/stories.rs index 113c2679b7..c54ee99057 100644 --- a/crates/ui2/src/components/stories.rs +++ b/crates/ui2/src/components/stories.rs @@ -10,6 +10,7 @@ mod label; mod list; mod list_header; mod list_item; +mod tab; pub use avatar::*; pub use button::*; @@ -23,3 +24,4 @@ pub use label::*; pub use list::*; pub use list_header::*; pub use list_item::*; +pub use tab::*; diff --git a/crates/ui2/src/components/stories/tab.rs b/crates/ui2/src/components/stories/tab.rs new file mode 100644 index 0000000000..cd5e920396 --- /dev/null +++ b/crates/ui2/src/components/stories/tab.rs @@ -0,0 +1,114 @@ +use std::cmp::Ordering; + +use gpui::{Div, Render}; +use story::Story; + +use crate::{prelude::*, TabPosition}; +use crate::{Indicator, Tab}; + +pub struct TabStory; + +impl Render for TabStory { + type Element = Div; + + fn render(&mut self, _cx: &mut ViewContext) -> Self::Element { + Story::container() + .child(Story::title_for::()) + .child(Story::label("Default")) + .child(h_stack().child(Tab::new("tab_1").child("Tab 1"))) + .child(Story::label("With indicator")) + .child( + h_stack().child( + Tab::new("tab_1") + .start_slot(Indicator::dot().color(Color::Warning)) + .child("Tab 1"), + ), + ) + .child(Story::label("With close button")) + .child( + h_stack().child( + Tab::new("tab_1") + .end_slot( + IconButton::new("close_button", Icon::Close) + .icon_color(Color::Muted) + .size(ButtonSize::None) + .icon_size(IconSize::XSmall), + ) + .child("Tab 1"), + ), + ) + .child(Story::label("List of tabs")) + .child( + h_stack() + .child(Tab::new("tab_1").child("Tab 1")) + .child(Tab::new("tab_2").child("Tab 2")), + ) + .child(Story::label("List of tabs with first tab selected")) + .child( + h_stack() + .child( + Tab::new("tab_1") + .selected(true) + .position(TabPosition::First) + .child("Tab 1"), + ) + .child( + Tab::new("tab_2") + .position(TabPosition::Middle(Ordering::Greater)) + .child("Tab 2"), + ) + .child( + Tab::new("tab_3") + .position(TabPosition::Middle(Ordering::Greater)) + .child("Tab 3"), + ) + .child(Tab::new("tab_4").position(TabPosition::Last).child("Tab 4")), + ) + .child(Story::label("List of tabs with last tab selected")) + .child( + h_stack() + .child( + Tab::new("tab_1") + .position(TabPosition::First) + .child("Tab 1"), + ) + .child( + Tab::new("tab_2") + .position(TabPosition::Middle(Ordering::Less)) + .child("Tab 2"), + ) + .child( + Tab::new("tab_3") + .position(TabPosition::Middle(Ordering::Less)) + .child("Tab 3"), + ) + .child( + Tab::new("tab_4") + .position(TabPosition::Last) + .selected(true) + .child("Tab 4"), + ), + ) + .child(Story::label("List of tabs with second tab selected")) + .child( + h_stack() + .child( + Tab::new("tab_1") + .position(TabPosition::First) + .child("Tab 1"), + ) + .child( + Tab::new("tab_2") + .position(TabPosition::Middle(Ordering::Equal)) + .selected(true) + .child("Tab 2"), + ) + .child( + Tab::new("tab_3") + .position(TabPosition::Middle(Ordering::Greater)) + .child("Tab 3"), + ) + .child(Tab::new("tab_4").position(TabPosition::Last).child("Tab 4")), + ) + } +} diff --git a/crates/ui2/src/components/tab.rs b/crates/ui2/src/components/tab.rs new file mode 100644 index 0000000000..7a40a6ed0d --- /dev/null +++ b/crates/ui2/src/components/tab.rs @@ -0,0 +1,198 @@ +use std::cmp::Ordering; +use std::rc::Rc; + +use gpui::{AnyElement, AnyView, ClickEvent, IntoElement, MouseButton}; +use smallvec::SmallVec; + +use crate::prelude::*; + +/// The position of a [`Tab`] within a list of tabs. +#[derive(Debug, PartialEq, Eq, Clone, Copy)] +pub enum TabPosition { + /// The tab is first in the list. + First, + + /// The tab is in the middle of the list (i.e., it is not the first or last tab). + /// + /// The [`Ordering`] is where this tab is positioned with respect to the selected tab. + Middle(Ordering), + + /// The tab is last in the list. + Last, +} + +#[derive(Debug, PartialEq, Eq, Clone, Copy)] +pub enum TabCloseSide { + Start, + End, +} + +#[derive(IntoElement)] +pub struct Tab { + id: ElementId, + selected: bool, + position: TabPosition, + close_side: TabCloseSide, + on_click: Option>, + tooltip: Option AnyView + 'static>>, + start_slot: Option, + end_slot: Option, + children: SmallVec<[AnyElement; 2]>, +} + +impl Tab { + pub fn new(id: impl Into) -> Self { + Self { + id: id.into(), + selected: false, + position: TabPosition::First, + close_side: TabCloseSide::End, + on_click: None, + tooltip: None, + start_slot: None, + end_slot: None, + children: SmallVec::new(), + } + } + + pub fn position(mut self, position: TabPosition) -> Self { + self.position = position; + self + } + + pub fn close_side(mut self, close_side: TabCloseSide) -> Self { + self.close_side = close_side; + self + } + + pub fn on_click(mut self, handler: impl Fn(&ClickEvent, &mut WindowContext) + 'static) -> Self { + self.on_click = Some(Rc::new(handler)); + self + } + + pub fn tooltip(mut self, tooltip: impl Fn(&mut WindowContext) -> AnyView + 'static) -> Self { + self.tooltip = Some(Box::new(tooltip)); + self + } + + pub fn start_slot(mut self, element: impl Into>) -> Self { + self.start_slot = element.into().map(IntoElement::into_any_element); + self + } + + pub fn end_slot(mut self, element: impl Into>) -> Self { + self.end_slot = element.into().map(IntoElement::into_any_element); + self + } +} + +impl Selectable for Tab { + fn selected(mut self, selected: bool) -> Self { + self.selected = selected; + self + } +} + +impl ParentElement for Tab { + fn children_mut(&mut self) -> &mut SmallVec<[AnyElement; 2]> { + &mut self.children + } +} + +impl RenderOnce for Tab { + type Rendered = Div; + + fn render(self, cx: &mut WindowContext) -> Self::Rendered { + const HEIGHT_IN_REMS: f32 = 30. / 16.; + + let (text_color, tab_bg, _tab_hover_bg, _tab_active_bg) = match self.selected { + false => ( + cx.theme().colors().text_muted, + cx.theme().colors().tab_inactive_background, + cx.theme().colors().ghost_element_hover, + cx.theme().colors().ghost_element_active, + ), + true => ( + cx.theme().colors().text, + cx.theme().colors().tab_active_background, + cx.theme().colors().element_hover, + cx.theme().colors().element_active, + ), + }; + + div() + .h(rems(HEIGHT_IN_REMS)) + .bg(tab_bg) + .border_color(cx.theme().colors().border) + .map(|this| match self.position { + TabPosition::First => { + if self.selected { + this.pl_px().border_r().pb_px() + } else { + this.pl_px().pr_px().border_b() + } + } + TabPosition::Last => { + if self.selected { + this.border_l().border_r().pb_px() + } else { + this.pr_px().pl_px().border_b() + } + } + TabPosition::Middle(Ordering::Equal) => this.border_l().border_r().pb_px(), + TabPosition::Middle(Ordering::Less) => this.border_l().pr_px().border_b(), + TabPosition::Middle(Ordering::Greater) => this.border_r().pl_px().border_b(), + }) + .child( + h_stack() + .group("") + .id(self.id) + .relative() + .h_full() + .px_5() + .gap_1() + .text_color(text_color) + // .hover(|style| style.bg(tab_hover_bg)) + // .active(|style| style.bg(tab_active_bg)) + .when_some(self.on_click, |tab, on_click| { + tab.cursor_pointer().on_click(move |event, cx| { + // HACK: GPUI currently fires `on_click` with any mouse button, + // but we only care about the left button. + if event.down.button == MouseButton::Left { + (on_click)(event, cx) + } + }) + }) + .when_some(self.tooltip, |tab, tooltip| { + tab.tooltip(move |cx| tooltip(cx)) + }) + .child( + h_stack() + .w_3() + .h_3() + .justify_center() + .absolute() + .map(|this| match self.close_side { + TabCloseSide::Start => this.right_1(), + TabCloseSide::End => this.left_1(), + }) + .children(self.start_slot), + ) + .child( + h_stack() + .invisible() + .w_3() + .h_3() + .justify_center() + .absolute() + .map(|this| match self.close_side { + TabCloseSide::Start => this.left_1(), + TabCloseSide::End => this.right_1(), + }) + .group_hover("", |style| style.visible()) + .children(self.end_slot), + ) + .children(self.children), + ) + } +} diff --git a/crates/workspace2/src/pane.rs b/crates/workspace2/src/pane.rs index 495819f608..f28759a733 100644 --- a/crates/workspace2/src/pane.rs +++ b/crates/workspace2/src/pane.rs @@ -28,10 +28,10 @@ use std::{ use ui::{ h_stack, prelude::*, right_click_menu, ButtonSize, Color, Icon, IconButton, IconSize, - Indicator, Label, Tooltip, + Indicator, Label, Tab, TabPosition, Tooltip, }; use ui::{v_stack, ContextMenu}; -use util::truncate_and_remove_front; +use util::{maybe, truncate_and_remove_front}; #[derive(PartialEq, Clone, Copy, Deserialize, Debug)] #[serde(rename_all = "camelCase")] @@ -1438,42 +1438,49 @@ impl Pane { let is_active = ix == self.active_item_index; - let indicator = { + let indicator = maybe!({ let indicator_color = match (item.has_conflict(cx), item.is_dirty(cx)) { - (true, _) => Some(Color::Warning), - (_, true) => Some(Color::Accent), - (false, false) => None, + (true, _) => Color::Warning, + (_, true) => Color::Accent, + (false, false) => return None, }; - h_stack() - .w_3() - .h_3() - .justify_center() - .absolute() - .map(|this| match close_side { - ClosePosition::Left => this.right_1(), - ClosePosition::Right => this.left_1(), - }) - .when_some(indicator_color, |this, indicator_color| { - this.child(Indicator::dot().color(indicator_color)) - }) - }; + Some(Indicator::dot().color(indicator_color)) + }); - let close_button = { - let id = item.item_id(); + let id = item.item_id(); - h_stack() - .invisible() - .w_3() - .h_3() - .justify_center() - .absolute() - .map(|this| match close_side { - ClosePosition::Left => this.left_1(), - ClosePosition::Right => this.right_1(), + let is_first_item = ix == 0; + let is_last_item = ix == self.items.len() - 1; + let position_relative_to_active_item = ix.cmp(&self.active_item_index); + + let tab = + Tab::new(ix) + .position(if is_first_item { + TabPosition::First + } else if is_last_item { + TabPosition::Last + } else { + TabPosition::Middle(position_relative_to_active_item) }) - .group_hover("", |style| style.visible()) - .child( + .close_side(match close_side { + ClosePosition::Left => ui::TabCloseSide::Start, + ClosePosition::Right => ui::TabCloseSide::End, + }) + .selected(ix == self.active_item_index()) + .on_click(cx.listener(move |pane: &mut Self, event, cx| { + pane.activate_item(ix, true, true, cx) + })) + // .on_drag(move |pane, cx| pane.render_tab(ix, item.boxed_clone(), detail, cx)) + // .drag_over::(|d| d.bg(cx.theme().colors().element_drop_target)) + // .on_drop(|_view, state: View, cx| { + // eprintln!("{:?}", state.read(cx)); + // }) + .when_some(item.tab_tooltip_text(cx), |tab, text| { + tab.tooltip(move |cx| Tooltip::text(text.clone(), cx)) + }) + .start_slot::(indicator) + .end_slot( // TODO: Fix button size IconButton::new("close tab", Icon::Close) .icon_color(Color::Muted) @@ -1484,67 +1491,7 @@ impl Pane { .detach_and_log_err(cx); })), ) - }; - - let tab = div() - .border_color(cx.theme().colors().border) - .bg(tab_bg) - // 30px @ 16px/rem - .h(rems(1.875)) - .map(|this| { - let is_first_item = ix == 0; - let is_last_item = ix == self.items.len() - 1; - match ix.cmp(&self.active_item_index) { - cmp::Ordering::Less => { - if is_first_item { - this.pl_px().pr_px().border_b() - } else { - this.border_l().pr_px().border_b() - } - } - cmp::Ordering::Greater => { - if is_last_item { - this.pr_px().pl_px().border_b() - } else { - this.border_r().pl_px().border_b() - } - } - cmp::Ordering::Equal => { - if is_first_item { - this.pl_px().border_r().pb_px() - } else { - this.border_l().border_r().pb_px() - } - } - } - }) - .child( - h_stack() - .group("") - .id(ix) - .relative() - .h_full() - .cursor_pointer() - .when_some(item.tab_tooltip_text(cx), |div, text| { - div.tooltip(move |cx| cx.build_view(|cx| Tooltip::new(text.clone())).into()) - }) - .on_click( - cx.listener(move |v: &mut Self, e, cx| v.activate_item(ix, true, true, cx)), - ) - // .on_drag(move |pane, cx| pane.render_tab(ix, item.boxed_clone(), detail, cx)) - // .drag_over::(|d| d.bg(cx.theme().colors().element_drop_target)) - // .on_drop(|_view, state: View, cx| { - // eprintln!("{:?}", state.read(cx)); - // }) - .px_5() - // .hover(|h| h.bg(tab_hover_bg)) - // .active(|a| a.bg(tab_active_bg)) - .gap_1() - .text_color(text_color) - .child(indicator) - .child(close_button) - .child(label), - ); + .child(label); right_click_menu(ix).trigger(tab).menu(|cx| { ContextMenu::build(cx, |menu, cx| { From 7c19650a4065eb8343d5e578c560ffb2aaa8fe98 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Thu, 7 Dec 2023 12:37:07 -0500 Subject: [PATCH 016/110] Remove when_else Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> --- crates/feedback2/src/feedback_modal.rs | 22 +++++++++++++--------- crates/gpui2/src/element.rs | 18 ------------------ crates/ui2/src/components/keybinding.rs | 12 +++++++----- 3 files changed, 20 insertions(+), 32 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 68fbcfb3a3..583d31ce5d 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -319,10 +319,12 @@ impl Render for FeedbackModal { "Characters: {}", characters_remaining )) - .when_else( - valid_character_count, - |this| this.color(Color::Success), - |this| this.color(Color::Error) + .color( + if valid_character_count { + Color::Success + } else { + Color::Error + } ) ), ) @@ -349,11 +351,13 @@ impl Render for FeedbackModal { .color(Color::Muted) // TODO: replicate this logic when clicking outside the modal // TODO: Will require somehow overriding the modal dismal default behavior - .when_else( - has_feedback, - |this| this.on_click(dismiss_prompt), - |this| this.on_click(dismiss) - ) + .map(|this| { + if has_feedback { + this.on_click(dismiss_prompt) + } else { + this.on_click(dismiss) + } + }) ) .child( Button::new("send_feedback", submit_button_text) diff --git a/crates/gpui2/src/element.rs b/crates/gpui2/src/element.rs index a67276b0bc..226a477012 100644 --- a/crates/gpui2/src/element.rs +++ b/crates/gpui2/src/element.rs @@ -69,24 +69,6 @@ pub trait IntoElement: Sized { self.map(|this| if condition { then(this) } else { this }) } - fn when_else( - self, - condition: bool, - then: impl FnOnce(Self) -> Self, - otherwise: impl FnOnce(Self) -> Self, - ) -> Self - where - Self: Sized, - { - self.map(|this| { - if condition { - then(this) - } else { - otherwise(this) - } - }) - } - fn when_some(self, option: Option, then: impl FnOnce(Self, T) -> Self) -> Self where Self: Sized, diff --git a/crates/ui2/src/components/keybinding.rs b/crates/ui2/src/components/keybinding.rs index 29586fd194..8314f607fe 100644 --- a/crates/ui2/src/components/keybinding.rs +++ b/crates/ui2/src/components/keybinding.rs @@ -98,11 +98,13 @@ impl RenderOnce for Key { div() .py_0() - .when_else( - single_char, - |el| el.w(rems(14. / 16.)).flex().flex_none().justify_center(), - |el| el.px_0p5(), - ) + .map(|this| { + if single_char { + this.w(rems(14. / 16.)).flex().flex_none().justify_center() + } else { + this.px_0p5() + } + }) .h(rems(14. / 16.)) .text_ui() .line_height(relative(1.)) From ef4bc5e20b6839dbad93e52c9aec5a6036d7ba08 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Thu, 7 Dec 2023 12:59:51 -0500 Subject: [PATCH 017/110] Remove static status bar icons --- crates/workspace2/src/status_bar.rs | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/crates/workspace2/src/status_bar.rs b/crates/workspace2/src/status_bar.rs index 07c48293b5..22e2fa128d 100644 --- a/crates/workspace2/src/status_bar.rs +++ b/crates/workspace2/src/status_bar.rs @@ -48,30 +48,7 @@ impl Render for StatusBar { .h_8() .bg(cx.theme().colors().status_bar_background) .child(h_stack().gap_1().child(self.render_left_tools(cx))) - .child( - h_stack() - .gap_4() - .child( - h_stack().gap_1().child( - // Feedback Tool - div() - .border() - .border_color(gpui::red()) - .child(IconButton::new("status-feedback", Icon::Envelope)), - ), - ) - .child( - // Right Dock - h_stack().gap_1().child( - // Terminal - div() - .border() - .border_color(gpui::red()) - .child(IconButton::new("status-chat", Icon::MessageBubbles)), - ), - ) - .child(self.render_right_tools(cx)), - ) + .child(h_stack().gap_4().child(self.render_right_tools(cx))) } } From 0ee4ad6ba0c4dcaf48a5a568f0e1c3593b7e6aa6 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Thu, 7 Dec 2023 13:00:49 -0500 Subject: [PATCH 018/110] Skip using map --- crates/feedback2/src/feedback_modal.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 148772c296..c61d17d63c 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -329,11 +329,11 @@ impl Render for FeedbackModal { ) } ) - .map(|this| + .color( if valid_character_count { - this.color(Color::Success) + Color::Success } else { - this.color(Color::Error) + Color::Error } ) ) From 8b9b19195d02f104b9fc51805d07ea6ca2c83503 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Thu, 7 Dec 2023 13:19:03 -0500 Subject: [PATCH 019/110] Fix bug with how characters limits are being displayed --- crates/feedback2/src/feedback_modal.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index c61d17d63c..1b746e1f1f 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -256,12 +256,6 @@ impl Render for FeedbackModal { }; let valid_character_count = FEEDBACK_CHAR_LIMIT.contains(&self.character_count); - let characters_remaining = - if valid_character_count || self.character_count > *FEEDBACK_CHAR_LIMIT.end() { - *FEEDBACK_CHAR_LIMIT.end() as i32 - self.character_count as i32 - } else { - self.character_count as i32 - *FEEDBACK_CHAR_LIMIT.start() as i32 - }; let allow_submission = valid_character_count && valid_email_address && !self.pending_submission; @@ -318,14 +312,14 @@ impl Render for FeedbackModal { .child( div().child( Label::new( - if !valid_character_count && characters_remaining < 0 { - "Feedback must be at least 10 characters.".to_string() - } else if !valid_character_count && characters_remaining > 5000 { - "Feedback must be less than 5000 characters.".to_string() + if self.character_count < *FEEDBACK_CHAR_LIMIT.start() { + format!("Feedback must be at least {} characters.", FEEDBACK_CHAR_LIMIT.start()) + } else if self.character_count > *FEEDBACK_CHAR_LIMIT.end() { + format!("Feedback must be less than {} characters.", FEEDBACK_CHAR_LIMIT.end()) } else { format!( "Characters: {}", - characters_remaining + *FEEDBACK_CHAR_LIMIT.end() - self.character_count ) } ) From 853daf953b71aeba32d1f16513bb651b5d44a52a Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 14:11:30 -0500 Subject: [PATCH 020/110] Remove padding from `ButtonSize::None` (#3541) This PR removes the padding from buttons when using `ButtonSize::None`. This fixes the size of the tab close buttons. Release Notes: - N/A --- crates/ui2/src/components/button/button_like.rs | 5 ++++- crates/workspace2/src/pane.rs | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/ui2/src/components/button/button_like.rs b/crates/ui2/src/components/button/button_like.rs index 1a33eb2845..74dfdc45d8 100644 --- a/crates/ui2/src/components/button/button_like.rs +++ b/crates/ui2/src/components/button/button_like.rs @@ -342,7 +342,10 @@ impl RenderOnce for ButtonLike { .when_some(self.width, |this, width| this.w(width)) .rounded_md() .gap_1() - .px_1() + .map(|this| match self.size { + ButtonSize::Default | ButtonSize::Compact => this.px_1(), + ButtonSize::None => this, + }) .bg(self.style.enabled(cx).background) .when(!self.disabled, |this| { this.cursor_pointer() diff --git a/crates/workspace2/src/pane.rs b/crates/workspace2/src/pane.rs index f28759a733..3b1c00994f 100644 --- a/crates/workspace2/src/pane.rs +++ b/crates/workspace2/src/pane.rs @@ -1481,7 +1481,6 @@ impl Pane { }) .start_slot::(indicator) .end_slot( - // TODO: Fix button size IconButton::new("close tab", Icon::Close) .icon_color(Color::Muted) .size(ButtonSize::None) From 8ed04fe798ab315cf760d1e1c01ac845a7db0fc2 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 14:33:37 -0500 Subject: [PATCH 021/110] Remove commented-out code in theme importer --- crates/theme_importer/src/vscode/converter.rs | 58 ------------------- 1 file changed, 58 deletions(-) diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 96bf07bb71..3a2c920f7b 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -310,63 +310,5 @@ impl VsCodeThemeConverter { Ok(UserSyntaxTheme { highlights: highlight_styles.into_iter().collect(), }) - - // let mut highlight_styles = IndexMap::new(); - - // for token_color in self.theme.token_colors { - // highlight_styles.extend(token_color.highlight_styles()?); - // } - - // let syntax_theme = UserSyntaxTheme { - // highlights: highlight_styles.into_iter().collect(), - // }; - - // pub fn highlight_styles(&self) -> Result> { - // let mut highlight_styles = IndexMap::new(); - - // for syntax_token in ZedSyntaxToken::iter() { - // let scope = syntax_token.to_scope(); - - // // let token_color = - // } - - // let scope = match self.scope { - // Some(VsCodeTokenScope::One(ref scope)) => vec![scope.clone()], - // Some(VsCodeTokenScope::Many(ref scopes)) => scopes.clone(), - // None => return Ok(IndexMap::new()), - // }; - - // for scope in &scope { - // let Some(syntax_token) = Self::to_zed_token(&scope) else { - // continue; - // }; - - // let highlight_style = UserHighlightStyle { - // color: self - // .settings - // .foreground - // .as_ref() - // .traverse(|color| try_parse_color(&color))?, - // font_style: self - // .settings - // .font_style - // .as_ref() - // .and_then(|style| try_parse_font_style(&style)), - // font_weight: self - // .settings - // .font_style - // .as_ref() - // .and_then(|style| try_parse_font_weight(&style)), - // }; - - // if highlight_style.is_empty() { - // continue; - // } - - // highlight_styles.insert(syntax_token, highlight_style); - // } - - // Ok(highlight_styles) - // } } } From 6a164db700507f66ac8f824d35fc14add293a16f Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 14:35:58 -0500 Subject: [PATCH 022/110] Rename members in `ZedSyntaxToken` --- crates/theme_importer/src/vscode/syntax.rs | 240 +++++++++++---------- 1 file changed, 122 insertions(+), 118 deletions(-) diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index e6633132c4..7f93925ee8 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -35,94 +35,92 @@ pub struct VsCodeTokenColorSettings { #[derive(Debug, PartialEq, Copy, Clone, EnumIter)] pub enum ZedSyntaxToken { - SyntaxAttribute, - SyntaxBoolean, - SyntaxComment, - SyntaxCommentDoc, - SyntaxConstant, - SyntaxConstructor, - SyntaxEmbedded, - SyntaxEmphasis, - SyntaxEmphasisStrong, - SyntaxEnum, - SyntaxFunction, - SyntaxHint, - SyntaxKeyword, - SyntaxLabel, - SyntaxLinkText, - SyntaxLinkUri, - SyntaxNumber, - SyntaxOperator, - SyntaxPredictive, - SyntaxPreproc, - SyntaxPrimary, - SyntaxProperty, - SyntaxPunctuation, - SyntaxPunctuationBracket, - SyntaxPunctuationDelimiter, - SyntaxPunctuationListMarker, - SyntaxPunctuationSpecial, - SyntaxString, - SyntaxStringEscape, - SyntaxStringRegex, - SyntaxStringSpecial, - SyntaxStringSpecialSymbol, - SyntaxTag, - SyntaxTextLiteral, - SyntaxTitle, - SyntaxType, - SyntaxVariable, - SyntaxVariableSpecial, - SyntaxVariant, + Attribute, + Boolean, + Comment, + CommentDoc, + Constant, + Constructor, + Embedded, + Emphasis, + EmphasisStrong, + Enum, + Function, + Hint, + Keyword, + Label, + LinkText, + LinkUri, + Number, + Operator, + Predictive, + Preproc, + Primary, + Property, + Punctuation, + PunctuationBracket, + PunctuationDelimiter, + PunctuationListMarker, + PunctuationSpecial, + String, + StringEscape, + StringRegex, + StringSpecial, + StringSpecialSymbol, + Tag, + TextLiteral, + Title, + Type, + Variable, + VariableSpecial, + Variant, } impl std::fmt::Display for ZedSyntaxToken { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - use ZedSyntaxToken::*; - write!( f, "{}", match self { - SyntaxAttribute => "attribute", - SyntaxBoolean => "boolean", - SyntaxComment => "comment", - SyntaxCommentDoc => "comment.doc", - SyntaxConstant => "constant", - SyntaxConstructor => "constructor", - SyntaxEmbedded => "embedded", - SyntaxEmphasis => "emphasis", - SyntaxEmphasisStrong => "emphasis.strong", - SyntaxEnum => "enum", - SyntaxFunction => "function", - SyntaxHint => "hint", - SyntaxKeyword => "keyword", - SyntaxLabel => "label", - SyntaxLinkText => "link_text", - SyntaxLinkUri => "link_uri", - SyntaxNumber => "number", - SyntaxOperator => "operator", - SyntaxPredictive => "predictive", - SyntaxPreproc => "preproc", - SyntaxPrimary => "primary", - SyntaxProperty => "property", - SyntaxPunctuation => "punctuation", - SyntaxPunctuationBracket => "punctuation.bracket", - SyntaxPunctuationDelimiter => "punctuation.delimiter", - SyntaxPunctuationListMarker => "punctuation.list_marker", - SyntaxPunctuationSpecial => "punctuation.special", - SyntaxString => "string", - SyntaxStringEscape => "string.escape", - SyntaxStringRegex => "string.regex", - SyntaxStringSpecial => "string.special", - SyntaxStringSpecialSymbol => "string.special.symbol", - SyntaxTag => "tag", - SyntaxTextLiteral => "text.literal", - SyntaxTitle => "title", - SyntaxType => "type", - SyntaxVariable => "variable", - SyntaxVariableSpecial => "variable.special", - SyntaxVariant => "variant", + ZedSyntaxToken::Attribute => "attribute", + ZedSyntaxToken::Boolean => "boolean", + ZedSyntaxToken::Comment => "comment", + ZedSyntaxToken::CommentDoc => "comment.doc", + ZedSyntaxToken::Constant => "constant", + ZedSyntaxToken::Constructor => "constructor", + ZedSyntaxToken::Embedded => "embedded", + ZedSyntaxToken::Emphasis => "emphasis", + ZedSyntaxToken::EmphasisStrong => "emphasis.strong", + ZedSyntaxToken::Enum => "enum", + ZedSyntaxToken::Function => "function", + ZedSyntaxToken::Hint => "hint", + ZedSyntaxToken::Keyword => "keyword", + ZedSyntaxToken::Label => "label", + ZedSyntaxToken::LinkText => "link_text", + ZedSyntaxToken::LinkUri => "link_uri", + ZedSyntaxToken::Number => "number", + ZedSyntaxToken::Operator => "operator", + ZedSyntaxToken::Predictive => "predictive", + ZedSyntaxToken::Preproc => "preproc", + ZedSyntaxToken::Primary => "primary", + ZedSyntaxToken::Property => "property", + ZedSyntaxToken::Punctuation => "punctuation", + ZedSyntaxToken::PunctuationBracket => "punctuation.bracket", + ZedSyntaxToken::PunctuationDelimiter => "punctuation.delimiter", + ZedSyntaxToken::PunctuationListMarker => "punctuation.list_marker", + ZedSyntaxToken::PunctuationSpecial => "punctuation.special", + ZedSyntaxToken::String => "string", + ZedSyntaxToken::StringEscape => "string.escape", + ZedSyntaxToken::StringRegex => "string.regex", + ZedSyntaxToken::StringSpecial => "string.special", + ZedSyntaxToken::StringSpecialSymbol => "string.special.symbol", + ZedSyntaxToken::Tag => "tag", + ZedSyntaxToken::TextLiteral => "text.literal", + ZedSyntaxToken::Title => "title", + ZedSyntaxToken::Type => "type", + ZedSyntaxToken::Variable => "variable", + ZedSyntaxToken::VariableSpecial => "variable.special", + ZedSyntaxToken::Variant => "variant", } ) } @@ -130,47 +128,47 @@ impl std::fmt::Display for ZedSyntaxToken { impl ZedSyntaxToken { pub fn to_vscode(&self) -> Vec<&'static str> { - use ZedSyntaxToken::*; - match self { - SyntaxAttribute => vec!["entity.other.attribute-name"], - SyntaxBoolean => vec!["constant.language"], - SyntaxComment => vec!["comment"], - SyntaxCommentDoc => vec!["comment.block.documentation"], - SyntaxConstant => vec!["constant.character"], - SyntaxConstructor => vec!["entity.name.function.definition.special.constructor"], - SyntaxEmbedded => vec!["meta.embedded"], - SyntaxEmphasis => vec!["markup.italic"], - SyntaxEmphasisStrong => vec![ + ZedSyntaxToken::Attribute => vec!["entity.other.attribute-name"], + ZedSyntaxToken::Boolean => vec!["constant.language"], + ZedSyntaxToken::Comment => vec!["comment"], + ZedSyntaxToken::CommentDoc => vec!["comment.block.documentation"], + ZedSyntaxToken::Constant => vec!["constant.character"], + ZedSyntaxToken::Constructor => { + vec!["entity.name.function.definition.special.constructor"] + } + ZedSyntaxToken::Embedded => vec!["meta.embedded"], + ZedSyntaxToken::Emphasis => vec!["markup.italic"], + ZedSyntaxToken::EmphasisStrong => vec![ "markup.bold", "markup.italic markup.bold", "markup.bold markup.italic", ], - SyntaxEnum => vec!["support.type.enum"], - SyntaxFunction => vec![ + ZedSyntaxToken::Enum => vec!["support.type.enum"], + ZedSyntaxToken::Function => vec![ "entity.name.function", "variable.function", "support.function", ], - SyntaxKeyword => vec!["keyword"], - SyntaxLabel => vec![ + ZedSyntaxToken::Keyword => vec!["keyword"], + ZedSyntaxToken::Label => vec![ "label", "entity.name", "entity.name.import", "entity.name.package", ], - SyntaxLinkText => vec!["markup.underline.link", "string.other.link"], - SyntaxLinkUri => vec!["markup.underline.link", "string.other.link"], - SyntaxNumber => vec!["constant.numeric", "number"], - SyntaxOperator => vec!["operator", "keyword.operator"], - SyntaxPreproc => vec!["preproc"], - SyntaxProperty => vec![ + ZedSyntaxToken::LinkText => vec!["markup.underline.link", "string.other.link"], + ZedSyntaxToken::LinkUri => vec!["markup.underline.link", "string.other.link"], + ZedSyntaxToken::Number => vec!["constant.numeric", "number"], + ZedSyntaxToken::Operator => vec!["operator", "keyword.operator"], + ZedSyntaxToken::Preproc => vec!["preproc"], + ZedSyntaxToken::Property => vec![ "variable.member", "support.type.property-name", "variable.object.property", "variable.other.field", ], - SyntaxPunctuation => vec![ + ZedSyntaxToken::Punctuation => vec![ "punctuation", "punctuation.section", "punctuation.accessor", @@ -178,40 +176,46 @@ impl ZedSyntaxToken { "punctuation.terminator", "punctuation.definition.tag", ], - SyntaxPunctuationBracket => vec![ + ZedSyntaxToken::PunctuationBracket => vec![ "punctuation.bracket", "punctuation.definition.tag.begin", "punctuation.definition.tag.end", ], - SyntaxPunctuationDelimiter => vec![ + ZedSyntaxToken::PunctuationDelimiter => vec![ "punctuation.delimiter", "punctuation.separator", "punctuation.terminator", ], - SyntaxPunctuationListMarker => vec!["markup.list punctuation.definition.list.begin"], - SyntaxPunctuationSpecial => vec!["punctuation.special"], - SyntaxString => vec!["string"], - SyntaxStringEscape => vec!["string.escape", "constant.character", "constant.other"], - SyntaxStringRegex => vec!["string.regex"], - SyntaxStringSpecial => vec!["string.special", "constant.other.symbol"], - SyntaxStringSpecialSymbol => vec!["string.special.symbol", "constant.other.symbol"], - SyntaxTag => vec!["tag", "entity.name.tag", "meta.tag.sgml"], - SyntaxTextLiteral => vec!["text.literal", "string"], - SyntaxTitle => vec!["title", "entity.name"], - SyntaxType => vec!["entity.name.type", "support.type", "support.class"], - SyntaxVariable => vec![ + ZedSyntaxToken::PunctuationListMarker => { + vec!["markup.list punctuation.definition.list.begin"] + } + ZedSyntaxToken::PunctuationSpecial => vec!["punctuation.special"], + ZedSyntaxToken::String => vec!["string"], + ZedSyntaxToken::StringEscape => { + vec!["string.escape", "constant.character", "constant.other"] + } + ZedSyntaxToken::StringRegex => vec!["string.regex"], + ZedSyntaxToken::StringSpecial => vec!["string.special", "constant.other.symbol"], + ZedSyntaxToken::StringSpecialSymbol => { + vec!["string.special.symbol", "constant.other.symbol"] + } + ZedSyntaxToken::Tag => vec!["tag", "entity.name.tag", "meta.tag.sgml"], + ZedSyntaxToken::TextLiteral => vec!["text.literal", "string"], + ZedSyntaxToken::Title => vec!["title", "entity.name"], + ZedSyntaxToken::Type => vec!["entity.name.type", "support.type", "support.class"], + ZedSyntaxToken::Variable => vec![ "variable", "variable.language", "variable.member", "variable.parameter.function-call", ], - SyntaxVariableSpecial => vec![ + ZedSyntaxToken::VariableSpecial => vec![ "variable.special", "variable.member", "variable.annotation", "variable.language", ], - SyntaxVariant => vec!["variant"], + ZedSyntaxToken::Variant => vec!["variant"], _ => vec![], } } From fa223e0c6f5159c7acd422078f64f7897276aa20 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 15:36:13 -0500 Subject: [PATCH 023/110] Pull editor inlay hints from VS Code themes --- crates/theme2/src/themes/andromeda.rs | 2 ++ crates/theme2/src/themes/ayu.rs | 3 +++ crates/theme2/src/themes/dracula.rs | 1 + crates/theme2/src/themes/gruvbox.rs | 6 ++++++ crates/theme2/src/themes/night_owl.rs | 2 ++ crates/theme2/src/themes/noctis.rs | 11 +++++++++++ crates/theme2/src/themes/nord.rs | 1 + crates/theme2/src/themes/palenight.rs | 3 +++ crates/theme2/src/themes/rose_pine.rs | 3 +++ crates/theme2/src/themes/solarized.rs | 2 ++ crates/theme2/src/themes/synthwave_84.rs | 1 + crates/theme_importer/src/theme_printer.rs | 3 +++ crates/theme_importer/src/vscode/converter.rs | 12 +++++++++++- crates/theme_importer/src/vscode/theme.rs | 12 ++++++++++++ 14 files changed, 61 insertions(+), 1 deletion(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 2a3c67c4b5..16b2fa9632 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -58,6 +58,7 @@ pub fn andromeda() -> UserThemeFamily { deleted: Some(rgba(0xfc634cff).into()), error: Some(rgba(0xfc634cff).into()), hidden: Some(rgba(0x746f77ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -201,6 +202,7 @@ pub fn andromeda() -> UserThemeFamily { deleted: Some(rgba(0xfc634cff).into()), error: Some(rgba(0xfc634cff).into()), hidden: Some(rgba(0x746f77ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index e83abc97a5..8651ee2028 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -62,6 +62,7 @@ pub fn ayu() -> UserThemeFamily { deleted: Some(rgba(0xe65050ff).into()), error: Some(rgba(0xe65050ff).into()), hidden: Some(rgba(0x8a9199ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -324,6 +325,7 @@ pub fn ayu() -> UserThemeFamily { deleted: Some(rgba(0xff6565ff).into()), error: Some(rgba(0xff6565ff).into()), hidden: Some(rgba(0x707a8cff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -586,6 +588,7 @@ pub fn ayu() -> UserThemeFamily { deleted: Some(rgba(0xd95757ff).into()), error: Some(rgba(0xd95757ff).into()), hidden: Some(rgba(0x565b66ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 7ff1250e49..b5cf0e879f 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -62,6 +62,7 @@ pub fn dracula() -> UserThemeFamily { deleted: Some(rgba(0xff5555ff).into()), error: Some(rgba(0xff5555ff).into()), hidden: Some(rgba(0x6272a4ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffb76bff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index c538e7c840..16957b3597 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -61,6 +61,7 @@ pub fn gruvbox() -> UserThemeFamily { deleted: Some(rgba(0xfb4833ff).into()), error: Some(rgba(0xfb4833ff).into()), hidden: Some(rgba(0xa89984ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -251,6 +252,7 @@ pub fn gruvbox() -> UserThemeFamily { deleted: Some(rgba(0xfb4833ff).into()), error: Some(rgba(0xfb4833ff).into()), hidden: Some(rgba(0xa89984ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -441,6 +443,7 @@ pub fn gruvbox() -> UserThemeFamily { deleted: Some(rgba(0xfb4833ff).into()), error: Some(rgba(0xfb4833ff).into()), hidden: Some(rgba(0xa89984ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -631,6 +634,7 @@ pub fn gruvbox() -> UserThemeFamily { deleted: Some(rgba(0x9d0006ff).into()), error: Some(rgba(0x9d0006ff).into()), hidden: Some(rgba(0x7c6f64ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -821,6 +825,7 @@ pub fn gruvbox() -> UserThemeFamily { deleted: Some(rgba(0x9d0006ff).into()), error: Some(rgba(0x9d0006ff).into()), hidden: Some(rgba(0x7c6f64ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -1011,6 +1016,7 @@ pub fn gruvbox() -> UserThemeFamily { deleted: Some(rgba(0x9d0006ff).into()), error: Some(rgba(0x9d0006ff).into()), hidden: Some(rgba(0x7c6f64ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 8a737cd282..c84ea7ed09 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -62,6 +62,7 @@ pub fn night_owl() -> UserThemeFamily { deleted: Some(rgba(0xef524fff).into()), error: Some(rgba(0xef524fff).into()), hidden: Some(rgba(0x5f7e97ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -242,6 +243,7 @@ pub fn night_owl() -> UserThemeFamily { deleted: Some(rgba(0x403f53ff).into()), error: Some(rgba(0x403f53ff).into()), hidden: Some(rgba(0x403f53ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xdaa900ff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 442c86ad55..416907c305 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -63,6 +63,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0x9fb6c6ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -282,6 +283,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0xbbaab0ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -501,6 +503,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xff3f00ff).into()), error: Some(rgba(0xff3f00ff).into()), hidden: Some(rgba(0x70838dff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() }, @@ -720,6 +723,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xff3f00ff).into()), error: Some(rgba(0xff3f00ff).into()), hidden: Some(rgba(0x74708dff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() }, @@ -939,6 +943,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xff3f00ff).into()), error: Some(rgba(0xff3f00ff).into()), hidden: Some(rgba(0x878476ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() }, @@ -1158,6 +1163,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xb96245ff).into()), error: Some(rgba(0xb96245ff).into()), hidden: Some(rgba(0x96a8b6ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -1377,6 +1383,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0x87a7abff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa487ff).into()), ..Default::default() }, @@ -1596,6 +1603,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0x87a7abff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa487ff).into()), ..Default::default() }, @@ -1815,6 +1823,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0x87a7abff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa487ff).into()), ..Default::default() }, @@ -2034,6 +2043,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0xa9a5c0ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -2253,6 +2263,7 @@ pub fn noctis() -> UserThemeFamily { deleted: Some(rgba(0xe34d1bff).into()), error: Some(rgba(0xe34d1bff).into()), hidden: Some(rgba(0xb3a5c0ff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 093456b029..0c40275617 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -62,6 +62,7 @@ pub fn nord() -> UserThemeFamily { deleted: Some(rgba(0xbf616aff).into()), error: Some(rgba(0xbf616aff).into()), hidden: Some(rgba(0xd8dee966).into()), + hint: Some(rgba(0xd8dee9ff).into()), warning: Some(rgba(0xebcb8bff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 49428cd367..f0f8e4f170 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -62,6 +62,7 @@ pub fn palenight() -> UserThemeFamily { deleted: Some(rgba(0xef524fff).into()), error: Some(rgba(0xef524fff).into()), hidden: Some(rgba(0x9199c8ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -268,6 +269,7 @@ pub fn palenight() -> UserThemeFamily { deleted: Some(rgba(0xef524fff).into()), error: Some(rgba(0xef524fff).into()), hidden: Some(rgba(0x9199c8ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -474,6 +476,7 @@ pub fn palenight() -> UserThemeFamily { deleted: Some(rgba(0xef524fff).into()), error: Some(rgba(0xef524fff).into()), hidden: Some(rgba(0x9199c8ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 6898246d09..42f0b50524 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -62,6 +62,7 @@ pub fn rose_pine() -> UserThemeFamily { deleted: Some(rgba(0xeb6f92ff).into()), error: Some(rgba(0xeb6f92ff).into()), hidden: Some(rgba(0x908caaff).into()), + hint: Some(rgba(0x908caaff).into()), warning: Some(rgba(0xf5c177ff).into()), ..Default::default() }, @@ -228,6 +229,7 @@ pub fn rose_pine() -> UserThemeFamily { deleted: Some(rgba(0xeb6f92ff).into()), error: Some(rgba(0xeb6f92ff).into()), hidden: Some(rgba(0x908caaff).into()), + hint: Some(rgba(0x908caaff).into()), warning: Some(rgba(0xf5c177ff).into()), ..Default::default() }, @@ -394,6 +396,7 @@ pub fn rose_pine() -> UserThemeFamily { deleted: Some(rgba(0xb3627aff).into()), error: Some(rgba(0xb3627aff).into()), hidden: Some(rgba(0x797593ff).into()), + hint: Some(rgba(0x797593ff).into()), warning: Some(rgba(0xea9d34ff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 65411dbe20..87221b4a85 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -59,6 +59,7 @@ pub fn solarized() -> UserThemeFamily { deleted: Some(rgba(0xffeaeaff).into()), error: Some(rgba(0xffeaeaff).into()), hidden: Some(rgba(0x93a1a1ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -243,6 +244,7 @@ pub fn solarized() -> UserThemeFamily { }, status: StatusColorsRefinement { hidden: Some(rgba(0x586e75ff).into()), + hint: Some(rgba(0x969696ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 0751e9466d..fc006a7c5a 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -47,6 +47,7 @@ pub fn synthwave_84() -> UserThemeFamily { status: StatusColorsRefinement { deleted: Some(rgba(0xfe444fff).into()), error: Some(rgba(0xfe444fff).into()), + hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0x71f1b7bb).into()), ..Default::default() }, diff --git a/crates/theme_importer/src/theme_printer.rs b/crates/theme_importer/src/theme_printer.rs index 9664d843dc..dae98d313c 100644 --- a/crates/theme_importer/src/theme_printer.rs +++ b/crates/theme_importer/src/theme_printer.rs @@ -283,11 +283,14 @@ impl<'a> Debug for StatusColorsRefinementPrinter<'a> { ("deleted", self.0.deleted), ("error", self.0.error), ("hidden", self.0.hidden), + ("hint", self.0.hint), ("ignored", self.0.ignored), ("info", self.0.info), ("modified", self.0.modified), + ("predictive", self.0.predictive), ("renamed", self.0.renamed), ("success", self.0.success), + ("unreachable", self.0.unreachable), ("warning", self.0.warning), ]; diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 3a2c920f7b..83558b874a 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use gpui::{Hsla, Rgba}; +use gpui::{rgba, Hsla, Rgba}; use indexmap::IndexMap; use strum::IntoEnumIterator; use theme::{ @@ -66,6 +66,11 @@ impl VsCodeThemeConverter { fn convert_status_colors(&self) -> Result { let vscode_colors = &self.theme.colors; + let vscode_base_status_colors = StatusColorsRefinement { + hint: Some(rgba(0x969696ff).into()), + ..Default::default() + }; + Ok(StatusColorsRefinement { // conflict: None, // created: None, @@ -81,6 +86,11 @@ impl VsCodeThemeConverter { .tab_inactive_foreground .as_ref() .traverse(|color| try_parse_color(&color))?, + hint: vscode_colors + .editor_inlay_hint_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))? + .or(vscode_base_status_colors.hint), // ignored: None, // info: None, // modified: None, diff --git a/crates/theme_importer/src/vscode/theme.rs b/crates/theme_importer/src/vscode/theme.rs index 76e3c02b34..d2c1136d7b 100644 --- a/crates/theme_importer/src/vscode/theme.rs +++ b/crates/theme_importer/src/vscode/theme.rs @@ -163,6 +163,18 @@ pub struct VsCodeColors { pub editor_foreground: Option, #[serde(rename = "editor.background")] pub editor_background: Option, + #[serde(rename = "editorInlayHint.foreground")] + pub editor_inlay_hint_foreground: Option, + #[serde(rename = "editorInlayHint.background")] + pub editor_inlay_hint_background: Option, + #[serde(rename = "editorInlayHint.parameterForeground")] + pub editor_inlay_hint_parameter_foreground: Option, + #[serde(rename = "editorInlayHint.parameterBackground")] + pub editor_inlay_hint_parameter_background: Option, + #[serde(rename = "editorInlayHint.typForeground")] + pub editor_inlay_hint_typ_foreground: Option, + #[serde(rename = "editorInlayHint.typBackground")] + pub editor_inlay_hint_typ_background: Option, #[serde(rename = "editorLineNumber.foreground")] pub editor_line_number_foreground: Option, #[serde(rename = "editor.selectionBackground")] From 282e4398a0acda207e953b47dcf666bb1fe30c2c Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 13:09:18 -0800 Subject: [PATCH 024/110] In titlebar, render followers and allow following people --- crates/collab_ui2/src/collab_titlebar_item.rs | 480 +++++++++--------- crates/gpui2/src/window.rs | 6 + 2 files changed, 255 insertions(+), 231 deletions(-) diff --git a/crates/collab_ui2/src/collab_titlebar_item.rs b/crates/collab_ui2/src/collab_titlebar_item.rs index 7e5354c601..bc30766c66 100644 --- a/crates/collab_ui2/src/collab_titlebar_item.rs +++ b/crates/collab_ui2/src/collab_titlebar_item.rs @@ -1,41 +1,14 @@ -// use crate::{ -// face_pile::FacePile, toggle_deafen, toggle_mute, toggle_screen_sharing, LeaveCall, -// ToggleDeafen, ToggleMute, ToggleScreenSharing, -// }; -// use auto_update::AutoUpdateStatus; -// use call::{ActiveCall, ParticipantLocation, Room}; -// use client::{proto::PeerId, Client, SignIn, SignOut, User, UserStore}; -// use clock::ReplicaId; -// use context_menu::{ContextMenu, ContextMenuItem}; -// use gpui::{ -// actions, -// color::Color, -// elements::*, -// geometry::{rect::RectF, vector::vec2f, PathBuilder}, -// json::{self, ToJson}, -// platform::{CursorStyle, MouseButton}, -// AppContext, Entity, ImageData, ModelHandle, Subscription, View, ViewContext, ViewHandle, -// WeakViewHandle, -// }; -// use picker::PickerEvent; -// use project::{Project, RepositoryEntry}; -// use recent_projects::{build_recent_projects, RecentProjects}; -// use std::{ops::Range, sync::Arc}; -// use theme::{AvatarStyle, Theme}; -// use util::ResultExt; -// use vcs_menu::{build_branch_list, BranchList, OpenRecent as ToggleVcsMenu}; -// use workspace::{FollowNextCollaborator, Workspace, WORKSPACE_DB}; - -use std::sync::Arc; - -use call::ActiveCall; -use client::{Client, UserStore}; +use crate::face_pile::FacePile; +use call::{ActiveCall, Room}; +use client::{proto::PeerId, Client, ParticipantIndex, User, UserStore}; use gpui::{ - actions, div, px, rems, AppContext, Div, Element, InteractiveElement, IntoElement, Model, - MouseButton, ParentElement, Render, RenderOnce, Stateful, StatefulInteractiveElement, Styled, - Subscription, ViewContext, VisualContext, WeakView, WindowBounds, + actions, canvas, div, point, px, rems, AppContext, Div, Element, InteractiveElement, + IntoElement, Model, ParentElement, Path, Render, RenderOnce, Stateful, + StatefulInteractiveElement, Styled, Subscription, ViewContext, VisualContext, WeakView, + WindowBounds, }; use project::{Project, RepositoryEntry}; +use std::sync::Arc; use theme::ActiveTheme; use ui::{ h_stack, popover_menu, prelude::*, Avatar, Button, ButtonLike, ButtonStyle, ContextMenu, Icon, @@ -44,8 +17,6 @@ use ui::{ use util::ResultExt; use workspace::{notifications::NotifyResultExt, Workspace}; -use crate::face_pile::FacePile; - const MAX_PROJECT_NAME_LENGTH: usize = 40; const MAX_BRANCH_NAME_LENGTH: usize = 40; @@ -57,17 +28,6 @@ actions!( SwitchBranch ); -// actions!( -// collab, -// [ -// ToggleUserMenu, -// ToggleProjectMenu, -// SwitchBranch, -// ShareProject, -// UnshareProject, -// ] -// ); - pub fn init(cx: &mut AppContext) { cx.observe_new_views(|workspace: &mut Workspace, cx| { let titlebar_item = cx.build_view(|cx| CollabTitlebarItem::new(workspace, cx)); @@ -99,28 +59,11 @@ impl Render for CollabTitlebarItem { type Element = Stateful
; fn render(&mut self, cx: &mut ViewContext) -> Self::Element { - let room = ActiveCall::global(cx).read(cx).room(); - let is_in_room = room.is_some(); - let is_shared = is_in_room && self.project.read(cx).is_shared(); + let room = ActiveCall::global(cx).read(cx).room().cloned(); let current_user = self.user_store.read(cx).current_user(); let client = self.client.clone(); - let remote_participants = room.map(|room| { - room.read(cx) - .remote_participants() - .values() - .map(|participant| (participant.user.clone(), participant.peer_id)) - .collect::>() - }); - let is_muted = room.map_or(false, |room| room.read(cx).is_muted(cx)); - let is_deafened = room - .and_then(|room| room.read(cx).is_deafened()) - .unwrap_or(false); - let speakers_icon = if is_deafened { - ui::Icon::AudioOff - } else { - ui::Icon::AudioOn - }; - let workspace = self.workspace.clone(); + let project_id = self.project.read(cx).remote_id(); + h_stack() .id("titlebar") .justify_between() @@ -141,182 +84,224 @@ impl Render for CollabTitlebarItem { cx.zoom_window(); } }) + // left side .child( h_stack() .gap_1() - .when(is_in_room, |this| { - this.children(self.render_project_owner(cx)) - }) + .children(self.render_project_host(cx)) .child(self.render_project_name(cx)) - .children(self.render_project_branch(cx)), - ) - .when_some( - remote_participants.zip(current_user.clone()), - |this, (remote_participants, current_user)| { - let mut pile = FacePile::default(); - pile.extend( - current_user - .avatar - .clone() - .map(|avatar| { - div().child(Avatar::data(avatar.clone())).into_any_element() - }) - .into_iter() - .chain(remote_participants.into_iter().filter_map( - |(user, peer_id)| { - let avatar = user.avatar.as_ref()?; - Some( - div() - .child( - Avatar::data(avatar.clone()) - .into_element() - .into_any(), - ) - .on_mouse_down(MouseButton::Left, { - let workspace = workspace.clone(); - move |_, cx| { - workspace - .update(cx, |this, cx| { - this.open_shared_screen(peer_id, cx); - }) - .log_err(); - } - }) - .into_any_element(), + .children(self.render_project_branch(cx)) + .when_some( + current_user.clone().zip(room.clone()).zip(project_id), + |this, ((current_user, room), project_id)| { + let remote_participants = room + .read(cx) + .remote_participants() + .values() + .map(|participant| { + ( + participant.user.clone(), + participant.participant_index, + participant.peer_id, ) + }) + .collect::>(); + + this.children( + self.render_collaborator( + ¤t_user, + client.peer_id().expect("todo!()"), + &room, + project_id, + &remote_participants, + cx, + ) + .map(|pile| pile.render(cx)), + ) + .children( + remote_participants.iter().filter_map( + |(user, participant_index, peer_id)| { + let peer_id = *peer_id; + let face_pile = self + .render_collaborator( + user, + peer_id, + &room, + project_id, + &remote_participants, + cx, + )? + .render(cx); + Some( + v_stack() + .id(("collaborator", user.id)) + .child(face_pile) + .child(render_color_ribbon(*participant_index, cx)) + .cursor_pointer() + .on_click(cx.listener(move |this, _, cx| { + this.workspace + .update(cx, |workspace, cx| { + workspace.follow(peer_id, cx); + }) + .ok(); + })), + ) + }, + ), + ) + }, + ), + ) + // right side + .child( + h_stack() + .gap_1() + .when_some(room, |this, room| { + let room = room.read(cx); + let is_shared = self.project.read(cx).is_shared(); + let is_muted = room.is_muted(cx); + let is_deafened = room.is_deafened().unwrap_or(false); + + this.child( + Button::new( + "toggle_sharing", + if is_shared { "Unshare" } else { "Share" }, + ) + .style(ButtonStyle::Subtle) + .on_click(cx.listener( + move |this, _, cx| { + if is_shared { + this.unshare_project(&Default::default(), cx); + } else { + this.share_project(&Default::default(), cx); + } }, )), - ); - this.child(pile.render(cx)) - }, - ) - .child(div().flex_1()) - .when(is_in_room, |this| { - this.child( - h_stack() - .gap_1() - .child( - h_stack() - .gap_1() - .child( - Button::new( - "toggle_sharing", - if is_shared { "Unshare" } else { "Share" }, - ) - .style(ButtonStyle::Subtle) - .on_click(cx.listener( - move |this, _, cx| { - if is_shared { - this.unshare_project(&Default::default(), cx); - } else { - this.share_project(&Default::default(), cx); - } - }, - )), - ) - .child( - IconButton::new("leave-call", ui::Icon::Exit) - .style(ButtonStyle::Subtle) - .on_click(move |_, cx| { - ActiveCall::global(cx) - .update(cx, |call, cx| call.hang_up(cx)) - .detach_and_log_err(cx); - }), - ), ) .child( - h_stack() - .gap_1() - .child( - IconButton::new( - "mute-microphone", - if is_muted { - ui::Icon::MicMute - } else { - ui::Icon::Mic - }, - ) - .style(ButtonStyle::Subtle) - .selected(is_muted) - .on_click(move |_, cx| { - crate::toggle_mute(&Default::default(), cx) - }), - ) - .child( - IconButton::new("mute-sound", speakers_icon) - .style(ButtonStyle::Subtle) - .selected(is_deafened.clone()) - .tooltip(move |cx| { - Tooltip::with_meta( - "Deafen Audio", - None, - "Mic will be muted", - cx, - ) - }) - .on_click(move |_, cx| { - crate::toggle_mute(&Default::default(), cx) - }), - ) - .child( - IconButton::new("screen-share", ui::Icon::Screen) - .style(ButtonStyle::Subtle) - .on_click(move |_, cx| { - crate::toggle_screen_sharing(&Default::default(), cx) - }), - ) - .pl_2(), - ), - ) - }) - .child(h_stack().px_1p5().map(|this| { - if let Some(user) = current_user { - this.when_some(user.avatar.clone(), |this, avatar| { - // TODO: Finish implementing user menu popover - // - this.child( - popover_menu("user-menu") - .menu(|cx| ContextMenu::build(cx, |menu, _| menu.header("ADADA"))) - .trigger( - ButtonLike::new("user-menu") - .child( - h_stack().gap_0p5().child(Avatar::data(avatar)).child( - IconElement::new(Icon::ChevronDown) - .color(Color::Muted), - ), - ) - .style(ButtonStyle::Subtle) - .tooltip(move |cx| Tooltip::text("Toggle User Menu", cx)), - ) - .anchor(gpui::AnchorCorner::TopRight), + IconButton::new("leave-call", ui::Icon::Exit) + .style(ButtonStyle::Subtle) + .on_click(move |_, cx| { + ActiveCall::global(cx) + .update(cx, |call, cx| call.hang_up(cx)) + .detach_and_log_err(cx); + }), + ) + .child( + IconButton::new( + "mute-microphone", + if is_muted { + ui::Icon::MicMute + } else { + ui::Icon::Mic + }, + ) + .style(ButtonStyle::Subtle) + .selected(is_muted) + .on_click(move |_, cx| crate::toggle_mute(&Default::default(), cx)), + ) + .child( + IconButton::new( + "mute-sound", + if is_deafened { + ui::Icon::AudioOff + } else { + ui::Icon::AudioOn + }, + ) + .style(ButtonStyle::Subtle) + .selected(is_deafened.clone()) + .tooltip(move |cx| { + Tooltip::with_meta("Deafen Audio", None, "Mic will be muted", cx) + }) + .on_click(move |_, cx| crate::toggle_mute(&Default::default(), cx)), + ) + .child( + IconButton::new("screen-share", ui::Icon::Screen) + .style(ButtonStyle::Subtle) + .on_click(move |_, cx| { + crate::toggle_screen_sharing(&Default::default(), cx) + }), ) - // this.child( - // ButtonLike::new("user-menu") - // .child( - // h_stack().gap_0p5().child(Avatar::data(avatar)).child( - // IconElement::new(Icon::ChevronDown).color(Color::Muted), - // ), - // ) - // .style(ButtonStyle::Subtle) - // .tooltip(move |cx| Tooltip::text("Toggle User Menu", cx)), - // ) }) - } else { - this.child(Button::new("sign_in", "Sign in").on_click(move |_, cx| { - let client = client.clone(); - cx.spawn(move |mut cx| async move { - client - .authenticate_and_connect(true, &cx) - .await - .notify_async_err(&mut cx); - }) - .detach(); - })) - } - })) + .child(h_stack().px_1p5().map(|this| { + if let Some(user) = current_user { + this.when_some(user.avatar.clone(), |this, avatar| { + // TODO: Finish implementing user menu popover + // + this.child( + popover_menu("user-menu") + .menu(|cx| { + ContextMenu::build(cx, |menu, _| menu.header("ADADA")) + }) + .trigger( + ButtonLike::new("user-menu") + .child( + h_stack() + .gap_0p5() + .child(Avatar::data(avatar)) + .child( + IconElement::new(Icon::ChevronDown) + .color(Color::Muted), + ), + ) + .style(ButtonStyle::Subtle) + .tooltip(move |cx| { + Tooltip::text("Toggle User Menu", cx) + }), + ) + .anchor(gpui::AnchorCorner::TopRight), + ) + // this.child( + // ButtonLike::new("user-menu") + // .child( + // h_stack().gap_0p5().child(Avatar::data(avatar)).child( + // IconElement::new(Icon::ChevronDown).color(Color::Muted), + // ), + // ) + // .style(ButtonStyle::Subtle) + // .tooltip(move |cx| Tooltip::text("Toggle User Menu", cx)), + // ) + }) + } else { + this.child(Button::new("sign_in", "Sign in").on_click(move |_, cx| { + let client = client.clone(); + cx.spawn(move |mut cx| async move { + client + .authenticate_and_connect(true, &cx) + .await + .notify_async_err(&mut cx); + }) + .detach(); + })) + } + })), + ) } } +fn render_color_ribbon( + participant_index: ParticipantIndex, + cx: &mut WindowContext, +) -> gpui::Canvas { + let color = cx + .theme() + .players() + .color_for_participant(participant_index.0) + .cursor; + canvas(move |bounds, cx| { + let mut path = Path::new(bounds.lower_left()); + let height = bounds.size.height; + path.curve_to(bounds.origin + point(height, px(0.)), bounds.origin); + path.line_to(bounds.upper_right() - point(height, px(0.))); + path.curve_to(bounds.lower_right(), bounds.upper_right()); + path.line_to(bounds.lower_left()); + cx.paint_path(path, color); + }) + .h_1() + .w_full() +} + // impl Entity for CollabTitlebarItem { // type Event = (); // } @@ -435,7 +420,7 @@ impl CollabTitlebarItem { // resolve if you are in a room -> render_project_owner // render_project_owner -> resolve if you are in a room -> Option - pub fn render_project_owner(&self, cx: &mut ViewContext) -> Option { + pub fn render_project_host(&self, cx: &mut ViewContext) -> Option { let host = self.project.read(cx).host()?; let host = self.user_store.read(cx).get_cached_user(host.user_id)?; let participant_index = self @@ -509,6 +494,39 @@ impl CollabTitlebarItem { ) } + fn render_collaborator( + &self, + user: &Arc, + peer_id: PeerId, + room: &Model, + project_id: u64, + collaborators: &[(Arc, ParticipantIndex, PeerId)], + cx: &mut WindowContext, + ) -> Option { + let room = room.read(cx); + let followers = room.followers_for(peer_id, project_id); + + let mut pile = FacePile::default(); + pile.extend( + user.avatar + .clone() + .map(|avatar| div().child(Avatar::data(avatar.clone())).into_any_element()) + .into_iter() + .chain(followers.iter().filter_map(|follower_peer_id| { + let follower = collaborators + .iter() + .find(|(_, _, peer_id)| *peer_id == *follower_peer_id)? + .0 + .clone(); + follower + .avatar + .clone() + .map(|avatar| div().child(Avatar::data(avatar.clone())).into_any_element()) + })), + ); + Some(pile) + } + // fn collect_title_root_names( // &self, // theme: Arc, diff --git a/crates/gpui2/src/window.rs b/crates/gpui2/src/window.rs index cab41067ce..f98d9820c2 100644 --- a/crates/gpui2/src/window.rs +++ b/crates/gpui2/src/window.rs @@ -2839,3 +2839,9 @@ impl From<(&'static str, usize)> for ElementId { ElementId::NamedInteger(name.into(), id) } } + +impl From<(&'static str, u64)> for ElementId { + fn from((name, id): (&'static str, u64)) -> Self { + ElementId::NamedInteger(name.into(), id as usize) + } +} From 04d019ef66d5d39be35440de3ff5a37572a543f7 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 13:17:22 -0800 Subject: [PATCH 025/110] Remove comments --- crates/collab_ui2/src/collab_titlebar_item.rs | 576 ------------------ crates/collab_ui2/src/face_pile.rs | 52 -- 2 files changed, 628 deletions(-) diff --git a/crates/collab_ui2/src/collab_titlebar_item.rs b/crates/collab_ui2/src/collab_titlebar_item.rs index bc30766c66..c5872e660d 100644 --- a/crates/collab_ui2/src/collab_titlebar_item.rs +++ b/crates/collab_ui2/src/collab_titlebar_item.rs @@ -302,87 +302,6 @@ fn render_color_ribbon( .w_full() } -// impl Entity for CollabTitlebarItem { -// type Event = (); -// } - -// impl View for CollabTitlebarItem { -// fn ui_name() -> &'static str { -// "CollabTitlebarItem" -// } - -// fn render(&mut self, cx: &mut ViewContext) -> AnyElement { -// let workspace = if let Some(workspace) = self.workspace.upgrade(cx) { -// workspace -// } else { -// return Empty::new().into_any(); -// }; - -// let theme = theme::current(cx).clone(); -// let mut left_container = Flex::row(); -// let mut right_container = Flex::row().align_children_center(); - -// left_container.add_child(self.collect_title_root_names(theme.clone(), cx)); - -// let user = self.user_store.read(cx).current_user(); -// let peer_id = self.client.peer_id(); -// if let Some(((user, peer_id), room)) = user -// .as_ref() -// .zip(peer_id) -// .zip(ActiveCall::global(cx).read(cx).room().cloned()) -// { -// if room.read(cx).can_publish() { -// right_container -// .add_children(self.render_in_call_share_unshare_button(&workspace, &theme, cx)); -// } -// right_container.add_child(self.render_leave_call(&theme, cx)); -// let muted = room.read(cx).is_muted(cx); -// let speaking = room.read(cx).is_speaking(); -// left_container.add_child( -// self.render_current_user(&workspace, &theme, &user, peer_id, muted, speaking, cx), -// ); -// left_container.add_children(self.render_collaborators(&workspace, &theme, &room, cx)); -// if room.read(cx).can_publish() { -// right_container.add_child(self.render_toggle_mute(&theme, &room, cx)); -// } -// right_container.add_child(self.render_toggle_deafen(&theme, &room, cx)); -// if room.read(cx).can_publish() { -// right_container -// .add_child(self.render_toggle_screen_sharing_button(&theme, &room, cx)); -// } -// } - -// let status = workspace.read(cx).client().status(); -// let status = &*status.borrow(); -// if matches!(status, client::Status::Connected { .. }) { -// let avatar = user.as_ref().and_then(|user| user.avatar.clone()); -// right_container.add_child(self.render_user_menu_button(&theme, avatar, cx)); -// } else { -// right_container.add_children(self.render_connection_status(status, cx)); -// right_container.add_child(self.render_sign_in_button(&theme, cx)); -// right_container.add_child(self.render_user_menu_button(&theme, None, cx)); -// } - -// Stack::new() -// .with_child(left_container) -// .with_child( -// Flex::row() -// .with_child( -// right_container.contained().with_background_color( -// theme -// .titlebar -// .container -// .background_color -// .unwrap_or_else(|| Color::transparent_black()), -// ), -// ) -// .aligned() -// .right(), -// ) -// .into_any() -// } -// } - impl CollabTitlebarItem { pub fn new(workspace: &Workspace, cx: &mut ViewContext) -> Self { let project = workspace.project().clone(); @@ -527,170 +446,6 @@ impl CollabTitlebarItem { Some(pile) } - // fn collect_title_root_names( - // &self, - // theme: Arc, - // cx: &mut ViewContext, - // ) -> AnyElement { - // let project = self.project.read(cx); - - // let (name, entry) = { - // let mut names_and_branches = project.visible_worktrees(cx).map(|worktree| { - // let worktree = worktree.read(cx); - // (worktree.root_name(), worktree.root_git_entry()) - // }); - - // names_and_branches.next().unwrap_or(("", None)) - // }; - - // let name = util::truncate_and_trailoff(name, MAX_PROJECT_NAME_LENGTH); - // let branch_prepended = entry - // .as_ref() - // .and_then(RepositoryEntry::branch) - // .map(|branch| util::truncate_and_trailoff(&branch, MAX_BRANCH_NAME_LENGTH)); - // let project_style = theme.titlebar.project_menu_button.clone(); - // let git_style = theme.titlebar.git_menu_button.clone(); - // let item_spacing = theme.titlebar.item_spacing; - - // let mut ret = Flex::row(); - - // if let Some(project_host) = self.collect_project_host(theme.clone(), cx) { - // ret = ret.with_child(project_host) - // } - - // ret = ret.with_child( - // Stack::new() - // .with_child( - // MouseEventHandler::new::(0, cx, |mouse_state, cx| { - // let style = project_style - // .in_state(self.project_popover.is_some()) - // .style_for(mouse_state); - // enum RecentProjectsTooltip {} - // Label::new(name, style.text.clone()) - // .contained() - // .with_style(style.container) - // .aligned() - // .left() - // .with_tooltip::( - // 0, - // "Recent projects", - // Some(Box::new(recent_projects::OpenRecent)), - // theme.tooltip.clone(), - // cx, - // ) - // .into_any_named("title-project-name") - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_down(MouseButton::Left, move |_, this, cx| { - // this.toggle_project_menu(&Default::default(), cx) - // }) - // .on_click(MouseButton::Left, move |_, _, _| {}), - // ) - // .with_children(self.render_project_popover_host(&theme.titlebar, cx)), - // ); - // if let Some(git_branch) = branch_prepended { - // ret = ret.with_child( - // Flex::row().with_child( - // Stack::new() - // .with_child( - // MouseEventHandler::new::(0, cx, |mouse_state, cx| { - // enum BranchPopoverTooltip {} - // let style = git_style - // .in_state(self.branch_popover.is_some()) - // .style_for(mouse_state); - // Label::new(git_branch, style.text.clone()) - // .contained() - // .with_style(style.container.clone()) - // .with_margin_right(item_spacing) - // .aligned() - // .left() - // .with_tooltip::( - // 0, - // "Recent branches", - // Some(Box::new(ToggleVcsMenu)), - // theme.tooltip.clone(), - // cx, - // ) - // .into_any_named("title-project-branch") - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_down(MouseButton::Left, move |_, this, cx| { - // this.toggle_vcs_menu(&Default::default(), cx) - // }) - // .on_click(MouseButton::Left, move |_, _, _| {}), - // ) - // .with_children(self.render_branches_popover_host(&theme.titlebar, cx)), - // ), - // ) - // } - // ret.into_any() - // } - - // fn collect_project_host( - // &self, - // theme: Arc, - // cx: &mut ViewContext, - // ) -> Option> { - // if ActiveCall::global(cx).read(cx).room().is_none() { - // return None; - // } - // let project = self.project.read(cx); - // let user_store = self.user_store.read(cx); - - // if project.is_local() { - // return None; - // } - - // let Some(host) = project.host() else { - // return None; - // }; - // let (Some(host_user), Some(participant_index)) = ( - // user_store.get_cached_user(host.user_id), - // user_store.participant_indices().get(&host.user_id), - // ) else { - // return None; - // }; - - // enum ProjectHost {} - // enum ProjectHostTooltip {} - - // let host_style = theme.titlebar.project_host.clone(); - // let selection_style = theme - // .editor - // .selection_style_for_room_participant(participant_index.0); - // let peer_id = host.peer_id.clone(); - - // Some( - // MouseEventHandler::new::(0, cx, |mouse_state, _| { - // let mut host_style = host_style.style_for(mouse_state).clone(); - // host_style.text.color = selection_style.cursor; - // Label::new(host_user.github_login.clone(), host_style.text) - // .contained() - // .with_style(host_style.container) - // .aligned() - // .left() - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, this, cx| { - // if let Some(workspace) = this.workspace.upgrade(cx) { - // if let Some(task) = - // workspace.update(cx, |workspace, cx| workspace.follow(peer_id, cx)) - // { - // task.detach_and_log_err(cx); - // } - // } - // }) - // .with_tooltip::( - // 0, - // host_user.github_login.clone() + " is sharing this project. Click to follow.", - // None, - // theme.tooltip.clone(), - // cx, - // ) - // .into_any_named("project-host"), - // ) - // } - fn window_activation_changed(&mut self, cx: &mut ViewContext) { let project = if cx.is_window_active() { Some(self.project.clone()) @@ -886,245 +641,6 @@ impl CollabTitlebarItem { // cx.notify(); // } - // fn render_toggle_screen_sharing_button( - // &self, - // theme: &Theme, - // room: &ModelHandle, - // cx: &mut ViewContext, - // ) -> AnyElement { - // let icon; - // let tooltip; - // if room.read(cx).is_screen_sharing() { - // icon = "icons/desktop.svg"; - // tooltip = "Stop Sharing Screen" - // } else { - // icon = "icons/desktop.svg"; - // tooltip = "Share Screen"; - // } - - // let active = room.read(cx).is_screen_sharing(); - // let titlebar = &theme.titlebar; - // MouseEventHandler::new::(0, cx, |state, _| { - // let style = titlebar - // .screen_share_button - // .in_state(active) - // .style_for(state); - - // Svg::new(icon) - // .with_color(style.color) - // .constrained() - // .with_width(style.icon_width) - // .aligned() - // .constrained() - // .with_width(style.button_width) - // .with_height(style.button_width) - // .contained() - // .with_style(style.container) - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, _, cx| { - // toggle_screen_sharing(&Default::default(), cx) - // }) - // .with_tooltip::( - // 0, - // tooltip, - // Some(Box::new(ToggleScreenSharing)), - // theme.tooltip.clone(), - // cx, - // ) - // .aligned() - // .into_any() - // } - // fn render_toggle_mute( - // &self, - // theme: &Theme, - // room: &ModelHandle, - // cx: &mut ViewContext, - // ) -> AnyElement { - // let icon; - // let tooltip; - // let is_muted = room.read(cx).is_muted(cx); - // if is_muted { - // icon = "icons/mic-mute.svg"; - // tooltip = "Unmute microphone"; - // } else { - // icon = "icons/mic.svg"; - // tooltip = "Mute microphone"; - // } - - // let titlebar = &theme.titlebar; - // MouseEventHandler::new::(0, cx, |state, _| { - // let style = titlebar - // .toggle_microphone_button - // .in_state(is_muted) - // .style_for(state); - // let image = Svg::new(icon) - // .with_color(style.color) - // .constrained() - // .with_width(style.icon_width) - // .aligned() - // .constrained() - // .with_width(style.button_width) - // .with_height(style.button_width) - // .contained() - // .with_style(style.container); - // if let Some(color) = style.container.background_color { - // image.with_background_color(color) - // } else { - // image - // } - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, _, cx| { - // toggle_mute(&Default::default(), cx) - // }) - // .with_tooltip::( - // 0, - // tooltip, - // Some(Box::new(ToggleMute)), - // theme.tooltip.clone(), - // cx, - // ) - // .aligned() - // .into_any() - // } - // fn render_toggle_deafen( - // &self, - // theme: &Theme, - // room: &ModelHandle, - // cx: &mut ViewContext, - // ) -> AnyElement { - // let icon; - // let tooltip; - // let is_deafened = room.read(cx).is_deafened().unwrap_or(false); - // if is_deafened { - // icon = "icons/speaker-off.svg"; - // tooltip = "Unmute speakers"; - // } else { - // icon = "icons/speaker-loud.svg"; - // tooltip = "Mute speakers"; - // } - - // let titlebar = &theme.titlebar; - // MouseEventHandler::new::(0, cx, |state, _| { - // let style = titlebar - // .toggle_speakers_button - // .in_state(is_deafened) - // .style_for(state); - // Svg::new(icon) - // .with_color(style.color) - // .constrained() - // .with_width(style.icon_width) - // .aligned() - // .constrained() - // .with_width(style.button_width) - // .with_height(style.button_width) - // .contained() - // .with_style(style.container) - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, _, cx| { - // toggle_deafen(&Default::default(), cx) - // }) - // .with_tooltip::( - // 0, - // tooltip, - // Some(Box::new(ToggleDeafen)), - // theme.tooltip.clone(), - // cx, - // ) - // .aligned() - // .into_any() - // } - // fn render_leave_call(&self, theme: &Theme, cx: &mut ViewContext) -> AnyElement { - // let icon = "icons/exit.svg"; - // let tooltip = "Leave call"; - - // let titlebar = &theme.titlebar; - // MouseEventHandler::new::(0, cx, |state, _| { - // let style = titlebar.leave_call_button.style_for(state); - // Svg::new(icon) - // .with_color(style.color) - // .constrained() - // .with_width(style.icon_width) - // .aligned() - // .constrained() - // .with_width(style.button_width) - // .with_height(style.button_width) - // .contained() - // .with_style(style.container) - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, _, cx| { - // ActiveCall::global(cx) - // .update(cx, |call, cx| call.hang_up(cx)) - // .detach_and_log_err(cx); - // }) - // .with_tooltip::( - // 0, - // tooltip, - // Some(Box::new(LeaveCall)), - // theme.tooltip.clone(), - // cx, - // ) - // .aligned() - // .into_any() - // } - // fn render_in_call_share_unshare_button( - // &self, - // workspace: &ViewHandle, - // theme: &Theme, - // cx: &mut ViewContext, - // ) -> Option> { - // let project = workspace.read(cx).project(); - // if project.read(cx).is_remote() { - // return None; - // } - - // let is_shared = project.read(cx).is_shared(); - // let label = if is_shared { "Stop Sharing" } else { "Share" }; - // let tooltip = if is_shared { - // "Stop sharing project with call participants" - // } else { - // "Share project with call participants" - // }; - - // let titlebar = &theme.titlebar; - - // enum ShareUnshare {} - // Some( - // Stack::new() - // .with_child( - // MouseEventHandler::new::(0, cx, |state, _| { - // //TODO: Ensure this button has consistent width for both text variations - // let style = titlebar.share_button.inactive_state().style_for(state); - // Label::new(label, style.text.clone()) - // .contained() - // .with_style(style.container) - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, this, cx| { - // if is_shared { - // this.unshare_project(&Default::default(), cx); - // } else { - // this.share_project(&Default::default(), cx); - // } - // }) - // .with_tooltip::( - // 0, - // tooltip.to_owned(), - // None, - // theme.tooltip.clone(), - // cx, - // ), - // ) - // .aligned() - // .contained() - // .with_margin_left(theme.titlebar.item_spacing) - // .into_any(), - // ) - // } - // fn render_user_menu_button( // &self, // theme: &Theme, @@ -1476,25 +992,6 @@ impl CollabTitlebarItem { // style // } - // fn render_face( - // avatar: Arc, - // avatar_style: AvatarStyle, - // background_color: Color, - // microphone_state: Option, - // ) -> AnyElement { - // Image::from_data(avatar) - // .with_style(avatar_style.image) - // .aligned() - // .contained() - // .with_background_color(microphone_state.unwrap_or(background_color)) - // .with_corner_radius(avatar_style.outer_corner_radius) - // .constrained() - // .with_width(avatar_style.outer_width) - // .with_height(avatar_style.outer_width) - // .aligned() - // .into_any() - // } - // fn render_connection_status( // &self, // status: &client::Status, @@ -1554,76 +1051,3 @@ impl CollabTitlebarItem { // } // } } - -// pub struct AvatarRibbon { -// color: Color, -// } - -// impl AvatarRibbon { -// pub fn new(color: Color) -> AvatarRibbon { -// AvatarRibbon { color } -// } -// } - -// impl Element for AvatarRibbon { -// type LayoutState = (); - -// type PaintState = (); - -// fn layout( -// &mut self, -// constraint: gpui::SizeConstraint, -// _: &mut CollabTitlebarItem, -// _: &mut ViewContext, -// ) -> (gpui::geometry::vector::Vector2F, Self::LayoutState) { -// (constraint.max, ()) -// } - -// fn paint( -// &mut self, -// bounds: RectF, -// _: RectF, -// _: &mut Self::LayoutState, -// _: &mut CollabTitlebarItem, -// cx: &mut ViewContext, -// ) -> Self::PaintState { -// let mut path = PathBuilder::new(); -// path.reset(bounds.lower_left()); -// path.curve_to( -// bounds.origin() + vec2f(bounds.height(), 0.), -// bounds.origin(), -// ); -// path.line_to(bounds.upper_right() - vec2f(bounds.height(), 0.)); -// path.curve_to(bounds.lower_right(), bounds.upper_right()); -// path.line_to(bounds.lower_left()); -// cx.scene().push_path(path.build(self.color, None)); -// } - -// fn rect_for_text_range( -// &self, -// _: Range, -// _: RectF, -// _: RectF, -// _: &Self::LayoutState, -// _: &Self::PaintState, -// _: &CollabTitlebarItem, -// _: &ViewContext, -// ) -> Option { -// None -// } - -// fn debug( -// &self, -// bounds: RectF, -// _: &Self::LayoutState, -// _: &Self::PaintState, -// _: &CollabTitlebarItem, -// _: &ViewContext, -// ) -> gpui::json::Value { -// json::json!({ -// "type": "AvatarRibbon", -// "bounds": bounds.to_json(), -// "color": self.color.to_json(), -// }) -// } -// } diff --git a/crates/collab_ui2/src/face_pile.rs b/crates/collab_ui2/src/face_pile.rs index 162a3f261a..b7422d2b22 100644 --- a/crates/collab_ui2/src/face_pile.rs +++ b/crates/collab_ui2/src/face_pile.rs @@ -21,58 +21,6 @@ impl RenderOnce for FacePile { } } -// impl Element for FacePile { -// type State = (); -// fn layout( -// &mut self, -// state: Option, -// cx: &mut WindowContext, -// ) -> (LayoutId, Self::State) { -// let mut width = 0.; -// let mut max_height = 0.; -// let mut faces = Vec::with_capacity(self.faces.len()); -// for face in &mut self.faces { -// let layout = face.layout(cx); -// width += layout.x(); -// max_height = f32::max(max_height, layout.y()); -// faces.push(layout); -// } -// width -= self.overlap * self.faces.len().saturating_sub(1) as f32; -// (cx.request_layout(&Style::default(), faces), ()) -// // ( -// // Vector2F::new(width, max_height.clamp(1., constraint.max.y())), -// // (), -// // )) -// } - -// fn paint( -// &mut self, -// bounds: RectF, -// visible_bounds: RectF, -// _layout: &mut Self::LayoutState, -// view: &mut V, -// cx: &mut ViewContext, -// ) -> Self::PaintState { -// let visible_bounds = bounds.intersection(visible_bounds).unwrap_or_default(); - -// let origin_y = bounds.upper_right().y(); -// let mut origin_x = bounds.upper_right().x(); - -// for face in self.faces.iter_mut().rev() { -// let size = face.size(); -// origin_x -= size.x(); -// let origin_y = origin_y + (bounds.height() - size.y()) / 2.0; - -// cx.scene().push_layer(None); -// face.paint(vec2f(origin_x, origin_y), visible_bounds, view, cx); -// cx.scene().pop_layer(); -// origin_x += self.overlap; -// } - -// () -// } -// } - impl Extend for FacePile { fn extend>(&mut self, children: T) { self.faces.extend(children); From f3cbce7e862a620329b27f8b09d374bea18a7edd Mon Sep 17 00:00:00 2001 From: Julia Date: Thu, 7 Dec 2023 17:10:54 -0500 Subject: [PATCH 026/110] zed2: Port ProjectSharedNotification --- crates/collab_ui2/src/notifications.rs | 4 +- .../incoming_call_notification.rs | 164 +++------------- .../project_shared_notification.rs | 185 +++++++----------- 3 files changed, 97 insertions(+), 256 deletions(-) diff --git a/crates/collab_ui2/src/notifications.rs b/crates/collab_ui2/src/notifications.rs index b58473476a..5c184ec5c8 100644 --- a/crates/collab_ui2/src/notifications.rs +++ b/crates/collab_ui2/src/notifications.rs @@ -3,9 +3,9 @@ use std::sync::Arc; use workspace::AppState; pub mod incoming_call_notification; -// pub mod project_shared_notification; +pub mod project_shared_notification; pub fn init(app_state: &Arc, cx: &mut AppContext) { incoming_call_notification::init(app_state, cx); - //project_shared_notification::init(app_state, cx); + project_shared_notification::init(app_state, cx); } diff --git a/crates/collab_ui2/src/notifications/incoming_call_notification.rs b/crates/collab_ui2/src/notifications/incoming_call_notification.rs index ce6c8f0f57..b277e6fe94 100644 --- a/crates/collab_ui2/src/notifications/incoming_call_notification.rs +++ b/crates/collab_ui2/src/notifications/incoming_call_notification.rs @@ -33,8 +33,8 @@ pub fn init(app_state: &Arc, cx: &mut AppContext) { height: px(64.), }; - for window in unique_screens { - let options = notification_window_options(window, window_size); + for screen in unique_screens { + let options = notification_window_options(screen, window_size); let window = cx .open_window(options, |cx| { cx.build_view(|_| { @@ -47,15 +47,6 @@ pub fn init(app_state: &Arc, cx: &mut AppContext) { .unwrap(); notification_windows.push(window); } - - // for screen in cx.platform().screens() { - // let window = cx - // .add_window(notification_window_options(screen, window_size), |_| { - // IncomingCallNotification::new(incoming_call.clone(), app_state.clone()) - // }); - - // notification_windows.push(window); - // } } } }) @@ -84,21 +75,22 @@ impl IncomingCallNotificationState { let active_call = ActiveCall::global(cx); if accept { let join = active_call.update(cx, |active_call, cx| active_call.accept_incoming(cx)); + let caller_user_id = self.call.calling_user.id; let initial_project_id = self.call.initial_project.as_ref().map(|project| project.id); let app_state = self.app_state.clone(); let cx: &mut AppContext = cx; cx.spawn(|cx| async move { join.await?; - if let Some(_project_id) = initial_project_id { - cx.update(|_cx| { - if let Some(_app_state) = app_state.upgrade() { - // workspace::join_remote_project( - // project_id, - // caller_user_id, - // app_state, - // cx, - // ) - // .detach_and_log_err(cx); + if let Some(project_id) = initial_project_id { + cx.update(|cx| { + if let Some(app_state) = app_state.upgrade() { + workspace::join_remote_project( + project_id, + caller_user_id, + app_state, + cx, + ) + .detach_and_log_err(cx); } }) .log_err(); @@ -138,135 +130,25 @@ impl IncomingCallNotification { ))) .child(self.render_buttons(cx)), ) - // let theme = &theme::current(cx).incoming_call_notification; - // let default_project = proto::ParticipantProject::default(); - // let initial_project = self - // .call - // .initial_project - // .as_ref() - // .unwrap_or(&default_project); - // Flex::row() - // .with_children(self.call.calling_user.avatar.clone().map(|avatar| { - // Image::from_data(avatar) - // .with_style(theme.caller_avatar) - // .aligned() - // })) - // .with_child( - // Flex::column() - // .with_child( - // Label::new( - // self.call.calling_user.github_login.clone(), - // theme.caller_username.text.clone(), - // ) - // .contained() - // .with_style(theme.caller_username.container), - // ) - // .with_child( - // Label::new( - // format!( - // "is sharing a project in Zed{}", - // if initial_project.worktree_root_names.is_empty() { - // "" - // } else { - // ":" - // } - // ), - // theme.caller_message.text.clone(), - // ) - // .contained() - // .with_style(theme.caller_message.container), - // ) - // .with_children(if initial_project.worktree_root_names.is_empty() { - // None - // } else { - // Some( - // Label::new( - // initial_project.worktree_root_names.join(", "), - // theme.worktree_roots.text.clone(), - // ) - // .contained() - // .with_style(theme.worktree_roots.container), - // ) - // }) - // .contained() - // .with_style(theme.caller_metadata) - // .aligned(), - // ) - // .contained() - // .with_style(theme.caller_container) - // .flex(1., true) - // .into_any() } fn render_buttons(&self, cx: &mut ViewContext) -> impl Element { h_stack() - .child( - Button::new("accept", "Accept") - .render(cx) - // .bg(green()) - .on_click({ - let state = self.state.clone(); - move |_, cx| state.respond(true, cx) - }), - ) - .child( - Button::new("decline", "Decline") - .render(cx) - // .bg(red()) - .on_click({ - let state = self.state.clone(); - move |_, cx| state.respond(false, cx) - }), - ) - - // enum Accept {} - // enum Decline {} - - // let theme = theme::current(cx); - // Flex::column() - // .with_child( - // MouseEventHandler::new::(0, cx, |_, _| { - // let theme = &theme.incoming_call_notification; - // Label::new("Accept", theme.accept_button.text.clone()) - // .aligned() - // .contained() - // .with_style(theme.accept_button.container) - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, |_, this, cx| { - // this.respond(true, cx); - // }) - // .flex(1., true), - // ) - // .with_child( - // MouseEventHandler::new::(0, cx, |_, _| { - // let theme = &theme.incoming_call_notification; - // Label::new("Decline", theme.decline_button.text.clone()) - // .aligned() - // .contained() - // .with_style(theme.decline_button.container) - // }) - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, |_, this, cx| { - // this.respond(false, cx); - // }) - // .flex(1., true), - // ) - // .constrained() - // .with_width(theme.incoming_call_notification.button_width) - // .into_any() + .child(Button::new("accept", "Accept").render(cx).on_click({ + let state = self.state.clone(); + move |_, cx| state.respond(true, cx) + })) + .child(Button::new("decline", "Decline").render(cx).on_click({ + let state = self.state.clone(); + move |_, cx| state.respond(false, cx) + })) } } + impl Render for IncomingCallNotification { type Element = Div; + fn render(&mut self, cx: &mut ViewContext) -> Self::Element { div().bg(red()).flex_none().child(self.render_caller(cx)) - // Flex::row() - // .with_child() - // .with_child(self.render_buttons(cx)) - // .contained() - // .with_background_color(background) - // .expanded() - // .into_any() } } diff --git a/crates/collab_ui2/src/notifications/project_shared_notification.rs b/crates/collab_ui2/src/notifications/project_shared_notification.rs index 28ccee768b..c7e667e284 100644 --- a/crates/collab_ui2/src/notifications/project_shared_notification.rs +++ b/crates/collab_ui2/src/notifications/project_shared_notification.rs @@ -3,12 +3,11 @@ use call::{room, ActiveCall}; use client::User; use collections::HashMap; use gpui::{ - elements::*, - geometry::vector::vec2f, - platform::{CursorStyle, MouseButton}, - AppContext, Entity, View, ViewContext, + px, AppContext, Div, Element, ParentElement, Render, RenderOnce, Size, Styled, ViewContext, + VisualContext, }; use std::sync::{Arc, Weak}; +use ui::{h_stack, v_stack, Avatar, Button, Clickable, Label}; use workspace::AppState; pub fn init(app_state: &Arc, cx: &mut AppContext) { @@ -21,38 +20,54 @@ pub fn init(app_state: &Arc, cx: &mut AppContext) { project_id, worktree_root_names, } => { - let theme = &theme::current(cx).project_shared_notification; - let window_size = vec2f(theme.window_width, theme.window_height); + let window_size = Size { + width: px(380.), + height: px(64.), + }; - for screen in cx.platform().screens() { - let window = - cx.add_window(notification_window_options(screen, window_size), |_| { + for screen in cx.displays() { + let options = notification_window_options(screen, window_size); + let window = cx.open_window(options, |cx| { + cx.build_view(|_| { ProjectSharedNotification::new( owner.clone(), *project_id, worktree_root_names.clone(), app_state.clone(), ) - }); + }) + }); notification_windows .entry(*project_id) .or_insert(Vec::new()) .push(window); } } + room::Event::RemoteProjectUnshared { project_id } | room::Event::RemoteProjectJoined { project_id } | room::Event::RemoteProjectInvitationDiscarded { project_id } => { if let Some(windows) = notification_windows.remove(&project_id) { for window in windows { - window.remove(cx); + window + .update(cx, |_, cx| { + // todo!() + cx.remove_window(); + }) + .ok(); } } } + room::Event::Left => { for (_, windows) in notification_windows.drain() { for window in windows { - window.remove(cx); + window + .update(cx, |_, cx| { + // todo!() + cx.remove_window(); + }) + .ok(); } } } @@ -102,116 +117,60 @@ impl ProjectSharedNotification { } } - fn render_owner(&self, cx: &mut ViewContext) -> AnyElement { - let theme = &theme::current(cx).project_shared_notification; - Flex::row() - .with_children(self.owner.avatar.clone().map(|avatar| { - Image::from_data(avatar) - .with_style(theme.owner_avatar) - .aligned() - })) - .with_child( - Flex::column() - .with_child( - Label::new( - self.owner.github_login.clone(), - theme.owner_username.text.clone(), - ) - .contained() - .with_style(theme.owner_username.container), - ) - .with_child( - Label::new( - format!( - "is sharing a project in Zed{}", - if self.worktree_root_names.is_empty() { - "" - } else { - ":" - } - ), - theme.message.text.clone(), - ) - .contained() - .with_style(theme.message.container), - ) - .with_children(if self.worktree_root_names.is_empty() { + fn render_owner(&self) -> impl Element { + h_stack() + .children( + self.owner + .avatar + .clone() + .map(|avatar| Avatar::data(avatar.clone())), + ) + .child( + v_stack() + .child(Label::new(self.owner.github_login.clone())) + .child(Label::new(format!( + "is sharing a project in Zed{}", + if self.worktree_root_names.is_empty() { + "" + } else { + ":" + } + ))) + .children(if self.worktree_root_names.is_empty() { None } else { - Some( - Label::new( - self.worktree_root_names.join(", "), - theme.worktree_roots.text.clone(), - ) - .contained() - .with_style(theme.worktree_roots.container), - ) - }) - .contained() - .with_style(theme.owner_metadata) - .aligned(), + Some(Label::new(self.worktree_root_names.join(", "))) + }), ) - .contained() - .with_style(theme.owner_container) - .flex(1., true) - .into_any() } - fn render_buttons(&self, cx: &mut ViewContext) -> AnyElement { - enum Open {} - enum Dismiss {} - - let theme = theme::current(cx); - Flex::column() - .with_child( - MouseEventHandler::new::(0, cx, |_, _| { - let theme = &theme.project_shared_notification; - Label::new("Open", theme.open_button.text.clone()) - .aligned() - .contained() - .with_style(theme.open_button.container) - }) - .with_cursor_style(CursorStyle::PointingHand) - .on_click(MouseButton::Left, move |_, this, cx| this.join(cx)) - .flex(1., true), + fn render_buttons(&self, cx: &mut ViewContext) -> impl Element { + let this = cx.view().clone(); + v_stack() + .child(Button::new("open", "Open").render(cx).on_click({ + let this = this.clone(); + move |_, cx| { + this.update(cx, |this, cx| this.join(cx)); + } + })) + .child( + Button::new("dismiss", "Dismiss") + .render(cx) + .on_click(move |_, cx| { + this.update(cx, |this, cx| this.dismiss(cx)); + }), ) - .with_child( - MouseEventHandler::new::(0, cx, |_, _| { - let theme = &theme.project_shared_notification; - Label::new("Dismiss", theme.dismiss_button.text.clone()) - .aligned() - .contained() - .with_style(theme.dismiss_button.container) - }) - .with_cursor_style(CursorStyle::PointingHand) - .on_click(MouseButton::Left, |_, this, cx| { - this.dismiss(cx); - }) - .flex(1., true), - ) - .constrained() - .with_width(theme.project_shared_notification.button_width) - .into_any() } } -impl Entity for ProjectSharedNotification { - type Event = (); -} +impl Render for ProjectSharedNotification { + type Element = Div; -impl View for ProjectSharedNotification { - fn ui_name() -> &'static str { - "ProjectSharedNotification" - } - - fn render(&mut self, cx: &mut ViewContext) -> gpui::AnyElement { - let background = theme::current(cx).project_shared_notification.background; - Flex::row() - .with_child(self.render_owner(cx)) - .with_child(self.render_buttons(cx)) - .contained() - .with_background_color(background) - .expanded() - .into_any() + fn render(&mut self, cx: &mut ViewContext) -> Self::Element { + h_stack() + .size_full() + .bg(gpui::red()) + .child(self.render_owner()) + .child(self.render_buttons(cx)) } } From d1b47b40597fc4825462b49024ec1fbbcf22a216 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 14:18:34 -0800 Subject: [PATCH 027/110] Indicate collaborators' presence (grayscale), speaking and muted status --- crates/collab_ui2/src/collab_titlebar_item.rs | 165 ++++++++++-------- crates/collab_ui2/src/face_pile.rs | 5 +- crates/ui2/src/components/avatar.rs | 69 +++++--- 3 files changed, 131 insertions(+), 108 deletions(-) diff --git a/crates/collab_ui2/src/collab_titlebar_item.rs b/crates/collab_ui2/src/collab_titlebar_item.rs index c5872e660d..95d3606a49 100644 --- a/crates/collab_ui2/src/collab_titlebar_item.rs +++ b/crates/collab_ui2/src/collab_titlebar_item.rs @@ -1,15 +1,14 @@ use crate::face_pile::FacePile; -use call::{ActiveCall, Room}; +use call::{ActiveCall, ParticipantLocation, Room}; use client::{proto::PeerId, Client, ParticipantIndex, User, UserStore}; use gpui::{ - actions, canvas, div, point, px, rems, AppContext, Div, Element, InteractiveElement, - IntoElement, Model, ParentElement, Path, Render, RenderOnce, Stateful, - StatefulInteractiveElement, Styled, Subscription, ViewContext, VisualContext, WeakView, - WindowBounds, + actions, canvas, div, point, px, rems, AppContext, Div, Element, Hsla, InteractiveElement, + IntoElement, Model, ParentElement, Path, Render, Stateful, StatefulInteractiveElement, Styled, + Subscription, ViewContext, VisualContext, WeakView, WindowBounds, }; use project::{Project, RepositoryEntry}; use std::sync::Arc; -use theme::ActiveTheme; +use theme::{ActiveTheme, PlayerColors}; use ui::{ h_stack, popover_menu, prelude::*, Avatar, Button, ButtonLike, ButtonStyle, ContextMenu, Icon, IconButton, IconElement, KeyBinding, Tooltip, @@ -43,11 +42,8 @@ pub fn init(cx: &mut AppContext) { pub struct CollabTitlebarItem { project: Model, - #[allow(unused)] // todo!() user_store: Model, - #[allow(unused)] // todo!() client: Arc, - #[allow(unused)] // todo!() workspace: WeakView, //branch_popover: Option>, //project_popover: Option>, @@ -92,62 +88,64 @@ impl Render for CollabTitlebarItem { .child(self.render_project_name(cx)) .children(self.render_project_branch(cx)) .when_some( - current_user.clone().zip(room.clone()).zip(project_id), - |this, ((current_user, room), project_id)| { - let remote_participants = room - .read(cx) - .remote_participants() - .values() - .map(|participant| { - ( - participant.user.clone(), - participant.participant_index, - participant.peer_id, - ) - }) - .collect::>(); + current_user + .clone() + .zip(client.peer_id()) + .zip(room.clone()) + .zip(project_id), + |this, (((current_user, peer_id), room), project_id)| { + let player_colors = cx.theme().players(); + let room = room.read(cx); + let mut remote_participants = + room.remote_participants().values().collect::>(); + remote_participants.sort_by_key(|p| p.participant_index.0); - this.children( - self.render_collaborator( - ¤t_user, - client.peer_id().expect("todo!()"), - &room, - project_id, - &remote_participants, - cx, - ) - .map(|pile| pile.render(cx)), - ) + this.children(self.render_collaborator( + ¤t_user, + peer_id, + ParticipantLocation::SharedProject { project_id }, + room.is_speaking(), + room.is_muted(cx), + &room, + project_id, + ¤t_user, + )) .children( - remote_participants.iter().filter_map( - |(user, participant_index, peer_id)| { - let peer_id = *peer_id; - let face_pile = self - .render_collaborator( - user, - peer_id, - &room, - project_id, - &remote_participants, - cx, - )? - .render(cx); - Some( - v_stack() - .id(("collaborator", user.id)) - .child(face_pile) - .child(render_color_ribbon(*participant_index, cx)) - .cursor_pointer() - .on_click(cx.listener(move |this, _, cx| { + remote_participants.iter().filter_map(|collaborator| { + // collaborator.is_ + + let face_pile = self.render_collaborator( + &collaborator.user, + collaborator.peer_id, + collaborator.location.clone(), + collaborator.speaking, + collaborator.muted, + &room, + project_id, + ¤t_user, + )?; + + Some( + v_stack() + .id(("collaborator", collaborator.user.id)) + .child(face_pile) + .child(render_color_ribbon( + collaborator.participant_index, + player_colors, + )) + .cursor_pointer() + .on_click({ + let peer_id = collaborator.peer_id; + cx.listener(move |this, _, cx| { this.workspace .update(cx, |workspace, cx| { workspace.follow(peer_id, cx); }) .ok(); - })), - ) - }, - ), + }) + }), + ) + }), ) }, ), @@ -280,15 +278,8 @@ impl Render for CollabTitlebarItem { } } -fn render_color_ribbon( - participant_index: ParticipantIndex, - cx: &mut WindowContext, -) -> gpui::Canvas { - let color = cx - .theme() - .players() - .color_for_participant(participant_index.0) - .cursor; +fn render_color_ribbon(participant_index: ParticipantIndex, colors: &PlayerColors) -> gpui::Canvas { + let color = colors.color_for_participant(participant_index.0).cursor; canvas(move |bounds, cx| { let mut path = Path::new(bounds.lower_left()); let height = bounds.size.height; @@ -417,25 +408,45 @@ impl CollabTitlebarItem { &self, user: &Arc, peer_id: PeerId, - room: &Model, + location: ParticipantLocation, + is_speaking: bool, + is_muted: bool, + room: &Room, project_id: u64, - collaborators: &[(Arc, ParticipantIndex, PeerId)], - cx: &mut WindowContext, + current_user: &Arc, ) -> Option { - let room = room.read(cx); let followers = room.followers_for(peer_id, project_id); - let mut pile = FacePile::default(); pile.extend( user.avatar .clone() - .map(|avatar| div().child(Avatar::data(avatar.clone())).into_any_element()) + .map(|avatar| { + div() + .child( + Avatar::data(avatar.clone()) + .grayscale( + location != ParticipantLocation::SharedProject { project_id }, + ) + .border_color(if is_speaking { + gpui::blue() + } else if is_muted { + gpui::red() + } else { + Hsla::default() + }), + ) + .into_any_element() + }) .into_iter() .chain(followers.iter().filter_map(|follower_peer_id| { - let follower = collaborators - .iter() - .find(|(_, _, peer_id)| *peer_id == *follower_peer_id)? - .0 + let follower = room + .remote_participants() + .values() + .find_map(|p| (p.peer_id == *follower_peer_id).then_some(&p.user)) + .or_else(|| { + (self.client.peer_id() == Some(*follower_peer_id)) + .then_some(current_user) + })? .clone(); follower .avatar diff --git a/crates/collab_ui2/src/face_pile.rs b/crates/collab_ui2/src/face_pile.rs index b7422d2b22..6c424c7805 100644 --- a/crates/collab_ui2/src/face_pile.rs +++ b/crates/collab_ui2/src/face_pile.rs @@ -1,8 +1,9 @@ use gpui::{ - div, AnyElement, Div, IntoElement as _, ParentElement as _, RenderOnce, Styled, WindowContext, + div, AnyElement, Div, ElementId, IntoElement, ParentElement as _, RenderOnce, Styled, + WindowContext, }; -#[derive(Default)] +#[derive(Default, IntoElement)] pub struct FacePile { pub faces: Vec, } diff --git a/crates/ui2/src/components/avatar.rs b/crates/ui2/src/components/avatar.rs index 3c8eefa6db..454daacc42 100644 --- a/crates/ui2/src/components/avatar.rs +++ b/crates/ui2/src/components/avatar.rs @@ -1,7 +1,6 @@ -use std::sync::Arc; - use crate::prelude::*; -use gpui::{img, rems, Div, ImageData, ImageSource, IntoElement, Styled}; +use gpui::{img, Div, Hsla, ImageData, ImageSource, Img, IntoElement, Styled}; +use std::sync::Arc; #[derive(Debug, Default, PartialEq, Clone)] pub enum Shape { @@ -12,35 +11,39 @@ pub enum Shape { #[derive(IntoElement)] pub struct Avatar { - src: ImageSource, + image: Img, + border_color: Option, is_available: Option, - shape: Shape, } impl RenderOnce for Avatar { type Rendered = Div; - fn render(self, cx: &mut WindowContext) -> Self::Rendered { - let mut img = img(self.src); - - if self.shape == Shape::Circle { - img = img.rounded_full(); - } else { - img = img.rounded_md(); + fn render(mut self, cx: &mut WindowContext) -> Self::Rendered { + if self.image.style().corner_radii.top_left.is_none() { + self = self.shape(Shape::Circle); } - let size = rems(1.0); + let size = cx.rem_size(); div() - .size(size) + .size(size + px(2.)) + .map(|mut div| { + div.style().corner_radii = self.image.style().corner_radii.clone(); + div + }) + .when_some(self.border_color, |this, color| { + this.border().border_color(color) + }) .child( - img.size(size) + self.image + .size(size) // todo!(Pull the avatar fallback background from the theme.) .bg(gpui::red()), ) .children(self.is_available.map(|is_free| { // HACK: non-integer sizes result in oval indicators. - let indicator_size = (size.0 * cx.rem_size() * 0.4).round(); + let indicator_size = (size * 0.4).round(); div() .absolute() @@ -56,31 +59,39 @@ impl RenderOnce for Avatar { impl Avatar { pub fn uri(src: impl Into) -> Self { - Self { - src: src.into().into(), - shape: Shape::Circle, - is_available: None, - } + Self::source(src.into().into()) } + pub fn data(src: Arc) -> Self { - Self { - src: src.into(), - shape: Shape::Circle, - is_available: None, - } + Self::source(src.into()) } pub fn source(src: ImageSource) -> Self { Self { - src, - shape: Shape::Circle, + image: img(src), is_available: None, + border_color: None, } } + pub fn shape(mut self, shape: Shape) -> Self { - self.shape = shape; + self.image = match shape { + Shape::Circle => self.image.rounded_full(), + Shape::RoundedRectangle => self.image.rounded_md(), + }; self } + + pub fn grayscale(mut self, grayscale: bool) -> Self { + self.image = self.image.grayscale(grayscale); + self + } + + pub fn border_color(mut self, color: impl Into) -> Self { + self.border_color = Some(color.into()); + self + } + pub fn availability_indicator(mut self, is_available: impl Into>) -> Self { self.is_available = is_available.into(); self From 901bd6ac87b675299cb59d2325b4c0b03f2df5ce Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 14:22:36 -0800 Subject: [PATCH 028/110] Order face pile front to back, left to right --- crates/collab_ui2/src/face_pile.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/collab_ui2/src/face_pile.rs b/crates/collab_ui2/src/face_pile.rs index 6c424c7805..52b30062ea 100644 --- a/crates/collab_ui2/src/face_pile.rs +++ b/crates/collab_ui2/src/face_pile.rs @@ -16,7 +16,10 @@ impl RenderOnce for FacePile { let player_list = self.faces.into_iter().enumerate().map(|(ix, player)| { let isnt_last = ix < player_count - 1; - div().when(isnt_last, |div| div.neg_mr_1()).child(player) + div() + .z_index((player_count - ix) as u32) + .when(isnt_last, |div| div.neg_mr_1()) + .child(player) }); div().p_1().flex().items_center().children(player_list) } From aa3463770540f29ddde8ac40d920b7ecba948bec Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 14:31:21 -0800 Subject: [PATCH 029/110] Add tooltip for following collaborators in titlebar --- crates/collab_ui2/src/collab_titlebar_item.rs | 267 +----------------- 1 file changed, 6 insertions(+), 261 deletions(-) diff --git a/crates/collab_ui2/src/collab_titlebar_item.rs b/crates/collab_ui2/src/collab_titlebar_item.rs index 95d3606a49..f6605ec14c 100644 --- a/crates/collab_ui2/src/collab_titlebar_item.rs +++ b/crates/collab_ui2/src/collab_titlebar_item.rs @@ -112,8 +112,6 @@ impl Render for CollabTitlebarItem { )) .children( remote_participants.iter().filter_map(|collaborator| { - // collaborator.is_ - let face_pile = self.render_collaborator( &collaborator.user, collaborator.peer_id, @@ -143,6 +141,12 @@ impl Render for CollabTitlebarItem { }) .ok(); }) + }) + .tooltip({ + let login = collaborator.user.github_login.clone(); + move |cx| { + Tooltip::text(format!("Follow {login}"), cx) + } }), ) }), @@ -744,265 +748,6 @@ impl CollabTitlebarItem { // .into_any() // } - // fn render_collaborators( - // &self, - // workspace: &ViewHandle, - // theme: &Theme, - // room: &ModelHandle, - // cx: &mut ViewContext, - // ) -> Vec> { - // let mut participants = room - // .read(cx) - // .remote_participants() - // .values() - // .cloned() - // .collect::>(); - // participants.sort_by_cached_key(|p| p.user.github_login.clone()); - - // participants - // .into_iter() - // .filter_map(|participant| { - // let project = workspace.read(cx).project().read(cx); - // let replica_id = project - // .collaborators() - // .get(&participant.peer_id) - // .map(|collaborator| collaborator.replica_id); - // let user = participant.user.clone(); - // Some( - // Container::new(self.render_face_pile( - // &user, - // replica_id, - // participant.peer_id, - // Some(participant.location), - // participant.muted, - // participant.speaking, - // workspace, - // theme, - // cx, - // )) - // .with_margin_right(theme.titlebar.face_pile_spacing), - // ) - // }) - // .collect() - // } - - // fn render_current_user( - // &self, - // workspace: &ViewHandle, - // theme: &Theme, - // user: &Arc, - // peer_id: PeerId, - // muted: bool, - // speaking: bool, - // cx: &mut ViewContext, - // ) -> AnyElement { - // let replica_id = workspace.read(cx).project().read(cx).replica_id(); - - // Container::new(self.render_face_pile( - // user, - // Some(replica_id), - // peer_id, - // None, - // muted, - // speaking, - // workspace, - // theme, - // cx, - // )) - // .with_margin_right(theme.titlebar.item_spacing) - // .into_any() - // } - - // fn render_face_pile( - // &self, - // user: &User, - // _replica_id: Option, - // peer_id: PeerId, - // location: Option, - // muted: bool, - // speaking: bool, - // workspace: &ViewHandle, - // theme: &Theme, - // cx: &mut ViewContext, - // ) -> AnyElement { - // let user_id = user.id; - // let project_id = workspace.read(cx).project().read(cx).remote_id(); - // let room = ActiveCall::global(cx).read(cx).room().cloned(); - // let self_peer_id = workspace.read(cx).client().peer_id(); - // let self_following = workspace.read(cx).is_being_followed(peer_id); - // let self_following_initialized = self_following - // && room.as_ref().map_or(false, |room| match project_id { - // None => true, - // Some(project_id) => room - // .read(cx) - // .followers_for(peer_id, project_id) - // .iter() - // .any(|&follower| Some(follower) == self_peer_id), - // }); - - // let leader_style = theme.titlebar.leader_avatar; - // let follower_style = theme.titlebar.follower_avatar; - - // let microphone_state = if muted { - // Some(theme.titlebar.muted) - // } else if speaking { - // Some(theme.titlebar.speaking) - // } else { - // None - // }; - - // let mut background_color = theme - // .titlebar - // .container - // .background_color - // .unwrap_or_default(); - - // let participant_index = self - // .user_store - // .read(cx) - // .participant_indices() - // .get(&user_id) - // .copied(); - // if let Some(participant_index) = participant_index { - // if self_following_initialized { - // let selection = theme - // .editor - // .selection_style_for_room_participant(participant_index.0) - // .selection; - // background_color = Color::blend(selection, background_color); - // background_color.a = 255; - // } - // } - - // enum TitlebarParticipant {} - - // let content = MouseEventHandler::new::( - // peer_id.as_u64() as usize, - // cx, - // move |_, cx| { - // Stack::new() - // .with_children(user.avatar.as_ref().map(|avatar| { - // let face_pile = FacePile::new(theme.titlebar.follower_avatar_overlap) - // .with_child(Self::render_face( - // avatar.clone(), - // Self::location_style(workspace, location, leader_style, cx), - // background_color, - // microphone_state, - // )) - // .with_children( - // (|| { - // let project_id = project_id?; - // let room = room?.read(cx); - // let followers = room.followers_for(peer_id, project_id); - // Some(followers.into_iter().filter_map(|&follower| { - // if Some(follower) == self_peer_id { - // return None; - // } - // let participant = - // room.remote_participant_for_peer_id(follower)?; - // Some(Self::render_face( - // participant.user.avatar.clone()?, - // follower_style, - // background_color, - // None, - // )) - // })) - // })() - // .into_iter() - // .flatten(), - // ) - // .with_children( - // self_following_initialized - // .then(|| self.user_store.read(cx).current_user()) - // .and_then(|user| { - // Some(Self::render_face( - // user?.avatar.clone()?, - // follower_style, - // background_color, - // None, - // )) - // }), - // ); - - // let mut container = face_pile - // .contained() - // .with_style(theme.titlebar.leader_selection); - - // if let Some(participant_index) = participant_index { - // if self_following_initialized { - // let color = theme - // .editor - // .selection_style_for_room_participant(participant_index.0) - // .selection; - // container = container.with_background_color(color); - // } - // } - - // container - // })) - // .with_children((|| { - // let participant_index = participant_index?; - // let color = theme - // .editor - // .selection_style_for_room_participant(participant_index.0) - // .cursor; - // Some( - // AvatarRibbon::new(color) - // .constrained() - // .with_width(theme.titlebar.avatar_ribbon.width) - // .with_height(theme.titlebar.avatar_ribbon.height) - // .aligned() - // .bottom(), - // ) - // })()) - // }, - // ); - - // if Some(peer_id) == self_peer_id { - // return content.into_any(); - // } - - // content - // .with_cursor_style(CursorStyle::PointingHand) - // .on_click(MouseButton::Left, move |_, this, cx| { - // let Some(workspace) = this.workspace.upgrade(cx) else { - // return; - // }; - // if let Some(task) = - // workspace.update(cx, |workspace, cx| workspace.follow(peer_id, cx)) - // { - // task.detach_and_log_err(cx); - // } - // }) - // .with_tooltip::( - // peer_id.as_u64() as usize, - // format!("Follow {}", user.github_login), - // Some(Box::new(FollowNextCollaborator)), - // theme.tooltip.clone(), - // cx, - // ) - // .into_any() - // } - - // fn location_style( - // workspace: &ViewHandle, - // location: Option, - // mut style: AvatarStyle, - // cx: &ViewContext, - // ) -> AvatarStyle { - // if let Some(location) = location { - // if let ParticipantLocation::SharedProject { project_id } = location { - // if Some(project_id) != workspace.read(cx).project().read(cx).remote_id() { - // style.image.grayscale = true; - // } - // } else { - // style.image.grayscale = true; - // } - // } - - // style - // } - // fn render_connection_status( // &self, // status: &client::Status, From 58d8c5125558b8e843880a4f3cd626e002006703 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 14:49:32 -0800 Subject: [PATCH 030/110] Show current user avatar when in a room w/o a shared project --- crates/collab_ui2/src/collab_titlebar_item.rs | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/crates/collab_ui2/src/collab_titlebar_item.rs b/crates/collab_ui2/src/collab_titlebar_item.rs index f6605ec14c..d137b2195a 100644 --- a/crates/collab_ui2/src/collab_titlebar_item.rs +++ b/crates/collab_ui2/src/collab_titlebar_item.rs @@ -88,12 +88,8 @@ impl Render for CollabTitlebarItem { .child(self.render_project_name(cx)) .children(self.render_project_branch(cx)) .when_some( - current_user - .clone() - .zip(client.peer_id()) - .zip(room.clone()) - .zip(project_id), - |this, (((current_user, peer_id), room), project_id)| { + current_user.clone().zip(client.peer_id()).zip(room.clone()), + |this, ((current_user, peer_id), room)| { let player_colors = cx.theme().players(); let room = room.read(cx); let mut remote_participants = @@ -103,7 +99,7 @@ impl Render for CollabTitlebarItem { this.children(self.render_collaborator( ¤t_user, peer_id, - ParticipantLocation::SharedProject { project_id }, + true, room.is_speaking(), room.is_muted(cx), &room, @@ -112,10 +108,15 @@ impl Render for CollabTitlebarItem { )) .children( remote_participants.iter().filter_map(|collaborator| { + let is_present = project_id.map_or(false, |project_id| { + collaborator.location + == ParticipantLocation::SharedProject { project_id } + }); + let face_pile = self.render_collaborator( &collaborator.user, collaborator.peer_id, - collaborator.location.clone(), + is_present, collaborator.speaking, collaborator.muted, &room, @@ -412,14 +413,14 @@ impl CollabTitlebarItem { &self, user: &Arc, peer_id: PeerId, - location: ParticipantLocation, + is_present: bool, is_speaking: bool, is_muted: bool, room: &Room, - project_id: u64, + project_id: Option, current_user: &Arc, ) -> Option { - let followers = room.followers_for(peer_id, project_id); + let followers = project_id.map_or(&[] as &[_], |id| room.followers_for(peer_id, id)); let mut pile = FacePile::default(); pile.extend( user.avatar @@ -428,9 +429,7 @@ impl CollabTitlebarItem { div() .child( Avatar::data(avatar.clone()) - .grayscale( - location != ParticipantLocation::SharedProject { project_id }, - ) + .grayscale(!is_present) .border_color(if is_speaking { gpui::blue() } else if is_muted { From c7e19c0bcde8d38839ce870a2eaca64d0a57f301 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 18:34:03 -0500 Subject: [PATCH 031/110] Emit accurate hex colors in generated themes (#3547) This PR fixes an issues where the hex colors in the generated themes were not correct. We're using the [`palette`](https://crates.io/crates/palette) crate to perform the conversions, as this gives us accurate hex codes that match the VS Code source themes. Release Notes: - N/A --- Cargo.lock | 60 +- crates/theme2/src/themes/andromeda.rs | 96 +-- crates/theme2/src/themes/ayu.rs | 158 ++-- crates/theme2/src/themes/dracula.rs | 24 +- crates/theme2/src/themes/gruvbox.rs | 258 +++---- crates/theme2/src/themes/night_owl.rs | 94 +-- crates/theme2/src/themes/noctis.rs | 682 +++++++++--------- crates/theme2/src/themes/nord.rs | 18 +- crates/theme2/src/themes/palenight.rs | 132 ++-- crates/theme2/src/themes/rose_pine.rs | 84 +-- crates/theme2/src/themes/solarized.rs | 106 +-- crates/theme2/src/themes/synthwave_84.rs | 64 +- crates/theme_importer/Cargo.toml | 1 + crates/theme_importer/src/color.rs | 54 ++ crates/theme_importer/src/main.rs | 1 + crates/theme_importer/src/theme_printer.rs | 6 +- crates/theme_importer/src/vscode/converter.rs | 7 +- 17 files changed, 974 insertions(+), 871 deletions(-) create mode 100644 crates/theme_importer/src/color.rs diff --git a/Cargo.lock b/Cargo.lock index 1f15c9c8e6..841812e19e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -312,6 +312,15 @@ version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + [[package]] name = "arrayref" version = "0.3.7" @@ -1378,10 +1387,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.84" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ + "jobserver", "libc", ] @@ -3162,6 +3172,12 @@ dependencies = [ "regex", ] +[[package]] +name = "fast-srgb8" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" + [[package]] name = "fastrand" version = "1.9.0" @@ -4654,6 +4670,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + [[package]] name = "journal" version = "0.1.0" @@ -5029,18 +5054,18 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linkme" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ed2ee9464ff9707af8e9ad834cffa4802f072caad90639c583dd3c62e6e608" +checksum = "b1e6b0bb9ca88d3c5ae88240beb9683821f903b824ee8381ef9ab4e8522fbfa9" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396" +checksum = "b3b3f61e557a617ec6ba36c79431e1f3b5e100d67cfbdb61ed6ef384298af016" dependencies = [ "proc-macro2", "quote", @@ -6263,6 +6288,28 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "palette" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc" +dependencies = [ + "approx", + "fast-srgb8", + "palette_derive", +] + +[[package]] +name = "palette_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.37", +] + [[package]] name = "parity-tokio-ipc" version = "0.9.0" @@ -9695,6 +9742,7 @@ dependencies = [ "indexmap 1.9.3", "json_comments", "log", + "palette", "rust-embed", "serde", "simplelog", diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 16b2fa9632..fb606c1650 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -33,30 +33,30 @@ pub fn andromeda() -> UserThemeFamily { element_selected: Some(rgba(0x23262eff).into()), drop_target_background: Some(rgba(0x3a404eff).into()), ghost_element_hover: Some(rgba(0x23262eff).into()), - text: Some(rgba(0xd4cdd8ff).into()), + text: Some(rgba(0xd5ced9ff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x23262eff).into()), editor_background: Some(rgba(0x23262eff).into()), editor_gutter_background: Some(rgba(0x23262eff).into()), editor_line_number: Some(rgba(0x746f77ff).into()), - editor_active_line_number: Some(rgba(0xd4cdd8ff).into()), - terminal_ansi_bright_red: Some(rgba(0xee5d42ff).into()), - terminal_ansi_bright_green: Some(rgba(0x95e072ff).into()), + editor_active_line_number: Some(rgba(0xd5ced9ff).into()), + terminal_ansi_bright_red: Some(rgba(0xee5d43ff).into()), + terminal_ansi_bright_green: Some(rgba(0x96e072ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffe66dff).into()), - terminal_ansi_bright_blue: Some(rgba(0x7bb7ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff00a9ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x7cb7ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff00aaff).into()), terminal_ansi_bright_cyan: Some(rgba(0x00e8c6ff).into()), - terminal_ansi_red: Some(rgba(0xee5d42ff).into()), - terminal_ansi_green: Some(rgba(0x95e072ff).into()), + terminal_ansi_red: Some(rgba(0xee5d43ff).into()), + terminal_ansi_green: Some(rgba(0x96e072ff).into()), terminal_ansi_yellow: Some(rgba(0xffe66dff).into()), - terminal_ansi_blue: Some(rgba(0x7bb7ffff).into()), - terminal_ansi_magenta: Some(rgba(0xff00a9ff).into()), + terminal_ansi_blue: Some(rgba(0x7cb7ffff).into()), + terminal_ansi_magenta: Some(rgba(0xff00aaff).into()), terminal_ansi_cyan: Some(rgba(0x00e8c6ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xfc634cff).into()), - error: Some(rgba(0xfc634cff).into()), + deleted: Some(rgba(0xfc644dff).into()), + error: Some(rgba(0xfc644dff).into()), hidden: Some(rgba(0x746f77ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -66,28 +66,28 @@ pub fn andromeda() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xf39c11ff).into()), + color: Some(rgba(0xf39c12ff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x9fa0a6cc).into()), + color: Some(rgba(0xa0a1a7cc).into()), ..Default::default() }, ), ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xc64dedff).into()), + color: Some(rgba(0xc74dedff).into()), ..Default::default() }, ), ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xf39c11ff).into()), + color: Some(rgba(0xf39c12ff).into()), ..Default::default() }, ), @@ -101,42 +101,42 @@ pub fn andromeda() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xc64dedff).into()), + color: Some(rgba(0xc74dedff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf39c11ff).into()), + color: Some(rgba(0xf39c12ff).into()), ..Default::default() }, ), ( "operator".into(), UserHighlightStyle { - color: Some(rgba(0xee5d42ff).into()), + color: Some(rgba(0xee5d43ff).into()), ..Default::default() }, ), ( "string".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0x96e072ff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xf92571ff).into()), + color: Some(rgba(0xf92672ff).into()), ..Default::default() }, ), ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0x96e072ff).into()), ..Default::default() }, ), @@ -171,36 +171,36 @@ pub fn andromeda() -> UserThemeFamily { border_disabled: Some(rgba(0x1b1d23ff).into()), elevated_surface_background: Some(rgba(0x23262eff).into()), surface_background: Some(rgba(0x23262eff).into()), - background: Some(rgba(0x262933ff).into()), + background: Some(rgba(0x262a33ff).into()), element_background: Some(rgba(0x00e8c5cc).into()), element_hover: Some(rgba(0x23262eff).into()), element_selected: Some(rgba(0x23262eff).into()), drop_target_background: Some(rgba(0x3a404eff).into()), ghost_element_hover: Some(rgba(0x23262eff).into()), - text: Some(rgba(0xd4cdd8ff).into()), + text: Some(rgba(0xd5ced9ff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), - tab_active_background: Some(rgba(0x262933ff).into()), - editor_background: Some(rgba(0x262933ff).into()), - editor_gutter_background: Some(rgba(0x262933ff).into()), + tab_active_background: Some(rgba(0x262a33ff).into()), + editor_background: Some(rgba(0x262a33ff).into()), + editor_gutter_background: Some(rgba(0x262a33ff).into()), editor_line_number: Some(rgba(0x746f77ff).into()), - editor_active_line_number: Some(rgba(0xd4cdd8ff).into()), - terminal_ansi_bright_red: Some(rgba(0xee5d42ff).into()), - terminal_ansi_bright_green: Some(rgba(0x95e072ff).into()), + editor_active_line_number: Some(rgba(0xd5ced9ff).into()), + terminal_ansi_bright_red: Some(rgba(0xee5d43ff).into()), + terminal_ansi_bright_green: Some(rgba(0x96e072ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffe66dff).into()), - terminal_ansi_bright_blue: Some(rgba(0x7bb7ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff00a9ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x7cb7ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff00aaff).into()), terminal_ansi_bright_cyan: Some(rgba(0x00e8c6ff).into()), - terminal_ansi_red: Some(rgba(0xee5d42ff).into()), - terminal_ansi_green: Some(rgba(0x95e072ff).into()), + terminal_ansi_red: Some(rgba(0xee5d43ff).into()), + terminal_ansi_green: Some(rgba(0x96e072ff).into()), terminal_ansi_yellow: Some(rgba(0xffe66dff).into()), - terminal_ansi_blue: Some(rgba(0x7bb7ffff).into()), - terminal_ansi_magenta: Some(rgba(0xff00a9ff).into()), + terminal_ansi_blue: Some(rgba(0x7cb7ffff).into()), + terminal_ansi_magenta: Some(rgba(0xff00aaff).into()), terminal_ansi_cyan: Some(rgba(0x00e8c6ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xfc634cff).into()), - error: Some(rgba(0xfc634cff).into()), + deleted: Some(rgba(0xfc644dff).into()), + error: Some(rgba(0xfc644dff).into()), hidden: Some(rgba(0x746f77ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -210,28 +210,28 @@ pub fn andromeda() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xf39c11ff).into()), + color: Some(rgba(0xf39c12ff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x9fa0a6cc).into()), + color: Some(rgba(0xa0a1a7cc).into()), ..Default::default() }, ), ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xc64dedff).into()), + color: Some(rgba(0xc74dedff).into()), ..Default::default() }, ), ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xf39c11ff).into()), + color: Some(rgba(0xf39c12ff).into()), ..Default::default() }, ), @@ -245,42 +245,42 @@ pub fn andromeda() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xc64dedff).into()), + color: Some(rgba(0xc74dedff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf39c11ff).into()), + color: Some(rgba(0xf39c12ff).into()), ..Default::default() }, ), ( "operator".into(), UserHighlightStyle { - color: Some(rgba(0xee5d42ff).into()), + color: Some(rgba(0xee5d43ff).into()), ..Default::default() }, ), ( "string".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0x96e072ff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xf92571ff).into()), + color: Some(rgba(0xf92672ff).into()), ..Default::default() }, ), ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0x95e072ff).into()), + color: Some(rgba(0x96e072ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 8651ee2028..39ac2660e6 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -21,17 +21,17 @@ pub fn ayu() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x6b7d8f1f).into()), border_variant: Some(rgba(0x6b7d8f1f).into()), - border_focused: Some(rgba(0xffaa32b3).into()), + border_focused: Some(rgba(0xffaa33b3).into()), border_selected: Some(rgba(0x6b7d8f1f).into()), border_transparent: Some(rgba(0x6b7d8f1f).into()), border_disabled: Some(rgba(0x6b7d8f1f).into()), elevated_surface_background: Some(rgba(0xf8f9faff).into()), surface_background: Some(rgba(0xf8f9faff).into()), background: Some(rgba(0xf8f9faff).into()), - element_background: Some(rgba(0xffaa32ff).into()), - element_hover: Some(rgba(0x55728f1f).into()), - element_selected: Some(rgba(0x55728f1f).into()), - ghost_element_hover: Some(rgba(0x55728f1f).into()), + element_background: Some(rgba(0xffaa33ff).into()), + element_hover: Some(rgba(0x56728f1f).into()), + element_selected: Some(rgba(0x56728f1f).into()), + ghost_element_hover: Some(rgba(0x56728f1f).into()), text: Some(rgba(0x8a9199ff).into()), tab_inactive_background: Some(rgba(0xf8f9faff).into()), tab_active_background: Some(rgba(0xf8f9faff).into()), @@ -41,18 +41,18 @@ pub fn ayu() -> UserThemeFamily { editor_active_line_number: Some(rgba(0x5c6166ff).into()), terminal_background: Some(rgba(0xf8f9faff).into()), terminal_ansi_bright_black: Some(rgba(0x686868ff).into()), - terminal_ansi_bright_red: Some(rgba(0xef7070ff).into()), + terminal_ansi_bright_red: Some(rgba(0xf07171ff).into()), terminal_ansi_bright_green: Some(rgba(0x86b300ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xf2ad48ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x389ee6ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xf2ae49ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x399ee6ff).into()), terminal_ansi_bright_magenta: Some(rgba(0xa37accff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x4bbf98ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x4cbf99ff).into()), terminal_ansi_bright_white: Some(rgba(0xd1d1d1ff).into()), terminal_ansi_black: Some(rgba(0x000000ff).into()), terminal_ansi_red: Some(rgba(0xea6c6dff).into()), terminal_ansi_green: Some(rgba(0x6cbf43ff).into()), terminal_ansi_yellow: Some(rgba(0xeca944ff).into()), - terminal_ansi_blue: Some(rgba(0x3198e1ff).into()), + terminal_ansi_blue: Some(rgba(0x3199e1ff).into()), terminal_ansi_magenta: Some(rgba(0x9e75c7ff).into()), terminal_ansi_cyan: Some(rgba(0x46ba94ff).into()), terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()), @@ -70,7 +70,7 @@ pub fn ayu() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xf2ad48ff).into()), + color: Some(rgba(0xf2ae49ff).into()), ..Default::default() }, ), @@ -92,7 +92,7 @@ pub fn ayu() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x4bbf98ff).into()), + color: Some(rgba(0x4cbf99ff).into()), ..Default::default() }, ), @@ -106,7 +106,7 @@ pub fn ayu() -> UserThemeFamily { ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xef7070ff).into()), + color: Some(rgba(0xf07171ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -114,7 +114,7 @@ pub fn ayu() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xef7070ff).into()), + color: Some(rgba(0xf07171ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -122,7 +122,7 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xf2ad48ff).into()), + color: Some(rgba(0xf2ae49ff).into()), ..Default::default() }, ), @@ -143,14 +143,14 @@ pub fn ayu() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x55b4d3ff).into()), + color: Some(rgba(0x55b4d4ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x55b4d3ff).into()), + color: Some(rgba(0x55b4d4ff).into()), ..Default::default() }, ), @@ -164,14 +164,14 @@ pub fn ayu() -> UserThemeFamily { ( "operator".into(), UserHighlightStyle { - color: Some(rgba(0xed9365ff).into()), + color: Some(rgba(0xed9366ff).into()), ..Default::default() }, ), ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xef7070ff).into()), + color: Some(rgba(0xf07171ff).into()), ..Default::default() }, ), @@ -185,7 +185,7 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation.bracket".into(), UserHighlightStyle { - color: Some(rgba(0x55b4d380).into()), + color: Some(rgba(0x55b4d480).into()), ..Default::default() }, ), @@ -199,7 +199,7 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation.list_marker".into(), UserHighlightStyle { - color: Some(rgba(0xf2ad48ff).into()), + color: Some(rgba(0xf2ae49ff).into()), ..Default::default() }, ), @@ -213,7 +213,7 @@ pub fn ayu() -> UserThemeFamily { ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0x4bbf98ff).into()), + color: Some(rgba(0x4cbf99ff).into()), ..Default::default() }, ), @@ -234,7 +234,7 @@ pub fn ayu() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x55b4d3ff).into()), + color: Some(rgba(0x55b4d4ff).into()), ..Default::default() }, ), @@ -248,14 +248,14 @@ pub fn ayu() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x389ee6ff).into()), + color: Some(rgba(0x399ee6ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x55b4d3ff).into()), + color: Some(rgba(0x55b4d4ff).into()), ..Default::default() }, ), @@ -269,7 +269,7 @@ pub fn ayu() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xef7070ff).into()), + color: Some(rgba(0xf07171ff).into()), ..Default::default() }, ), @@ -282,16 +282,16 @@ pub fn ayu() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x171a24ff).into()), - border_variant: Some(rgba(0x171a24ff).into()), - border_focused: Some(rgba(0xffcb65b3).into()), - border_selected: Some(rgba(0x171a24ff).into()), - border_transparent: Some(rgba(0x171a24ff).into()), - border_disabled: Some(rgba(0x171a24ff).into()), + border: Some(rgba(0x171b24ff).into()), + border_variant: Some(rgba(0x171b24ff).into()), + border_focused: Some(rgba(0xffcc66b3).into()), + border_selected: Some(rgba(0x171b24ff).into()), + border_transparent: Some(rgba(0x171b24ff).into()), + border_disabled: Some(rgba(0x171b24ff).into()), elevated_surface_background: Some(rgba(0x1f2430ff).into()), surface_background: Some(rgba(0x1f2430ff).into()), background: Some(rgba(0x1f2430ff).into()), - element_background: Some(rgba(0xffcb65ff).into()), + element_background: Some(rgba(0xffcc66ff).into()), element_hover: Some(rgba(0x63759926).into()), element_selected: Some(rgba(0x63759926).into()), ghost_element_hover: Some(rgba(0x63759926).into()), @@ -304,26 +304,26 @@ pub fn ayu() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xcccac2ff).into()), terminal_background: Some(rgba(0x1f2430ff).into()), terminal_ansi_bright_black: Some(rgba(0x686868ff).into()), - terminal_ansi_bright_red: Some(rgba(0xf18678ff).into()), - terminal_ansi_bright_green: Some(rgba(0xd4fe7fff).into()), + terminal_ansi_bright_red: Some(rgba(0xf28779ff).into()), + terminal_ansi_bright_green: Some(rgba(0xd5ff80ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffd173ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x73cfffff).into()), + terminal_ansi_bright_blue: Some(rgba(0x73d0ffff).into()), terminal_ansi_bright_magenta: Some(rgba(0xdfbfffff).into()), terminal_ansi_bright_cyan: Some(rgba(0x95e6cbff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x171a24ff).into()), - terminal_ansi_red: Some(rgba(0xed8173ff).into()), - terminal_ansi_green: Some(rgba(0x86d96bff).into()), + terminal_ansi_black: Some(rgba(0x171b24ff).into()), + terminal_ansi_red: Some(rgba(0xed8274ff).into()), + terminal_ansi_green: Some(rgba(0x87d96cff).into()), terminal_ansi_yellow: Some(rgba(0xfacc6eff).into()), - terminal_ansi_blue: Some(rgba(0x6ccafaff).into()), + terminal_ansi_blue: Some(rgba(0x6dcbfaff).into()), terminal_ansi_magenta: Some(rgba(0xdabafaff).into()), terminal_ansi_cyan: Some(rgba(0x90e1c6ff).into()), terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xff6565ff).into()), - error: Some(rgba(0xff6565ff).into()), + deleted: Some(rgba(0xff6666ff).into()), + error: Some(rgba(0xff6666ff).into()), hidden: Some(rgba(0x707a8cff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -369,7 +369,7 @@ pub fn ayu() -> UserThemeFamily { ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xf18678ff).into()), + color: Some(rgba(0xf28779ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -377,7 +377,7 @@ pub fn ayu() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xf18678ff).into()), + color: Some(rgba(0xf28779ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -392,14 +392,14 @@ pub fn ayu() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xffad65ff).into()), + color: Some(rgba(0xffad66ff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xd4fe7fff).into()), + color: Some(rgba(0xd5ff80ff).into()), ..Default::default() }, ), @@ -434,7 +434,7 @@ pub fn ayu() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xf18678ff).into()), + color: Some(rgba(0xf28779ff).into()), ..Default::default() }, ), @@ -469,7 +469,7 @@ pub fn ayu() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xd4fe7fff).into()), + color: Some(rgba(0xd5ff80ff).into()), ..Default::default() }, ), @@ -483,14 +483,14 @@ pub fn ayu() -> UserThemeFamily { ( "string.special".into(), UserHighlightStyle { - color: Some(rgba(0xd4fe7fff).into()), + color: Some(rgba(0xd5ff80ff).into()), ..Default::default() }, ), ( "string.special.symbol".into(), UserHighlightStyle { - color: Some(rgba(0xd4fe7fff).into()), + color: Some(rgba(0xd5ff80ff).into()), ..Default::default() }, ), @@ -504,14 +504,14 @@ pub fn ayu() -> UserThemeFamily { ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xd4fe7fff).into()), + color: Some(rgba(0xd5ff80ff).into()), ..Default::default() }, ), ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x73cfffff).into()), + color: Some(rgba(0x73d0ffff).into()), ..Default::default() }, ), @@ -532,7 +532,7 @@ pub fn ayu() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xf18678ff).into()), + color: Some(rgba(0xf28779ff).into()), ..Default::default() }, ), @@ -567,19 +567,19 @@ pub fn ayu() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xbfbdb6ff).into()), terminal_background: Some(rgba(0x0b0e14ff).into()), terminal_ansi_bright_black: Some(rgba(0x686868ff).into()), - terminal_ansi_bright_red: Some(rgba(0xef7077ff).into()), - terminal_ansi_bright_green: Some(rgba(0xa9d94bff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xffb353ff).into()), + terminal_ansi_bright_red: Some(rgba(0xf07178ff).into()), + terminal_ansi_bright_green: Some(rgba(0xaad94cff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xffb454ff).into()), terminal_ansi_bright_blue: Some(rgba(0x59c2ffff).into()), terminal_ansi_bright_magenta: Some(rgba(0xd2a6ffff).into()), terminal_ansi_bright_cyan: Some(rgba(0x95e6cbff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), terminal_ansi_black: Some(rgba(0x1e232bff).into()), - terminal_ansi_red: Some(rgba(0xea6c72ff).into()), - terminal_ansi_green: Some(rgba(0x7ed962ff).into()), + terminal_ansi_red: Some(rgba(0xea6c73ff).into()), + terminal_ansi_green: Some(rgba(0x7fd962ff).into()), terminal_ansi_yellow: Some(rgba(0xf9af4fff).into()), - terminal_ansi_blue: Some(rgba(0x52bdfaff).into()), - terminal_ansi_magenta: Some(rgba(0xcca1faff).into()), + terminal_ansi_blue: Some(rgba(0x53bdfaff).into()), + terminal_ansi_magenta: Some(rgba(0xcda1faff).into()), terminal_ansi_cyan: Some(rgba(0x90e1c6ff).into()), terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()), ..Default::default() @@ -596,7 +596,7 @@ pub fn ayu() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xffb353ff).into()), + color: Some(rgba(0xffb454ff).into()), ..Default::default() }, ), @@ -610,7 +610,7 @@ pub fn ayu() -> UserThemeFamily { ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0xabb5be8c).into()), + color: Some(rgba(0xacb6bf8c).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -632,7 +632,7 @@ pub fn ayu() -> UserThemeFamily { ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xef7077ff).into()), + color: Some(rgba(0xf07178ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -640,7 +640,7 @@ pub fn ayu() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xef7077ff).into()), + color: Some(rgba(0xf07178ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -648,35 +648,35 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xffb353ff).into()), + color: Some(rgba(0xffb454ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xff8f3fff).into()), + color: Some(rgba(0xff8f40ff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xa9d94bff).into()), + color: Some(rgba(0xaad94cff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x38b9e6ff).into()), + color: Some(rgba(0x39bae6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x38b9e6ff).into()), + color: Some(rgba(0x39bae6ff).into()), ..Default::default() }, ), @@ -697,7 +697,7 @@ pub fn ayu() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xef7077ff).into()), + color: Some(rgba(0xf07178ff).into()), ..Default::default() }, ), @@ -711,7 +711,7 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation.bracket".into(), UserHighlightStyle { - color: Some(rgba(0x38b9e680).into()), + color: Some(rgba(0x39bae680).into()), ..Default::default() }, ), @@ -725,14 +725,14 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation.list_marker".into(), UserHighlightStyle { - color: Some(rgba(0xffb353ff).into()), + color: Some(rgba(0xffb454ff).into()), ..Default::default() }, ), ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xa9d94bff).into()), + color: Some(rgba(0xaad94cff).into()), ..Default::default() }, ), @@ -746,28 +746,28 @@ pub fn ayu() -> UserThemeFamily { ( "string.special".into(), UserHighlightStyle { - color: Some(rgba(0xa9d94bff).into()), + color: Some(rgba(0xaad94cff).into()), ..Default::default() }, ), ( "string.special.symbol".into(), UserHighlightStyle { - color: Some(rgba(0xa9d94bff).into()), + color: Some(rgba(0xaad94cff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x38b9e6ff).into()), + color: Some(rgba(0x39bae6ff).into()), ..Default::default() }, ), ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xa9d94bff).into()), + color: Some(rgba(0xaad94cff).into()), ..Default::default() }, ), @@ -781,7 +781,7 @@ pub fn ayu() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x38b9e6ff).into()), + color: Some(rgba(0x39bae6ff).into()), ..Default::default() }, ), @@ -795,7 +795,7 @@ pub fn ayu() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xef7077ff).into()), + color: Some(rgba(0xf07178ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index b5cf0e879f..49caf3cff9 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -24,9 +24,9 @@ pub fn dracula() -> UserThemeFamily { border_selected: Some(rgba(0xbd93f9ff).into()), border_transparent: Some(rgba(0xbd93f9ff).into()), border_disabled: Some(rgba(0xbd93f9ff).into()), - elevated_surface_background: Some(rgba(0x282a35ff).into()), - surface_background: Some(rgba(0x282a35ff).into()), - background: Some(rgba(0x282a35ff).into()), + elevated_surface_background: Some(rgba(0x282a36ff).into()), + surface_background: Some(rgba(0x282a36ff).into()), + background: Some(rgba(0x282a36ff).into()), element_background: Some(rgba(0x44475aff).into()), element_hover: Some(rgba(0x44475a75).into()), element_selected: Some(rgba(0x44475aff).into()), @@ -34,19 +34,19 @@ pub fn dracula() -> UserThemeFamily { ghost_element_hover: Some(rgba(0x44475a75).into()), text: Some(rgba(0xf8f8f2ff).into()), tab_inactive_background: Some(rgba(0x21222cff).into()), - tab_active_background: Some(rgba(0x282a35ff).into()), - editor_background: Some(rgba(0x282a35ff).into()), - editor_gutter_background: Some(rgba(0x282a35ff).into()), + tab_active_background: Some(rgba(0x282a36ff).into()), + editor_background: Some(rgba(0x282a36ff).into()), + editor_gutter_background: Some(rgba(0x282a36ff).into()), editor_line_number: Some(rgba(0x6272a4ff).into()), editor_active_line_number: Some(rgba(0xf8f8f2ff).into()), - terminal_background: Some(rgba(0x282a35ff).into()), + terminal_background: Some(rgba(0x282a36ff).into()), terminal_ansi_bright_black: Some(rgba(0x6272a4ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff6d6dff).into()), + terminal_ansi_bright_red: Some(rgba(0xff6e6eff).into()), terminal_ansi_bright_green: Some(rgba(0x69ff94ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffffa5ff).into()), - terminal_ansi_bright_blue: Some(rgba(0xd6abfeff).into()), + terminal_ansi_bright_blue: Some(rgba(0xd6acffff).into()), terminal_ansi_bright_magenta: Some(rgba(0xff92dfff).into()), - terminal_ansi_bright_cyan: Some(rgba(0xa3fefeff).into()), + terminal_ansi_bright_cyan: Some(rgba(0xa4ffffff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), terminal_ansi_black: Some(rgba(0x21222cff).into()), terminal_ansi_red: Some(rgba(0xff5555ff).into()), @@ -63,7 +63,7 @@ pub fn dracula() -> UserThemeFamily { error: Some(rgba(0xff5555ff).into()), hidden: Some(rgba(0x6272a4ff).into()), hint: Some(rgba(0x969696ff).into()), - warning: Some(rgba(0xffb76bff).into()), + warning: Some(rgba(0xffb86cff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -94,7 +94,7 @@ pub fn dracula() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xffb76bff).into()), + color: Some(rgba(0xffb86cff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 16957b3597..7de52df753 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -26,7 +26,7 @@ pub fn gruvbox() -> UserThemeFamily { border_transparent: Some(rgba(0x3c3836ff).into()), border_disabled: Some(rgba(0x3c3836ff).into()), background: Some(rgba(0x1d2021ff).into()), - element_background: Some(rgba(0x44858780).into()), + element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0x3c383680).into()), element_selected: Some(rgba(0x3c383680).into()), drop_target_background: Some(rgba(0x3c3836ff).into()), @@ -40,26 +40,26 @@ pub fn gruvbox() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xebdbb2ff).into()), terminal_background: Some(rgba(0x1d2021ff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), - terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), + terminal_ansi_bright_red: Some(rgba(0xfb4934ff).into()), + terminal_ansi_bright_green: Some(rgba(0xb8bb26ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfabd2fff).into()), terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), terminal_ansi_black: Some(rgba(0x3c3836ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_red: Some(rgba(0xcc241dff).into()), + terminal_ansi_green: Some(rgba(0x98971aff).into()), + terminal_ansi_yellow: Some(rgba(0xd79921ff).into()), + terminal_ansi_blue: Some(rgba(0x458588ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16286ff).into()), + terminal_ansi_cyan: Some(rgba(0x689d6aff).into()), terminal_ansi_white: Some(rgba(0xa89984ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xfb4833ff).into()), - error: Some(rgba(0xfb4833ff).into()), + deleted: Some(rgba(0xfb4934ff).into()), + error: Some(rgba(0xfb4934ff).into()), hidden: Some(rgba(0xa89984ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -69,7 +69,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -91,7 +91,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xfe7f18ff).into()), + color: Some(rgba(0xfe8019ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -99,21 +99,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xfb4833ff).into()), + color: Some(rgba(0xfb4934ff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -141,7 +141,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x679d6aff).into()), + color: Some(rgba(0x689d6aff).into()), ..Default::default() }, ), @@ -155,14 +155,14 @@ pub fn gruvbox() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xb8bb25ff).into()), + color: Some(rgba(0xb8bb26ff).into()), ..Default::default() }, ), ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xfb4833ff).into()), + color: Some(rgba(0xfb4934ff).into()), ..Default::default() }, ), @@ -176,21 +176,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xb8bb25ff).into()), + color: Some(rgba(0xb8bb26ff).into()), ..Default::default() }, ), ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -217,7 +217,7 @@ pub fn gruvbox() -> UserThemeFamily { border_transparent: Some(rgba(0x3c3836ff).into()), border_disabled: Some(rgba(0x3c3836ff).into()), background: Some(rgba(0x282828ff).into()), - element_background: Some(rgba(0x44858780).into()), + element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0x3c383680).into()), element_selected: Some(rgba(0x3c383680).into()), drop_target_background: Some(rgba(0x3c3836ff).into()), @@ -231,26 +231,26 @@ pub fn gruvbox() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xebdbb2ff).into()), terminal_background: Some(rgba(0x282828ff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), - terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), + terminal_ansi_bright_red: Some(rgba(0xfb4934ff).into()), + terminal_ansi_bright_green: Some(rgba(0xb8bb26ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfabd2fff).into()), terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), terminal_ansi_black: Some(rgba(0x3c3836ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_red: Some(rgba(0xcc241dff).into()), + terminal_ansi_green: Some(rgba(0x98971aff).into()), + terminal_ansi_yellow: Some(rgba(0xd79921ff).into()), + terminal_ansi_blue: Some(rgba(0x458588ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16286ff).into()), + terminal_ansi_cyan: Some(rgba(0x689d6aff).into()), terminal_ansi_white: Some(rgba(0xa89984ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xfb4833ff).into()), - error: Some(rgba(0xfb4833ff).into()), + deleted: Some(rgba(0xfb4934ff).into()), + error: Some(rgba(0xfb4934ff).into()), hidden: Some(rgba(0xa89984ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -260,7 +260,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -282,7 +282,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xfe7f18ff).into()), + color: Some(rgba(0xfe8019ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -290,21 +290,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xfb4833ff).into()), + color: Some(rgba(0xfb4934ff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -332,7 +332,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x679d6aff).into()), + color: Some(rgba(0x689d6aff).into()), ..Default::default() }, ), @@ -346,14 +346,14 @@ pub fn gruvbox() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xb8bb25ff).into()), + color: Some(rgba(0xb8bb26ff).into()), ..Default::default() }, ), ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xfb4833ff).into()), + color: Some(rgba(0xfb4934ff).into()), ..Default::default() }, ), @@ -367,21 +367,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xb8bb25ff).into()), + color: Some(rgba(0xb8bb26ff).into()), ..Default::default() }, ), ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -408,7 +408,7 @@ pub fn gruvbox() -> UserThemeFamily { border_transparent: Some(rgba(0x3c3836ff).into()), border_disabled: Some(rgba(0x3c3836ff).into()), background: Some(rgba(0x32302fff).into()), - element_background: Some(rgba(0x44858780).into()), + element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0x3c383680).into()), element_selected: Some(rgba(0x3c383680).into()), drop_target_background: Some(rgba(0x3c3836ff).into()), @@ -422,26 +422,26 @@ pub fn gruvbox() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xebdbb2ff).into()), terminal_background: Some(rgba(0x32302fff).into()), terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), - terminal_ansi_bright_red: Some(rgba(0xfb4833ff).into()), - terminal_ansi_bright_green: Some(rgba(0xb8bb25ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfabd2eff).into()), + terminal_ansi_bright_red: Some(rgba(0xfb4934ff).into()), + terminal_ansi_bright_green: Some(rgba(0xb8bb26ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfabd2fff).into()), terminal_ansi_bright_blue: Some(rgba(0x83a598ff).into()), terminal_ansi_bright_magenta: Some(rgba(0xd3869bff).into()), terminal_ansi_bright_cyan: Some(rgba(0x8ec07cff).into()), terminal_ansi_bright_white: Some(rgba(0xebdbb2ff).into()), terminal_ansi_black: Some(rgba(0x3c3836ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_red: Some(rgba(0xcc241dff).into()), + terminal_ansi_green: Some(rgba(0x98971aff).into()), + terminal_ansi_yellow: Some(rgba(0xd79921ff).into()), + terminal_ansi_blue: Some(rgba(0x458588ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16286ff).into()), + terminal_ansi_cyan: Some(rgba(0x689d6aff).into()), terminal_ansi_white: Some(rgba(0xa89984ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xfb4833ff).into()), - error: Some(rgba(0xfb4833ff).into()), + deleted: Some(rgba(0xfb4934ff).into()), + error: Some(rgba(0xfb4934ff).into()), hidden: Some(rgba(0xa89984ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -451,7 +451,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -473,7 +473,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xfe7f18ff).into()), + color: Some(rgba(0xfe8019ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -481,21 +481,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xfb4833ff).into()), + color: Some(rgba(0xfb4934ff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -523,7 +523,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x679d6aff).into()), + color: Some(rgba(0x689d6aff).into()), ..Default::default() }, ), @@ -537,14 +537,14 @@ pub fn gruvbox() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xb8bb25ff).into()), + color: Some(rgba(0xb8bb26ff).into()), ..Default::default() }, ), ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xfb4833ff).into()), + color: Some(rgba(0xfb4934ff).into()), ..Default::default() }, ), @@ -558,21 +558,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xb8bb25ff).into()), + color: Some(rgba(0xb8bb26ff).into()), ..Default::default() }, ), ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xfabd2eff).into()), + color: Some(rgba(0xfabd2fff).into()), ..Default::default() }, ), @@ -599,7 +599,7 @@ pub fn gruvbox() -> UserThemeFamily { border_transparent: Some(rgba(0xebdbb2ff).into()), border_disabled: Some(rgba(0xebdbb2ff).into()), background: Some(rgba(0xf9f5d7ff).into()), - element_background: Some(rgba(0x44858780).into()), + element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0xebdbb280).into()), element_selected: Some(rgba(0xebdbb280).into()), drop_target_background: Some(rgba(0xebdbb2ff).into()), @@ -615,18 +615,18 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xb57614ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x076678ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x8f3f71ff).into()), terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_red: Some(rgba(0xcc241dff).into()), + terminal_ansi_green: Some(rgba(0x98971aff).into()), + terminal_ansi_yellow: Some(rgba(0xd79921ff).into()), + terminal_ansi_blue: Some(rgba(0x458588ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16286ff).into()), + terminal_ansi_cyan: Some(rgba(0x689d6aff).into()), terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), ..Default::default() }, @@ -642,7 +642,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), @@ -664,7 +664,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xaf3a02ff).into()), + color: Some(rgba(0xaf3a03ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -672,7 +672,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), @@ -686,21 +686,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x8f3e71ff).into()), + color: Some(rgba(0x8f3f71ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x8f3e71ff).into()), + color: Some(rgba(0x8f3f71ff).into()), ..Default::default() }, ), @@ -714,7 +714,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x679d6aff).into()), + color: Some(rgba(0x689d6aff).into()), ..Default::default() }, ), @@ -756,21 +756,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x076678ff).into()), ..Default::default() }, ), @@ -790,7 +790,7 @@ pub fn gruvbox() -> UserThemeFamily { border_transparent: Some(rgba(0xebdbb2ff).into()), border_disabled: Some(rgba(0xebdbb2ff).into()), background: Some(rgba(0xfbf1c7ff).into()), - element_background: Some(rgba(0x44858780).into()), + element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0xebdbb280).into()), element_selected: Some(rgba(0xebdbb280).into()), drop_target_background: Some(rgba(0xebdbb2ff).into()), @@ -806,18 +806,18 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xb57614ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x076678ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x8f3f71ff).into()), terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_red: Some(rgba(0xcc241dff).into()), + terminal_ansi_green: Some(rgba(0x98971aff).into()), + terminal_ansi_yellow: Some(rgba(0xd79921ff).into()), + terminal_ansi_blue: Some(rgba(0x458588ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16286ff).into()), + terminal_ansi_cyan: Some(rgba(0x689d6aff).into()), terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), ..Default::default() }, @@ -833,7 +833,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), @@ -855,7 +855,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xaf3a02ff).into()), + color: Some(rgba(0xaf3a03ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -863,7 +863,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), @@ -877,21 +877,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x8f3e71ff).into()), + color: Some(rgba(0x8f3f71ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x8f3e71ff).into()), + color: Some(rgba(0x8f3f71ff).into()), ..Default::default() }, ), @@ -905,7 +905,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x679d6aff).into()), + color: Some(rgba(0x689d6aff).into()), ..Default::default() }, ), @@ -947,21 +947,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x076678ff).into()), ..Default::default() }, ), @@ -981,7 +981,7 @@ pub fn gruvbox() -> UserThemeFamily { border_transparent: Some(rgba(0xebdbb2ff).into()), border_disabled: Some(rgba(0xebdbb2ff).into()), background: Some(rgba(0xf2e5bcff).into()), - element_background: Some(rgba(0x44858780).into()), + element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0xebdbb280).into()), element_selected: Some(rgba(0xebdbb280).into()), drop_target_background: Some(rgba(0xebdbb2ff).into()), @@ -997,18 +997,18 @@ pub fn gruvbox() -> UserThemeFamily { terminal_ansi_bright_black: Some(rgba(0x928374ff).into()), terminal_ansi_bright_red: Some(rgba(0x9d0006ff).into()), terminal_ansi_bright_green: Some(rgba(0x79740eff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xb57613ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x066578ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x8f3e71ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xb57614ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x076678ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x8f3f71ff).into()), terminal_ansi_bright_cyan: Some(rgba(0x427b58ff).into()), terminal_ansi_bright_white: Some(rgba(0x3c3836ff).into()), terminal_ansi_black: Some(rgba(0xebdbb2ff).into()), - terminal_ansi_red: Some(rgba(0xcc241cff).into()), - terminal_ansi_green: Some(rgba(0x989719ff).into()), - terminal_ansi_yellow: Some(rgba(0xd79920ff).into()), - terminal_ansi_blue: Some(rgba(0x448587ff).into()), - terminal_ansi_magenta: Some(rgba(0xb16185ff).into()), - terminal_ansi_cyan: Some(rgba(0x679d6aff).into()), + terminal_ansi_red: Some(rgba(0xcc241dff).into()), + terminal_ansi_green: Some(rgba(0x98971aff).into()), + terminal_ansi_yellow: Some(rgba(0xd79921ff).into()), + terminal_ansi_blue: Some(rgba(0x458588ff).into()), + terminal_ansi_magenta: Some(rgba(0xb16286ff).into()), + terminal_ansi_cyan: Some(rgba(0x689d6aff).into()), terminal_ansi_white: Some(rgba(0x7c6f64ff).into()), ..Default::default() }, @@ -1024,7 +1024,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), @@ -1046,7 +1046,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xaf3a02ff).into()), + color: Some(rgba(0xaf3a03ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, @@ -1054,7 +1054,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), @@ -1068,21 +1068,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x8f3e71ff).into()), + color: Some(rgba(0x8f3f71ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x8f3e71ff).into()), + color: Some(rgba(0x8f3f71ff).into()), ..Default::default() }, ), @@ -1096,7 +1096,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x679d6aff).into()), + color: Some(rgba(0x689d6aff).into()), ..Default::default() }, ), @@ -1138,21 +1138,21 @@ pub fn gruvbox() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xb57613ff).into()), + color: Some(rgba(0xb57614ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x066578ff).into()), + color: Some(rgba(0x076678ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index c84ea7ed09..ef9b8c59a0 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -25,42 +25,42 @@ pub fn night_owl() -> UserThemeFamily { border_selected: Some(rgba(0x5f7e97ff).into()), border_transparent: Some(rgba(0x5f7e97ff).into()), border_disabled: Some(rgba(0x5f7e97ff).into()), - elevated_surface_background: Some(rgba(0x011526ff).into()), - surface_background: Some(rgba(0x011526ff).into()), - background: Some(rgba(0x011526ff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), - element_hover: Some(rgba(0x011526ff).into()), - element_selected: Some(rgba(0x234c708c).into()), - drop_target_background: Some(rgba(0x011526ff).into()), - ghost_element_hover: Some(rgba(0x011526ff).into()), + elevated_surface_background: Some(rgba(0x011627ff).into()), + surface_background: Some(rgba(0x011627ff).into()), + background: Some(rgba(0x011627ff).into()), + element_background: Some(rgba(0x7e57c2cc).into()), + element_hover: Some(rgba(0x011627ff).into()), + element_selected: Some(rgba(0x234d708c).into()), + drop_target_background: Some(rgba(0x011627ff).into()), + ghost_element_hover: Some(rgba(0x011627ff).into()), text: Some(rgba(0xd6deebff).into()), - tab_inactive_background: Some(rgba(0x01101cff).into()), - tab_active_background: Some(rgba(0x0a2842ff).into()), - editor_background: Some(rgba(0x011526ff).into()), - editor_gutter_background: Some(rgba(0x011526ff).into()), + tab_inactive_background: Some(rgba(0x01111dff).into()), + tab_active_background: Some(rgba(0x0b2942ff).into()), + editor_background: Some(rgba(0x011627ff).into()), + editor_gutter_background: Some(rgba(0x011627ff).into()), editor_line_number: Some(rgba(0x4b6479ff).into()), editor_active_line_number: Some(rgba(0xd6deebff).into()), terminal_ansi_bright_black: Some(rgba(0x575656ff).into()), - terminal_ansi_bright_red: Some(rgba(0xef524fff).into()), - terminal_ansi_bright_green: Some(rgba(0x21da6eff).into()), + terminal_ansi_bright_red: Some(rgba(0xef5350ff).into()), + terminal_ansi_bright_green: Some(rgba(0x22da6eff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffeb95ff).into()), terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), terminal_ansi_bright_magenta: Some(rgba(0xc792eaff).into()), terminal_ansi_bright_cyan: Some(rgba(0x7fdbcaff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), - terminal_ansi_black: Some(rgba(0x011526ff).into()), - terminal_ansi_red: Some(rgba(0xef524fff).into()), - terminal_ansi_green: Some(rgba(0x21da6eff).into()), + terminal_ansi_black: Some(rgba(0x011627ff).into()), + terminal_ansi_red: Some(rgba(0xef5350ff).into()), + terminal_ansi_green: Some(rgba(0x22da6eff).into()), terminal_ansi_yellow: Some(rgba(0xc5e478ff).into()), terminal_ansi_blue: Some(rgba(0x82aaffff).into()), terminal_ansi_magenta: Some(rgba(0xc792eaff).into()), - terminal_ansi_cyan: Some(rgba(0x20c7a7ff).into()), + terminal_ansi_cyan: Some(rgba(0x21c7a8ff).into()), terminal_ansi_white: Some(rgba(0xffffffff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), + deleted: Some(rgba(0xef5350ff).into()), + error: Some(rgba(0xef5350ff).into()), hidden: Some(rgba(0x5f7e97ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() @@ -116,7 +116,7 @@ pub fn night_owl() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf78b6bff).into()), + color: Some(rgba(0xf78c6cff).into()), ..Default::default() }, ), @@ -130,7 +130,7 @@ pub fn night_owl() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x80cbc4ff).into()), ..Default::default() }, ), @@ -209,10 +209,10 @@ pub fn night_owl() -> UserThemeFamily { elevated_surface_background: Some(rgba(0xf0f0f0ff).into()), surface_background: Some(rgba(0xf0f0f0ff).into()), background: Some(rgba(0xfbfbfbff).into()), - element_background: Some(rgba(0x29a298ff).into()), - element_hover: Some(rgba(0xd3e7f8ff).into()), - element_selected: Some(rgba(0xd3e7f8ff).into()), - ghost_element_hover: Some(rgba(0xd3e7f8ff).into()), + element_background: Some(rgba(0x2aa298ff).into()), + element_hover: Some(rgba(0xd3e8f8ff).into()), + element_selected: Some(rgba(0xd3e8f8ff).into()), + ghost_element_hover: Some(rgba(0xd3e8f8ff).into()), text: Some(rgba(0x403f53ff).into()), tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), tab_active_background: Some(rgba(0xf6f6f6ff).into()), @@ -222,20 +222,20 @@ pub fn night_owl() -> UserThemeFamily { editor_active_line_number: Some(rgba(0x403f53ff).into()), terminal_background: Some(rgba(0xf6f6f6ff).into()), terminal_ansi_bright_black: Some(rgba(0x403f53ff).into()), - terminal_ansi_bright_red: Some(rgba(0xde3c3aff).into()), - terminal_ansi_bright_green: Some(rgba(0x07916aff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xdaa900ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x278dd7ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xd64289ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x29a298ff).into()), + terminal_ansi_bright_red: Some(rgba(0xde3d3bff).into()), + terminal_ansi_bright_green: Some(rgba(0x08916aff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xdaaa01ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x288ed7ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xd6438aff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x2aa298ff).into()), terminal_ansi_bright_white: Some(rgba(0xf0f0f0ff).into()), terminal_ansi_black: Some(rgba(0x403f53ff).into()), - terminal_ansi_red: Some(rgba(0xde3c3aff).into()), - terminal_ansi_green: Some(rgba(0x07916aff).into()), - terminal_ansi_yellow: Some(rgba(0xe0ae01ff).into()), - terminal_ansi_blue: Some(rgba(0x278dd7ff).into()), - terminal_ansi_magenta: Some(rgba(0xd64289ff).into()), - terminal_ansi_cyan: Some(rgba(0x29a298ff).into()), + terminal_ansi_red: Some(rgba(0xde3d3bff).into()), + terminal_ansi_green: Some(rgba(0x08916aff).into()), + terminal_ansi_yellow: Some(rgba(0xe0af02ff).into()), + terminal_ansi_blue: Some(rgba(0x288ed7ff).into()), + terminal_ansi_magenta: Some(rgba(0xd6438aff).into()), + terminal_ansi_cyan: Some(rgba(0x2aa298ff).into()), terminal_ansi_white: Some(rgba(0xf0f0f0ff).into()), ..Default::default() }, @@ -244,7 +244,7 @@ pub fn night_owl() -> UserThemeFamily { error: Some(rgba(0x403f53ff).into()), hidden: Some(rgba(0x403f53ff).into()), hint: Some(rgba(0x969696ff).into()), - warning: Some(rgba(0xdaa900ff).into()), + warning: Some(rgba(0xdaaa01ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -282,7 +282,7 @@ pub fn night_owl() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x994bc3ff).into()), + color: Some(rgba(0x994cc3ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -290,7 +290,7 @@ pub fn night_owl() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0x994bc3ff).into()), + color: Some(rgba(0x994cc3ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -298,28 +298,28 @@ pub fn night_owl() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xaa0881ff).into()), + color: Some(rgba(0xaa0982ff).into()), ..Default::default() }, ), ( "operator".into(), UserHighlightStyle { - color: Some(rgba(0x0b969bff).into()), + color: Some(rgba(0x0c969bff).into()), ..Default::default() }, ), ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x0b969bff).into()), + color: Some(rgba(0x0c969bff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x994bc3ff).into()), + color: Some(rgba(0x994cc3ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -341,7 +341,7 @@ pub fn night_owl() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x994bc3ff).into()), + color: Some(rgba(0x994cc3ff).into()), ..Default::default() }, ), @@ -369,7 +369,7 @@ pub fn night_owl() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0x0b969bff).into()), + color: Some(rgba(0x0c969bff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 416907c305..5598635ff2 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -19,49 +19,49 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x1579b6ff).into()), - border_variant: Some(rgba(0x1579b6ff).into()), - border_focused: Some(rgba(0x08324eff).into()), - border_selected: Some(rgba(0x1579b6ff).into()), - border_transparent: Some(rgba(0x1579b6ff).into()), - border_disabled: Some(rgba(0x1579b6ff).into()), - elevated_surface_background: Some(rgba(0x051b28ff).into()), - surface_background: Some(rgba(0x051b28ff).into()), - background: Some(rgba(0x07263aff).into()), - element_background: Some(rgba(0x007e99ff).into()), + border: Some(rgba(0x1679b6ff).into()), + border_variant: Some(rgba(0x1679b6ff).into()), + border_focused: Some(rgba(0x09334eff).into()), + border_selected: Some(rgba(0x1679b6ff).into()), + border_transparent: Some(rgba(0x1679b6ff).into()), + border_disabled: Some(rgba(0x1679b6ff).into()), + elevated_surface_background: Some(rgba(0x051b29ff).into()), + surface_background: Some(rgba(0x051b29ff).into()), + background: Some(rgba(0x07273bff).into()), + element_background: Some(rgba(0x007f99ff).into()), element_hover: Some(rgba(0x00558a65).into()), - element_selected: Some(rgba(0x0b3f5fff).into()), - drop_target_background: Some(rgba(0x00294dff).into()), + element_selected: Some(rgba(0x0c3f5fff).into()), + drop_target_background: Some(rgba(0x002a4dff).into()), ghost_element_hover: Some(rgba(0x00558a65).into()), text: Some(rgba(0xbecfdaff).into()), - tab_inactive_background: Some(rgba(0x08324eff).into()), - tab_active_background: Some(rgba(0x07263aff).into()), - editor_background: Some(rgba(0x07263aff).into()), - editor_gutter_background: Some(rgba(0x07263aff).into()), - editor_line_number: Some(rgba(0x4c6b7fff).into()), + tab_inactive_background: Some(rgba(0x09334eff).into()), + tab_active_background: Some(rgba(0x07273bff).into()), + editor_background: Some(rgba(0x07273bff).into()), + editor_gutter_background: Some(rgba(0x07273bff).into()), + editor_line_number: Some(rgba(0x4d6c80ff).into()), editor_active_line_number: Some(rgba(0xbecfdaff).into()), - terminal_background: Some(rgba(0x051b28ff).into()), + terminal_background: Some(rgba(0x051b29ff).into()), terminal_ansi_bright_black: Some(rgba(0x475e6cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xbecfdaff).into()), - terminal_ansi_black: Some(rgba(0x28343dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_black: Some(rgba(0x28353eff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), terminal_ansi_white: Some(rgba(0xaec3d0ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x9fb6c6ff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), @@ -72,14 +72,14 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x5888a5ff).into()), + color: Some(rgba(0x5988a6ff).into()), ..Default::default() }, ), @@ -107,42 +107,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -156,14 +156,14 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5888a5ff).into()), + color: Some(rgba(0x5988a6ff).into()), ..Default::default() }, ), @@ -191,7 +191,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -205,14 +205,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -226,7 +226,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -248,7 +248,7 @@ pub fn noctis() -> UserThemeFamily { elevated_surface_background: Some(rgba(0x272022ff).into()), surface_background: Some(rgba(0x272022ff).into()), background: Some(rgba(0x322a2dff).into()), - element_background: Some(rgba(0x007e99ff).into()), + element_background: Some(rgba(0x007f99ff).into()), element_hover: Some(rgba(0x533641ff).into()), element_selected: Some(rgba(0x5c2e3e99).into()), drop_target_background: Some(rgba(0x38292eff).into()), @@ -263,25 +263,25 @@ pub fn noctis() -> UserThemeFamily { terminal_background: Some(rgba(0x272022ff).into()), terminal_ansi_bright_black: Some(rgba(0x69545bff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xcbbec2ff).into()), terminal_ansi_black: Some(rgba(0x47393eff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), terminal_ansi_white: Some(rgba(0xb9acb0ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0xbbaab0ff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), @@ -292,14 +292,14 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x8b737bff).into()), + color: Some(rgba(0x8b747cff).into()), ..Default::default() }, ), @@ -327,42 +327,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -376,14 +376,14 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x8b737bff).into()), + color: Some(rgba(0x8b747cff).into()), ..Default::default() }, ), @@ -411,7 +411,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -425,14 +425,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -446,7 +446,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -468,10 +468,10 @@ pub fn noctis() -> UserThemeFamily { elevated_surface_background: Some(rgba(0xe1eeefff).into()), surface_background: Some(rgba(0xe1eeefff).into()), background: Some(rgba(0xf4f6f6ff).into()), - element_background: Some(rgba(0x089099ff).into()), + element_background: Some(rgba(0x099099ff).into()), element_hover: Some(rgba(0xd1eafaff).into()), element_selected: Some(rgba(0xb6e1e7ff).into()), - drop_target_background: Some(rgba(0xb1c9ccff).into()), + drop_target_background: Some(rgba(0xb2cacdff).into()), ghost_element_hover: Some(rgba(0xd1eafaff).into()), text: Some(rgba(0x005661ff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), @@ -482,17 +482,17 @@ pub fn noctis() -> UserThemeFamily { editor_active_line_number: Some(rgba(0x005661ff).into()), terminal_background: Some(rgba(0xe1eeefff).into()), terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff4000ff).into()), terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x0fa3ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff6b9fff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x00cbe6ff).into()), terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), - terminal_ansi_black: Some(rgba(0x003b41ff).into()), - terminal_ansi_red: Some(rgba(0xe34d1bff).into()), + terminal_ansi_black: Some(rgba(0x003b42ff).into()), + terminal_ansi_red: Some(rgba(0xe34e1cff).into()), terminal_ansi_green: Some(rgba(0x00b368ff).into()), - terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), + terminal_ansi_yellow: Some(rgba(0xf49725ff).into()), terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), @@ -500,9 +500,9 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xff3f00ff).into()), - error: Some(rgba(0xff3f00ff).into()), - hidden: Some(rgba(0x70838dff).into()), + deleted: Some(rgba(0xff4000ff).into()), + error: Some(rgba(0xff4000ff).into()), + hidden: Some(rgba(0x71838eff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() @@ -512,7 +512,7 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x5841ffff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -547,7 +547,7 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), @@ -568,21 +568,21 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x5841ffff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -596,7 +596,7 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), @@ -688,31 +688,31 @@ pub fn noctis() -> UserThemeFamily { elevated_surface_background: Some(rgba(0xe9e7f3ff).into()), surface_background: Some(rgba(0xe9e7f3ff).into()), background: Some(rgba(0xf2f1f8ff).into()), - element_background: Some(rgba(0x8d7ffeff).into()), - element_hover: Some(rgba(0xd1cbfeff).into()), + element_background: Some(rgba(0x8e80ffff).into()), + element_hover: Some(rgba(0xd2ccffff).into()), element_selected: Some(rgba(0xbcb6e7ff).into()), drop_target_background: Some(rgba(0xafaad4aa).into()), - ghost_element_hover: Some(rgba(0xd1cbfeff).into()), + ghost_element_hover: Some(rgba(0xd2ccffff).into()), text: Some(rgba(0x0c006bff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), editor_background: Some(rgba(0xf2f1f8ff).into()), editor_gutter_background: Some(rgba(0xf2f1f8ff).into()), - editor_line_number: Some(rgba(0x9c99b0ff).into()), + editor_line_number: Some(rgba(0x9d9ab1ff).into()), editor_active_line_number: Some(rgba(0x0c006bff).into()), terminal_background: Some(rgba(0xe9e7f3ff).into()), terminal_ansi_bright_black: Some(rgba(0x0f0080ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff4000ff).into()), terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x0fa3ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff6b9fff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x00cbe6ff).into()), terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), terminal_ansi_black: Some(rgba(0x0c006bff).into()), - terminal_ansi_red: Some(rgba(0xe34d1bff).into()), + terminal_ansi_red: Some(rgba(0xe34e1cff).into()), terminal_ansi_green: Some(rgba(0x00b368ff).into()), - terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), + terminal_ansi_yellow: Some(rgba(0xf49725ff).into()), terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), @@ -720,9 +720,9 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xff3f00ff).into()), - error: Some(rgba(0xff3f00ff).into()), - hidden: Some(rgba(0x74708dff).into()), + deleted: Some(rgba(0xff4000ff).into()), + error: Some(rgba(0xff4000ff).into()), + hidden: Some(rgba(0x75718eff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() @@ -732,7 +732,7 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x5841ffff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -767,7 +767,7 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), @@ -788,21 +788,21 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x5841ffff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -816,7 +816,7 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), @@ -908,11 +908,11 @@ pub fn noctis() -> UserThemeFamily { elevated_surface_background: Some(rgba(0xf6eddaff).into()), surface_background: Some(rgba(0xf6eddaff).into()), background: Some(rgba(0xfef8ecff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0xd1f2f8ff).into()), + element_background: Some(rgba(0x099099ff).into()), + element_hover: Some(rgba(0xd2f3f9ff).into()), element_selected: Some(rgba(0xb6e1e7ff).into()), - drop_target_background: Some(rgba(0xcccab1ff).into()), - ghost_element_hover: Some(rgba(0xd1f2f8ff).into()), + drop_target_background: Some(rgba(0xcdcbb2ff).into()), + ghost_element_hover: Some(rgba(0xd2f3f9ff).into()), text: Some(rgba(0x005661ff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), @@ -922,17 +922,17 @@ pub fn noctis() -> UserThemeFamily { editor_active_line_number: Some(rgba(0x005661ff).into()), terminal_background: Some(rgba(0xf6eddaff).into()), terminal_ansi_bright_black: Some(rgba(0x004d57ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff3f00ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff4000ff).into()), terminal_ansi_bright_green: Some(rgba(0x00d17aff).into()), terminal_ansi_bright_yellow: Some(rgba(0xff8c00ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x0ea3ffff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff6b9eff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x00cae6ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x0fa3ffff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff6b9fff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x00cbe6ff).into()), terminal_ansi_bright_white: Some(rgba(0xbbc3c4ff).into()), - terminal_ansi_black: Some(rgba(0x003b41ff).into()), - terminal_ansi_red: Some(rgba(0xe34d1bff).into()), + terminal_ansi_black: Some(rgba(0x003b42ff).into()), + terminal_ansi_red: Some(rgba(0xe34e1cff).into()), terminal_ansi_green: Some(rgba(0x00b368ff).into()), - terminal_ansi_yellow: Some(rgba(0xf49724ff).into()), + terminal_ansi_yellow: Some(rgba(0xf49725ff).into()), terminal_ansi_blue: Some(rgba(0x0094f0ff).into()), terminal_ansi_magenta: Some(rgba(0xff5792ff).into()), terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()), @@ -940,9 +940,9 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xff3f00ff).into()), - error: Some(rgba(0xff3f00ff).into()), - hidden: Some(rgba(0x878476ff).into()), + deleted: Some(rgba(0xff4000ff).into()), + error: Some(rgba(0xff4000ff).into()), + hidden: Some(rgba(0x888477ff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() @@ -952,7 +952,7 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x5841ffff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -987,7 +987,7 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), @@ -1008,21 +1008,21 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x5841ffff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -1036,7 +1036,7 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x0094a8ff).into()), + color: Some(rgba(0x0095a8ff).into()), ..Default::default() }, ), @@ -1119,22 +1119,22 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x496c83ff).into()), - border_variant: Some(rgba(0x496c83ff).into()), - border_focused: Some(rgba(0x202d37ff).into()), - border_selected: Some(rgba(0x496c83ff).into()), - border_transparent: Some(rgba(0x496c83ff).into()), - border_disabled: Some(rgba(0x496c83ff).into()), + border: Some(rgba(0x496d83ff).into()), + border_variant: Some(rgba(0x496d83ff).into()), + border_focused: Some(rgba(0x202e37ff).into()), + border_selected: Some(rgba(0x496d83ff).into()), + border_transparent: Some(rgba(0x496d83ff).into()), + border_disabled: Some(rgba(0x496d83ff).into()), elevated_surface_background: Some(rgba(0x0e1920ff).into()), surface_background: Some(rgba(0x0e1920ff).into()), background: Some(rgba(0x1b2932ff).into()), element_background: Some(rgba(0x2e616bff).into()), element_hover: Some(rgba(0x00558aff).into()), element_selected: Some(rgba(0x2c414eff).into()), - drop_target_background: Some(rgba(0x152836ff).into()), + drop_target_background: Some(rgba(0x152837ff).into()), ghost_element_hover: Some(rgba(0x00558aff).into()), text: Some(rgba(0xc5cdd3ff).into()), - tab_inactive_background: Some(rgba(0x202d37ff).into()), + tab_inactive_background: Some(rgba(0x202e37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), editor_background: Some(rgba(0x1b2932ff).into()), editor_gutter_background: Some(rgba(0x1b2932ff).into()), @@ -1147,21 +1147,21 @@ pub fn noctis() -> UserThemeFamily { terminal_ansi_bright_yellow: Some(rgba(0xd1aa7bff).into()), terminal_ansi_bright_blue: Some(rgba(0x68a4caff).into()), terminal_ansi_bright_magenta: Some(rgba(0xc88da2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x84bfc8ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x84c0c8ff).into()), terminal_ansi_bright_white: Some(rgba(0xc5d1d3ff).into()), - terminal_ansi_black: Some(rgba(0x182935ff).into()), + terminal_ansi_black: Some(rgba(0x182a35ff).into()), terminal_ansi_red: Some(rgba(0xc08872ff).into()), terminal_ansi_green: Some(rgba(0x72c09fff).into()), terminal_ansi_yellow: Some(rgba(0xc8a984ff).into()), - terminal_ansi_blue: Some(rgba(0x6095b7ff).into()), + terminal_ansi_blue: Some(rgba(0x6196b8ff).into()), terminal_ansi_magenta: Some(rgba(0xc28097ff).into()), terminal_ansi_cyan: Some(rgba(0x72b7c0ff).into()), terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xb96245ff).into()), - error: Some(rgba(0xb96245ff).into()), + deleted: Some(rgba(0xb96346ff).into()), + error: Some(rgba(0xb96346ff).into()), hidden: Some(rgba(0x96a8b6ff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), @@ -1172,14 +1172,14 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x7067b1ff).into()), + color: Some(rgba(0x7068b1ff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x5d7787ff).into()), + color: Some(rgba(0x5e7887ff).into()), ..Default::default() }, ), @@ -1207,7 +1207,7 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x3e848dff).into()), + color: Some(rgba(0x3f848dff).into()), ..Default::default() }, ), @@ -1228,21 +1228,21 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x3e848dff).into()), + color: Some(rgba(0x3f848dff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x3e848dff).into()), + color: Some(rgba(0x3f848dff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x7067b1ff).into()), + color: Some(rgba(0x7068b1ff).into()), ..Default::default() }, ), @@ -1256,14 +1256,14 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x3e848dff).into()), + color: Some(rgba(0x3f848dff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5d7787ff).into()), + color: Some(rgba(0x5e7887ff).into()), ..Default::default() }, ), @@ -1339,49 +1339,49 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x0d6571ff).into()), - border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x063940ff).into()), - border_selected: Some(rgba(0x0d6571ff).into()), - border_transparent: Some(rgba(0x0d6571ff).into()), - border_disabled: Some(rgba(0x0d6571ff).into()), - elevated_surface_background: Some(rgba(0x03181aff).into()), - surface_background: Some(rgba(0x03181aff).into()), - background: Some(rgba(0x052428ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0x0b505aff).into()), - element_selected: Some(rgba(0x0d6571ff).into()), + border: Some(rgba(0x0e6671ff).into()), + border_variant: Some(rgba(0x0e6671ff).into()), + border_focused: Some(rgba(0x073940ff).into()), + border_selected: Some(rgba(0x0e6671ff).into()), + border_transparent: Some(rgba(0x0e6671ff).into()), + border_disabled: Some(rgba(0x0e6671ff).into()), + elevated_surface_background: Some(rgba(0x03191bff).into()), + surface_background: Some(rgba(0x03191bff).into()), + background: Some(rgba(0x052529ff).into()), + element_background: Some(rgba(0x099099ff).into()), + element_hover: Some(rgba(0x0b515bff).into()), + element_selected: Some(rgba(0x0e6671ff).into()), drop_target_background: Some(rgba(0x00404dff).into()), - ghost_element_hover: Some(rgba(0x0b505aff).into()), - text: Some(rgba(0xb1c9ccff).into()), - tab_inactive_background: Some(rgba(0x052e32ff).into()), - tab_active_background: Some(rgba(0x052428ff).into()), - editor_background: Some(rgba(0x052428ff).into()), - editor_gutter_background: Some(rgba(0x052428ff).into()), + ghost_element_hover: Some(rgba(0x0b515bff).into()), + text: Some(rgba(0xb2cacdff).into()), + tab_inactive_background: Some(rgba(0x062e32ff).into()), + tab_active_background: Some(rgba(0x052529ff).into()), + editor_background: Some(rgba(0x052529ff).into()), + editor_gutter_background: Some(rgba(0x052529ff).into()), editor_line_number: Some(rgba(0x4e6b6eff).into()), - editor_active_line_number: Some(rgba(0xb1c9ccff).into()), - terminal_background: Some(rgba(0x03181aff).into()), + editor_active_line_number: Some(rgba(0xb2cacdff).into()), + terminal_background: Some(rgba(0x03191bff).into()), terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), terminal_ansi_black: Some(rgba(0x324a4dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), + terminal_ansi_white: Some(rgba(0xb2cacdff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x87a7abff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa487ff).into()), @@ -1392,7 +1392,7 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1406,7 +1406,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1427,42 +1427,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1476,7 +1476,7 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), @@ -1490,7 +1490,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation.delimiter".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1504,14 +1504,14 @@ pub fn noctis() -> UserThemeFamily { ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -1525,14 +1525,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -1546,7 +1546,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1559,49 +1559,49 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x0d6571ff).into()), - border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x052e32ff).into()), - border_selected: Some(rgba(0x0d6571ff).into()), - border_transparent: Some(rgba(0x0d6571ff).into()), - border_disabled: Some(rgba(0x0d6571ff).into()), + border: Some(rgba(0x0e6671ff).into()), + border_variant: Some(rgba(0x0e6671ff).into()), + border_focused: Some(rgba(0x062e32ff).into()), + border_selected: Some(rgba(0x0e6671ff).into()), + border_transparent: Some(rgba(0x0e6671ff).into()), + border_disabled: Some(rgba(0x0e6671ff).into()), elevated_surface_background: Some(rgba(0x020c0eff).into()), surface_background: Some(rgba(0x020c0eff).into()), - background: Some(rgba(0x031316ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0x0b505aff).into()), - element_selected: Some(rgba(0x0d6571ff).into()), + background: Some(rgba(0x031417ff).into()), + element_background: Some(rgba(0x099099ff).into()), + element_hover: Some(rgba(0x0b515bff).into()), + element_selected: Some(rgba(0x0e6671ff).into()), drop_target_background: Some(rgba(0x00404dff).into()), - ghost_element_hover: Some(rgba(0x0b505aff).into()), - text: Some(rgba(0xb1c9ccff).into()), - tab_inactive_background: Some(rgba(0x052e32ff).into()), - tab_active_background: Some(rgba(0x031316ff).into()), - editor_background: Some(rgba(0x031316ff).into()), - editor_gutter_background: Some(rgba(0x031316ff).into()), + ghost_element_hover: Some(rgba(0x0b515bff).into()), + text: Some(rgba(0xb2cacdff).into()), + tab_inactive_background: Some(rgba(0x062e32ff).into()), + tab_active_background: Some(rgba(0x031417ff).into()), + editor_background: Some(rgba(0x031417ff).into()), + editor_gutter_background: Some(rgba(0x031417ff).into()), editor_line_number: Some(rgba(0x4e6b6eff).into()), - editor_active_line_number: Some(rgba(0xb1c9ccff).into()), + editor_active_line_number: Some(rgba(0xb2cacdff).into()), terminal_background: Some(rgba(0x020c0eff).into()), terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), terminal_ansi_black: Some(rgba(0x324a4dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), + terminal_ansi_white: Some(rgba(0xb2cacdff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x87a7abff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa487ff).into()), @@ -1612,7 +1612,7 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1626,7 +1626,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1647,42 +1647,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1696,7 +1696,7 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), @@ -1710,7 +1710,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation.delimiter".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1724,14 +1724,14 @@ pub fn noctis() -> UserThemeFamily { ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -1745,14 +1745,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -1766,7 +1766,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1779,49 +1779,49 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x0d6571ff).into()), - border_variant: Some(rgba(0x0d6571ff).into()), - border_focused: Some(rgba(0x052e32ff).into()), - border_selected: Some(rgba(0x0d6571ff).into()), - border_transparent: Some(rgba(0x0d6571ff).into()), - border_disabled: Some(rgba(0x0d6571ff).into()), + border: Some(rgba(0x0e6671ff).into()), + border_variant: Some(rgba(0x0e6671ff).into()), + border_focused: Some(rgba(0x062e32ff).into()), + border_selected: Some(rgba(0x0e6671ff).into()), + border_transparent: Some(rgba(0x0e6671ff).into()), + border_disabled: Some(rgba(0x0e6671ff).into()), elevated_surface_background: Some(rgba(0x020c0eff).into()), surface_background: Some(rgba(0x020c0eff).into()), - background: Some(rgba(0x031316ff).into()), - element_background: Some(rgba(0x089099ff).into()), - element_hover: Some(rgba(0x0b505aff).into()), - element_selected: Some(rgba(0x0d6571ff).into()), + background: Some(rgba(0x031417ff).into()), + element_background: Some(rgba(0x099099ff).into()), + element_hover: Some(rgba(0x0b515bff).into()), + element_selected: Some(rgba(0x0e6671ff).into()), drop_target_background: Some(rgba(0x00404dff).into()), - ghost_element_hover: Some(rgba(0x0b505aff).into()), - text: Some(rgba(0xb1c9ccff).into()), - tab_inactive_background: Some(rgba(0x052e32ff).into()), - tab_active_background: Some(rgba(0x031316ff).into()), - editor_background: Some(rgba(0x031316ff).into()), - editor_gutter_background: Some(rgba(0x031316ff).into()), + ghost_element_hover: Some(rgba(0x0b515bff).into()), + text: Some(rgba(0xb2cacdff).into()), + tab_inactive_background: Some(rgba(0x062e32ff).into()), + tab_active_background: Some(rgba(0x031417ff).into()), + editor_background: Some(rgba(0x031417ff).into()), + editor_gutter_background: Some(rgba(0x031417ff).into()), editor_line_number: Some(rgba(0x4e6b6eff).into()), - editor_active_line_number: Some(rgba(0xb1c9ccff).into()), + editor_active_line_number: Some(rgba(0xb2cacdff).into()), terminal_background: Some(rgba(0x020c0eff).into()), terminal_ansi_bright_black: Some(rgba(0x47686cff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xc1d4d7ff).into()), terminal_ansi_black: Some(rgba(0x324a4dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), - terminal_ansi_white: Some(rgba(0xb1c9ccff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), + terminal_ansi_white: Some(rgba(0xb2cacdff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x87a7abff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa487ff).into()), @@ -1832,7 +1832,7 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1846,7 +1846,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1867,42 +1867,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1916,7 +1916,7 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), @@ -1930,7 +1930,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation.delimiter".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1944,14 +1944,14 @@ pub fn noctis() -> UserThemeFamily { ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xb1c9ccff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -1965,14 +1965,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -1986,7 +1986,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1999,18 +1999,18 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x6d66a7ff).into()), - border_variant: Some(rgba(0x6d66a7ff).into()), + border: Some(rgba(0x6e67a8ff).into()), + border_variant: Some(rgba(0x6e67a8ff).into()), border_focused: Some(rgba(0x2f2c49ff).into()), - border_selected: Some(rgba(0x6d66a7ff).into()), - border_transparent: Some(rgba(0x6d66a7ff).into()), - border_disabled: Some(rgba(0x6d66a7ff).into()), + border_selected: Some(rgba(0x6e67a8ff).into()), + border_transparent: Some(rgba(0x6e67a8ff).into()), + border_disabled: Some(rgba(0x6e67a8ff).into()), elevated_surface_background: Some(rgba(0x1f1d30ff).into()), surface_background: Some(rgba(0x1f1d30ff).into()), background: Some(rgba(0x292640ff).into()), - element_background: Some(rgba(0x007e99ff).into()), + element_background: Some(rgba(0x007f99ff).into()), element_hover: Some(rgba(0x383866ff).into()), - element_selected: Some(rgba(0x322e5cff).into()), + element_selected: Some(rgba(0x332e5cff).into()), drop_target_background: Some(rgba(0x202040ff).into()), ghost_element_hover: Some(rgba(0x383866ff).into()), text: Some(rgba(0xc5c2d6ff).into()), @@ -2023,25 +2023,25 @@ pub fn noctis() -> UserThemeFamily { terminal_background: Some(rgba(0x1f1d30ff).into()), terminal_ansi_bright_black: Some(rgba(0x504e65ff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xc5c2d6ff).into()), terminal_ansi_black: Some(rgba(0x302f3dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), terminal_ansi_white: Some(rgba(0xb6b3ccff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0xa9a5c0ff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), @@ -2052,14 +2052,14 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x716b93ff).into()), + color: Some(rgba(0x716c93ff).into()), ..Default::default() }, ), @@ -2087,42 +2087,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -2136,14 +2136,14 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x716b93ff).into()), + color: Some(rgba(0x716c93ff).into()), ..Default::default() }, ), @@ -2171,7 +2171,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -2185,14 +2185,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -2206,7 +2206,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -2219,20 +2219,20 @@ pub fn noctis() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x8666a7ff).into()), - border_variant: Some(rgba(0x8666a7ff).into()), + border: Some(rgba(0x8767a8ff).into()), + border_variant: Some(rgba(0x8767a8ff).into()), border_focused: Some(rgba(0x3d2e4dff).into()), - border_selected: Some(rgba(0x8666a7ff).into()), - border_transparent: Some(rgba(0x8666a7ff).into()), - border_disabled: Some(rgba(0x8666a7ff).into()), + border_selected: Some(rgba(0x8767a8ff).into()), + border_transparent: Some(rgba(0x8767a8ff).into()), + border_disabled: Some(rgba(0x8767a8ff).into()), elevated_surface_background: Some(rgba(0x291d35ff).into()), surface_background: Some(rgba(0x291d35ff).into()), background: Some(rgba(0x30243dff).into()), - element_background: Some(rgba(0x007e99ff).into()), - element_hover: Some(rgba(0x69438dff).into()), + element_background: Some(rgba(0x007f99ff).into()), + element_hover: Some(rgba(0x6a448dff).into()), element_selected: Some(rgba(0x472e60ff).into()), drop_target_background: Some(rgba(0x302040ff).into()), - ghost_element_hover: Some(rgba(0x69438dff).into()), + ghost_element_hover: Some(rgba(0x6a448dff).into()), text: Some(rgba(0xccbfd9ff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), @@ -2243,25 +2243,25 @@ pub fn noctis() -> UserThemeFamily { terminal_background: Some(rgba(0x291d35ff).into()), terminal_ansi_bright_black: Some(rgba(0x594e65ff).into()), terminal_ansi_bright_red: Some(rgba(0xe97749ff).into()), - terminal_ansi_bright_green: Some(rgba(0x5febb1ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xe69532ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x5fb5ebff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xe697b2ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x5fdaebff).into()), + terminal_ansi_bright_green: Some(rgba(0x60ebb1ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xe69533ff).into()), + terminal_ansi_bright_blue: Some(rgba(0x60b6ebff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xe798b3ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x60dbebff).into()), terminal_ansi_bright_white: Some(rgba(0xccbfd9ff).into()), terminal_ansi_black: Some(rgba(0x362f3dff).into()), - terminal_ansi_red: Some(rgba(0xe66432ff).into()), + terminal_ansi_red: Some(rgba(0xe66533ff).into()), terminal_ansi_green: Some(rgba(0x49e9a6ff).into()), terminal_ansi_yellow: Some(rgba(0xe4b781ff).into()), terminal_ansi_blue: Some(rgba(0x49ace9ff).into()), - terminal_ansi_magenta: Some(rgba(0xdf759aff).into()), - terminal_ansi_cyan: Some(rgba(0x49d5e9ff).into()), + terminal_ansi_magenta: Some(rgba(0xdf769bff).into()), + terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()), terminal_ansi_white: Some(rgba(0xbfafcfff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xe34d1bff).into()), - error: Some(rgba(0xe34d1bff).into()), + deleted: Some(rgba(0xe34e1cff).into()), + error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0xb3a5c0ff).into()), hint: Some(rgba(0x969696ff).into()), warning: Some(rgba(0xffa857ff).into()), @@ -2272,14 +2272,14 @@ pub fn noctis() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x7e6499ff).into()), + color: Some(rgba(0x7f659aff).into()), ..Default::default() }, ), @@ -2307,42 +2307,42 @@ pub fn noctis() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0x705febff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -2356,14 +2356,14 @@ pub fn noctis() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x15a2b6ff).into()), + color: Some(rgba(0x16a3b6ff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x7e6499ff).into()), + color: Some(rgba(0x7f659aff).into()), ..Default::default() }, ), @@ -2391,7 +2391,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf759aff).into()), + color: Some(rgba(0xdf769bff).into()), ..Default::default() }, ), @@ -2405,14 +2405,14 @@ pub fn noctis() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d5e9ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -2426,7 +2426,7 @@ pub fn noctis() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xe66432ff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 0c40275617..e1c4e35f58 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -27,10 +27,10 @@ pub fn nord() -> UserThemeFamily { elevated_surface_background: Some(rgba(0x2e3440ff).into()), surface_background: Some(rgba(0x2e3440ff).into()), background: Some(rgba(0x2e3440ff).into()), - element_background: Some(rgba(0x88bfd0ee).into()), + element_background: Some(rgba(0x88c0d0ee).into()), element_hover: Some(rgba(0x3b4252ff).into()), - element_selected: Some(rgba(0x88bfd0ff).into()), - drop_target_background: Some(rgba(0x88bfd099).into()), + element_selected: Some(rgba(0x88c0d0ff).into()), + drop_target_background: Some(rgba(0x88c0d099).into()), ghost_element_hover: Some(rgba(0x3b4252ff).into()), text: Some(rgba(0xd8dee9ff).into()), tab_inactive_background: Some(rgba(0x2e3440ff).into()), @@ -45,7 +45,7 @@ pub fn nord() -> UserThemeFamily { terminal_ansi_bright_green: Some(rgba(0xa3be8cff).into()), terminal_ansi_bright_yellow: Some(rgba(0xebcb8bff).into()), terminal_ansi_bright_blue: Some(rgba(0x81a1c1ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xb48eacff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xb48eadff).into()), terminal_ansi_bright_cyan: Some(rgba(0x8fbcbbff).into()), terminal_ansi_bright_white: Some(rgba(0xeceff4ff).into()), terminal_ansi_black: Some(rgba(0x3b4252ff).into()), @@ -53,8 +53,8 @@ pub fn nord() -> UserThemeFamily { terminal_ansi_green: Some(rgba(0xa3be8cff).into()), terminal_ansi_yellow: Some(rgba(0xebcb8bff).into()), terminal_ansi_blue: Some(rgba(0x81a1c1ff).into()), - terminal_ansi_magenta: Some(rgba(0xb48eacff).into()), - terminal_ansi_cyan: Some(rgba(0x88bfd0ff).into()), + terminal_ansi_magenta: Some(rgba(0xb48eadff).into()), + terminal_ansi_cyan: Some(rgba(0x88c0d0ff).into()), terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()), ..Default::default() }, @@ -85,7 +85,7 @@ pub fn nord() -> UserThemeFamily { ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x606e87ff).into()), + color: Some(rgba(0x616e88ff).into()), ..Default::default() }, ), @@ -106,7 +106,7 @@ pub fn nord() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x88bfd0ff).into()), + color: Some(rgba(0x88c0d0ff).into()), ..Default::default() }, ), @@ -120,7 +120,7 @@ pub fn nord() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xb48eacff).into()), + color: Some(rgba(0xb48eadff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index f0f8e4f170..21e77dbacf 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -19,29 +19,29 @@ pub fn palenight() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x282b3bff).into()), - border_variant: Some(rgba(0x282b3bff).into()), - border_focused: Some(rgba(0x282b3bff).into()), - border_selected: Some(rgba(0x282b3bff).into()), - border_transparent: Some(rgba(0x282b3bff).into()), - border_disabled: Some(rgba(0x282b3bff).into()), - elevated_surface_background: Some(rgba(0x292c3eff).into()), - surface_background: Some(rgba(0x292c3eff).into()), - background: Some(rgba(0x292c3eff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), + border: Some(rgba(0x282b3cff).into()), + border_variant: Some(rgba(0x282b3cff).into()), + border_focused: Some(rgba(0x282b3cff).into()), + border_selected: Some(rgba(0x282b3cff).into()), + border_transparent: Some(rgba(0x282b3cff).into()), + border_disabled: Some(rgba(0x282b3cff).into()), + elevated_surface_background: Some(rgba(0x292d3eff).into()), + surface_background: Some(rgba(0x292d3eff).into()), + background: Some(rgba(0x292d3eff).into()), + element_background: Some(rgba(0x7e57c2cc).into()), element_hover: Some(rgba(0x0000001a).into()), - element_selected: Some(rgba(0x7d56c1ff).into()), + element_selected: Some(rgba(0x7e57c2ff).into()), drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), - tab_active_background: Some(rgba(0x292c3eff).into()), - editor_background: Some(rgba(0x292c3eff).into()), - editor_gutter_background: Some(rgba(0x292c3eff).into()), + tab_active_background: Some(rgba(0x292d3eff).into()), + editor_background: Some(rgba(0x292d3eff).into()), + editor_gutter_background: Some(rgba(0x292d3eff).into()), editor_line_number: Some(rgba(0x4c5374ff).into()), editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff5572ff).into()), terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), @@ -49,7 +49,7 @@ pub fn palenight() -> UserThemeFamily { terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), terminal_ansi_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_red: Some(rgba(0xff5572ff).into()), terminal_ansi_green: Some(rgba(0xa9c77dff).into()), terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), terminal_ansi_blue: Some(rgba(0x82aaffff).into()), @@ -59,9 +59,9 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x9199c8ff).into()), + deleted: Some(rgba(0xef5350ff).into()), + error: Some(rgba(0xef5350ff).into()), + hidden: Some(rgba(0x929ac9ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() }, @@ -84,7 +84,7 @@ pub fn palenight() -> UserThemeFamily { ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x687097ff).into()), + color: Some(rgba(0x697098ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -143,7 +143,7 @@ pub fn palenight() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf78b6bff).into()), + color: Some(rgba(0xf78c6cff).into()), ..Default::default() }, ), @@ -157,7 +157,7 @@ pub fn palenight() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x80cbc4ff).into()), ..Default::default() }, ), @@ -185,7 +185,7 @@ pub fn palenight() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xff5571ff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -213,7 +213,7 @@ pub fn palenight() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xff5571ff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -226,29 +226,29 @@ pub fn palenight() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x282b3bff).into()), - border_variant: Some(rgba(0x282b3bff).into()), - border_focused: Some(rgba(0x282b3bff).into()), - border_selected: Some(rgba(0x282b3bff).into()), - border_transparent: Some(rgba(0x282b3bff).into()), - border_disabled: Some(rgba(0x282b3bff).into()), - elevated_surface_background: Some(rgba(0x292c3eff).into()), - surface_background: Some(rgba(0x292c3eff).into()), - background: Some(rgba(0x292c3eff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), + border: Some(rgba(0x282b3cff).into()), + border_variant: Some(rgba(0x282b3cff).into()), + border_focused: Some(rgba(0x282b3cff).into()), + border_selected: Some(rgba(0x282b3cff).into()), + border_transparent: Some(rgba(0x282b3cff).into()), + border_disabled: Some(rgba(0x282b3cff).into()), + elevated_surface_background: Some(rgba(0x292d3eff).into()), + surface_background: Some(rgba(0x292d3eff).into()), + background: Some(rgba(0x292d3eff).into()), + element_background: Some(rgba(0x7e57c2cc).into()), element_hover: Some(rgba(0x0000001a).into()), - element_selected: Some(rgba(0x7d56c1ff).into()), + element_selected: Some(rgba(0x7e57c2ff).into()), drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), - tab_active_background: Some(rgba(0x292c3eff).into()), - editor_background: Some(rgba(0x292c3eff).into()), - editor_gutter_background: Some(rgba(0x292c3eff).into()), + tab_active_background: Some(rgba(0x292d3eff).into()), + editor_background: Some(rgba(0x292d3eff).into()), + editor_gutter_background: Some(rgba(0x292d3eff).into()), editor_line_number: Some(rgba(0x4c5374ff).into()), editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff5572ff).into()), terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), @@ -256,7 +256,7 @@ pub fn palenight() -> UserThemeFamily { terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), terminal_ansi_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_red: Some(rgba(0xff5572ff).into()), terminal_ansi_green: Some(rgba(0xa9c77dff).into()), terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), terminal_ansi_blue: Some(rgba(0x82aaffff).into()), @@ -266,9 +266,9 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x9199c8ff).into()), + deleted: Some(rgba(0xef5350ff).into()), + error: Some(rgba(0xef5350ff).into()), + hidden: Some(rgba(0x929ac9ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() }, @@ -291,7 +291,7 @@ pub fn palenight() -> UserThemeFamily { ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x687097ff).into()), + color: Some(rgba(0x697098ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -350,7 +350,7 @@ pub fn palenight() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf78b6bff).into()), + color: Some(rgba(0xf78c6cff).into()), ..Default::default() }, ), @@ -364,7 +364,7 @@ pub fn palenight() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x80cbc4ff).into()), ..Default::default() }, ), @@ -392,7 +392,7 @@ pub fn palenight() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xff5571ff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -420,7 +420,7 @@ pub fn palenight() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xff5571ff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -439,23 +439,23 @@ pub fn palenight() -> UserThemeFamily { border_selected: Some(rgba(0x2c2f40ff).into()), border_transparent: Some(rgba(0x2c2f40ff).into()), border_disabled: Some(rgba(0x2c2f40ff).into()), - elevated_surface_background: Some(rgba(0x25283aff).into()), - surface_background: Some(rgba(0x25283aff).into()), - background: Some(rgba(0x292c3eff).into()), - element_background: Some(rgba(0x7d56c1cc).into()), + elevated_surface_background: Some(rgba(0x25293aff).into()), + surface_background: Some(rgba(0x25293aff).into()), + background: Some(rgba(0x292d3eff).into()), + element_background: Some(rgba(0x7e57c2cc).into()), element_hover: Some(rgba(0x0000001a).into()), - element_selected: Some(rgba(0x7d56c1ff).into()), + element_selected: Some(rgba(0x7e57c2ff).into()), drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), - tab_active_background: Some(rgba(0x25283aff).into()), - editor_background: Some(rgba(0x292c3eff).into()), - editor_gutter_background: Some(rgba(0x292c3eff).into()), + tab_active_background: Some(rgba(0x25293aff).into()), + editor_background: Some(rgba(0x292d3eff).into()), + editor_gutter_background: Some(rgba(0x292d3eff).into()), editor_line_number: Some(rgba(0x4c5374ff).into()), editor_active_line_number: Some(rgba(0xbfc7d5ff).into()), terminal_ansi_bright_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_bright_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_bright_red: Some(rgba(0xff5572ff).into()), terminal_ansi_bright_green: Some(rgba(0xc3e88dff).into()), terminal_ansi_bright_yellow: Some(rgba(0xffcb6bff).into()), terminal_ansi_bright_blue: Some(rgba(0x82aaffff).into()), @@ -463,7 +463,7 @@ pub fn palenight() -> UserThemeFamily { terminal_ansi_bright_cyan: Some(rgba(0x89ddffff).into()), terminal_ansi_bright_white: Some(rgba(0xffffffff).into()), terminal_ansi_black: Some(rgba(0x676e95ff).into()), - terminal_ansi_red: Some(rgba(0xff5571ff).into()), + terminal_ansi_red: Some(rgba(0xff5572ff).into()), terminal_ansi_green: Some(rgba(0xa9c77dff).into()), terminal_ansi_yellow: Some(rgba(0xffcb6bff).into()), terminal_ansi_blue: Some(rgba(0x82aaffff).into()), @@ -473,9 +473,9 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xef524fff).into()), - error: Some(rgba(0xef524fff).into()), - hidden: Some(rgba(0x9199c8ff).into()), + deleted: Some(rgba(0xef5350ff).into()), + error: Some(rgba(0xef5350ff).into()), + hidden: Some(rgba(0x929ac9ff).into()), hint: Some(rgba(0x969696ff).into()), ..Default::default() }, @@ -498,7 +498,7 @@ pub fn palenight() -> UserThemeFamily { ( "comment".into(), UserHighlightStyle { - color: Some(rgba(0x687097ff).into()), + color: Some(rgba(0x697098ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -557,7 +557,7 @@ pub fn palenight() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf78b6bff).into()), + color: Some(rgba(0xf78c6cff).into()), ..Default::default() }, ), @@ -571,7 +571,7 @@ pub fn palenight() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0x7fcac3ff).into()), + color: Some(rgba(0x80cbc4ff).into()), ..Default::default() }, ), @@ -599,7 +599,7 @@ pub fn palenight() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xff5571ff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -627,7 +627,7 @@ pub fn palenight() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xff5571ff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 42f0b50524..7107bb79a3 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -42,16 +42,16 @@ pub fn rose_pine() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xe0def4ff).into()), terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_bright_green: Some(rgba(0x30738fff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_bright_green: Some(rgba(0x31748fff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xf6c177ff).into()), terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()), terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()), terminal_ansi_bright_cyan: Some(rgba(0xebbcbaff).into()), terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()), terminal_ansi_black: Some(rgba(0x26233aff).into()), terminal_ansi_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_green: Some(rgba(0x30738fff).into()), - terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_green: Some(rgba(0x31748fff).into()), + terminal_ansi_yellow: Some(rgba(0xf6c177ff).into()), terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()), terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()), terminal_ansi_cyan: Some(rgba(0xebbcbaff).into()), @@ -63,7 +63,7 @@ pub fn rose_pine() -> UserThemeFamily { error: Some(rgba(0xeb6f92ff).into()), hidden: Some(rgba(0x908caaff).into()), hint: Some(rgba(0x908caaff).into()), - warning: Some(rgba(0xf5c177ff).into()), + warning: Some(rgba(0xf6c177ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -102,7 +102,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0x30738fff).into()), + color: Some(rgba(0x31748fff).into()), ..Default::default() }, ), @@ -130,7 +130,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xf5c177ff).into()), + color: Some(rgba(0xf6c177ff).into()), ..Default::default() }, ), @@ -144,7 +144,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xf5c177ff).into()), + color: Some(rgba(0xf6c177ff).into()), ..Default::default() }, ), @@ -192,13 +192,13 @@ pub fn rose_pine() -> UserThemeFamily { border_selected: Some(rgba(0x000000ff).into()), border_transparent: Some(rgba(0x000000ff).into()), border_disabled: Some(rgba(0x000000ff).into()), - elevated_surface_background: Some(rgba(0x2a273eff).into()), - surface_background: Some(rgba(0x2a273eff).into()), + elevated_surface_background: Some(rgba(0x2a273fff).into()), + surface_background: Some(rgba(0x2a273fff).into()), background: Some(rgba(0x232136ff).into()), element_background: Some(rgba(0xea9a97ff).into()), element_hover: Some(rgba(0x817c9c14).into()), element_selected: Some(rgba(0x817c9c26).into()), - drop_target_background: Some(rgba(0x2a273eff).into()), + drop_target_background: Some(rgba(0x2a273fff).into()), ghost_element_hover: Some(rgba(0x817c9c14).into()), text: Some(rgba(0xe0def4ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), @@ -209,16 +209,16 @@ pub fn rose_pine() -> UserThemeFamily { editor_active_line_number: Some(rgba(0xe0def4ff).into()), terminal_ansi_bright_black: Some(rgba(0x908caaff).into()), terminal_ansi_bright_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_bright_green: Some(rgba(0x3d8fb0ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_bright_green: Some(rgba(0x3e8fb0ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xf6c177ff).into()), terminal_ansi_bright_blue: Some(rgba(0x9ccfd8ff).into()), terminal_ansi_bright_magenta: Some(rgba(0xc4a7e7ff).into()), terminal_ansi_bright_cyan: Some(rgba(0xea9a97ff).into()), terminal_ansi_bright_white: Some(rgba(0xe0def4ff).into()), terminal_ansi_black: Some(rgba(0x393552ff).into()), terminal_ansi_red: Some(rgba(0xeb6f92ff).into()), - terminal_ansi_green: Some(rgba(0x3d8fb0ff).into()), - terminal_ansi_yellow: Some(rgba(0xf5c177ff).into()), + terminal_ansi_green: Some(rgba(0x3e8fb0ff).into()), + terminal_ansi_yellow: Some(rgba(0xf6c177ff).into()), terminal_ansi_blue: Some(rgba(0x9ccfd8ff).into()), terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()), terminal_ansi_cyan: Some(rgba(0xea9a97ff).into()), @@ -230,7 +230,7 @@ pub fn rose_pine() -> UserThemeFamily { error: Some(rgba(0xeb6f92ff).into()), hidden: Some(rgba(0x908caaff).into()), hint: Some(rgba(0x908caaff).into()), - warning: Some(rgba(0xf5c177ff).into()), + warning: Some(rgba(0xf6c177ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -269,7 +269,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0x3d8fb0ff).into()), + color: Some(rgba(0x3e8fb0ff).into()), ..Default::default() }, ), @@ -297,7 +297,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0xf5c177ff).into()), + color: Some(rgba(0xf6c177ff).into()), ..Default::default() }, ), @@ -311,7 +311,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0xf5c177ff).into()), + color: Some(rgba(0xf6c177ff).into()), ..Default::default() }, ), @@ -362,7 +362,7 @@ pub fn rose_pine() -> UserThemeFamily { elevated_surface_background: Some(rgba(0xfffaf3ff).into()), surface_background: Some(rgba(0xfffaf3ff).into()), background: Some(rgba(0xfaf4edff).into()), - element_background: Some(rgba(0xd7827dff).into()), + element_background: Some(rgba(0xd7827eff).into()), element_hover: Some(rgba(0x6e6a860d).into()), element_selected: Some(rgba(0x6e6a8614).into()), drop_target_background: Some(rgba(0xfffaf3ff).into()), @@ -375,26 +375,26 @@ pub fn rose_pine() -> UserThemeFamily { editor_line_number: Some(rgba(0x797593ff).into()), editor_active_line_number: Some(rgba(0x575279ff).into()), terminal_ansi_bright_black: Some(rgba(0x797593ff).into()), - terminal_ansi_bright_red: Some(rgba(0xb3627aff).into()), - terminal_ansi_bright_green: Some(rgba(0x276983ff).into()), + terminal_ansi_bright_red: Some(rgba(0xb4637aff).into()), + terminal_ansi_bright_green: Some(rgba(0x286983ff).into()), terminal_ansi_bright_yellow: Some(rgba(0xea9d34ff).into()), - terminal_ansi_bright_blue: Some(rgba(0x55949fff).into()), - terminal_ansi_bright_magenta: Some(rgba(0x9079a9ff).into()), - terminal_ansi_bright_cyan: Some(rgba(0xd7827dff).into()), + terminal_ansi_bright_blue: Some(rgba(0x56949fff).into()), + terminal_ansi_bright_magenta: Some(rgba(0x907aa9ff).into()), + terminal_ansi_bright_cyan: Some(rgba(0xd7827eff).into()), terminal_ansi_bright_white: Some(rgba(0x575279ff).into()), terminal_ansi_black: Some(rgba(0xf2e9e1ff).into()), - terminal_ansi_red: Some(rgba(0xb3627aff).into()), - terminal_ansi_green: Some(rgba(0x276983ff).into()), + terminal_ansi_red: Some(rgba(0xb4637aff).into()), + terminal_ansi_green: Some(rgba(0x286983ff).into()), terminal_ansi_yellow: Some(rgba(0xea9d34ff).into()), - terminal_ansi_blue: Some(rgba(0x55949fff).into()), - terminal_ansi_magenta: Some(rgba(0x9079a9ff).into()), - terminal_ansi_cyan: Some(rgba(0xd7827dff).into()), + terminal_ansi_blue: Some(rgba(0x56949fff).into()), + terminal_ansi_magenta: Some(rgba(0x907aa9ff).into()), + terminal_ansi_cyan: Some(rgba(0xd7827eff).into()), terminal_ansi_white: Some(rgba(0x575279ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xb3627aff).into()), - error: Some(rgba(0xb3627aff).into()), + deleted: Some(rgba(0xb4637aff).into()), + error: Some(rgba(0xb4637aff).into()), hidden: Some(rgba(0x797593ff).into()), hint: Some(rgba(0x797593ff).into()), warning: Some(rgba(0xea9d34ff).into()), @@ -405,7 +405,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0x9079a9ff).into()), + color: Some(rgba(0x907aa9ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -413,7 +413,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), + color: Some(rgba(0xd7827eff).into()), ..Default::default() }, ), @@ -428,7 +428,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xb3627aff).into()), + color: Some(rgba(0xb4637aff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -436,21 +436,21 @@ pub fn rose_pine() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0x276983ff).into()), + color: Some(rgba(0x286983ff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), + color: Some(rgba(0xd7827eff).into()), ..Default::default() }, ), ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), + color: Some(rgba(0xd7827eff).into()), ..Default::default() }, ), @@ -471,7 +471,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x55949fff).into()), + color: Some(rgba(0x56949fff).into()), ..Default::default() }, ), @@ -485,21 +485,21 @@ pub fn rose_pine() -> UserThemeFamily { ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), + color: Some(rgba(0xd7827eff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x55949fff).into()), + color: Some(rgba(0x56949fff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xd7827dff).into()), + color: Some(rgba(0xd7827eff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 87221b4a85..12e3d1f399 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -21,37 +21,37 @@ pub fn solarized() -> UserThemeFamily { colors: ThemeColorsRefinement { border: Some(rgba(0x003847ff).into()), border_variant: Some(rgba(0x003847ff).into()), - border_focused: Some(rgba(0x29a19899).into()), + border_focused: Some(rgba(0x2aa19899).into()), border_selected: Some(rgba(0x003847ff).into()), border_transparent: Some(rgba(0x003847ff).into()), border_disabled: Some(rgba(0x003847ff).into()), - background: Some(rgba(0x002a35ff).into()), - element_background: Some(rgba(0x29a19899).into()), - element_hover: Some(rgba(0x004353aa).into()), + background: Some(rgba(0x002b36ff).into()), + element_background: Some(rgba(0x2aa19899).into()), + element_hover: Some(rgba(0x004454aa).into()), element_selected: Some(rgba(0x005a6fff).into()), - drop_target_background: Some(rgba(0x00435388).into()), - ghost_element_hover: Some(rgba(0x004353aa).into()), + drop_target_background: Some(rgba(0x00445488).into()), + ghost_element_hover: Some(rgba(0x004454aa).into()), text: Some(rgba(0xbbbbbbff).into()), - tab_inactive_background: Some(rgba(0x003f51ff).into()), - tab_active_background: Some(rgba(0x002a36ff).into()), - editor_background: Some(rgba(0x002a35ff).into()), - editor_gutter_background: Some(rgba(0x002a35ff).into()), + tab_inactive_background: Some(rgba(0x004052ff).into()), + tab_active_background: Some(rgba(0x002b37ff).into()), + editor_background: Some(rgba(0x002b36ff).into()), + editor_gutter_background: Some(rgba(0x002b36ff).into()), editor_line_number: Some(rgba(0x566c74ff).into()), terminal_ansi_bright_black: Some(rgba(0x586e75ff).into()), - terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), + terminal_ansi_bright_red: Some(rgba(0xcb4b16ff).into()), terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()), terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()), terminal_ansi_bright_magenta: Some(rgba(0x6c71c4ff).into()), terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()), terminal_ansi_bright_white: Some(rgba(0x839496ff).into()), - terminal_ansi_black: Some(rgba(0x063642ff).into()), - terminal_ansi_red: Some(rgba(0xdc312eff).into()), + terminal_ansi_black: Some(rgba(0x073642ff).into()), + terminal_ansi_red: Some(rgba(0xdc322fff).into()), terminal_ansi_green: Some(rgba(0x859900ff).into()), - terminal_ansi_yellow: Some(rgba(0xb58800ff).into()), - terminal_ansi_blue: Some(rgba(0x258ad2ff).into()), - terminal_ansi_magenta: Some(rgba(0xd33582ff).into()), - terminal_ansi_cyan: Some(rgba(0x29a198ff).into()), + terminal_ansi_yellow: Some(rgba(0xb58900ff).into()), + terminal_ansi_blue: Some(rgba(0x268bd2ff).into()), + terminal_ansi_magenta: Some(rgba(0xd33682ff).into()), + terminal_ansi_cyan: Some(rgba(0x2aa198ff).into()), terminal_ansi_white: Some(rgba(0x839496ff).into()), ..Default::default() }, @@ -74,7 +74,7 @@ pub fn solarized() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0xb58800ff).into()), + color: Some(rgba(0xb58900ff).into()), ..Default::default() }, ), @@ -89,7 +89,7 @@ pub fn solarized() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xcb4b15ff).into()), + color: Some(rgba(0xcb4b16ff).into()), ..Default::default() }, ), @@ -103,21 +103,21 @@ pub fn solarized() -> UserThemeFamily { ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xd33582ff).into()), + color: Some(rgba(0xd33682ff).into()), ..Default::default() }, ), ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xd33582ff).into()), + color: Some(rgba(0xd33682ff).into()), ..Default::default() }, ), ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), @@ -131,7 +131,7 @@ pub fn solarized() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xd33582ff).into()), + color: Some(rgba(0xd33682ff).into()), ..Default::default() }, ), @@ -152,49 +152,49 @@ pub fn solarized() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0x29a198ff).into()), + color: Some(rgba(0x2aa198ff).into()), ..Default::default() }, ), ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xcb4b15ff).into()), + color: Some(rgba(0xcb4b16ff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0x29a198ff).into()), + color: Some(rgba(0x2aa198ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xcb4b15ff).into()), + color: Some(rgba(0xcb4b16ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), @@ -214,10 +214,10 @@ pub fn solarized() -> UserThemeFamily { border_transparent: Some(rgba(0xddd6c1ff).into()), border_disabled: Some(rgba(0xddd6c1ff).into()), background: Some(rgba(0xfdf6e3ff).into()), - element_background: Some(rgba(0xab9d56ff).into()), - element_hover: Some(rgba(0xdec98744).into()), - element_selected: Some(rgba(0xdec987ff).into()), - ghost_element_hover: Some(rgba(0xdec98744).into()), + element_background: Some(rgba(0xac9d57ff).into()), + element_hover: Some(rgba(0xdfca8844).into()), + element_selected: Some(rgba(0xdfca88ff).into()), + ghost_element_hover: Some(rgba(0xdfca8844).into()), text: Some(rgba(0x333333ff).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), @@ -225,7 +225,7 @@ pub fn solarized() -> UserThemeFamily { editor_gutter_background: Some(rgba(0xfdf6e3ff).into()), editor_line_number: Some(rgba(0x9ca8a6ff).into()), terminal_ansi_bright_black: Some(rgba(0x657b83ff).into()), - terminal_ansi_bright_red: Some(rgba(0xcb4b15ff).into()), + terminal_ansi_bright_red: Some(rgba(0xcb4b16ff).into()), terminal_ansi_bright_green: Some(rgba(0x859900ff).into()), terminal_ansi_bright_yellow: Some(rgba(0x657b83ff).into()), terminal_ansi_bright_blue: Some(rgba(0x839496ff).into()), @@ -233,12 +233,12 @@ pub fn solarized() -> UserThemeFamily { terminal_ansi_bright_cyan: Some(rgba(0x93a1a1ff).into()), terminal_ansi_bright_white: Some(rgba(0xeee8d5ff).into()), terminal_ansi_black: Some(rgba(0x657b83ff).into()), - terminal_ansi_red: Some(rgba(0xdc312eff).into()), + terminal_ansi_red: Some(rgba(0xdc322fff).into()), terminal_ansi_green: Some(rgba(0x859900ff).into()), - terminal_ansi_yellow: Some(rgba(0xb58800ff).into()), - terminal_ansi_blue: Some(rgba(0x258ad2ff).into()), - terminal_ansi_magenta: Some(rgba(0xd33582ff).into()), - terminal_ansi_cyan: Some(rgba(0x29a198ff).into()), + terminal_ansi_yellow: Some(rgba(0xb58900ff).into()), + terminal_ansi_blue: Some(rgba(0x268bd2ff).into()), + terminal_ansi_magenta: Some(rgba(0xd33682ff).into()), + terminal_ansi_cyan: Some(rgba(0x2aa198ff).into()), terminal_ansi_white: Some(rgba(0xeee8d5ff).into()), ..Default::default() }, @@ -259,7 +259,7 @@ pub fn solarized() -> UserThemeFamily { ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0xb58800ff).into()), + color: Some(rgba(0xb58900ff).into()), ..Default::default() }, ), @@ -274,7 +274,7 @@ pub fn solarized() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xcb4b15ff).into()), + color: Some(rgba(0xcb4b16ff).into()), ..Default::default() }, ), @@ -288,21 +288,21 @@ pub fn solarized() -> UserThemeFamily { ( "emphasis".into(), UserHighlightStyle { - color: Some(rgba(0xd33582ff).into()), + color: Some(rgba(0xd33682ff).into()), ..Default::default() }, ), ( "emphasis.strong".into(), UserHighlightStyle { - color: Some(rgba(0xd33582ff).into()), + color: Some(rgba(0xd33682ff).into()), ..Default::default() }, ), ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), @@ -316,7 +316,7 @@ pub fn solarized() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xd33582ff).into()), + color: Some(rgba(0xd33682ff).into()), ..Default::default() }, ), @@ -330,49 +330,49 @@ pub fn solarized() -> UserThemeFamily { ( "string".into(), UserHighlightStyle { - color: Some(rgba(0x29a198ff).into()), + color: Some(rgba(0x2aa198ff).into()), ..Default::default() }, ), ( "string.escape".into(), UserHighlightStyle { - color: Some(rgba(0xcb4b15ff).into()), + color: Some(rgba(0xcb4b16ff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), ( "text.literal".into(), UserHighlightStyle { - color: Some(rgba(0x29a198ff).into()), + color: Some(rgba(0x2aa198ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0x258ad2ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index fc006a7c5a..731c2527f5 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -19,36 +19,36 @@ pub fn synthwave_84() -> UserThemeFamily { styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { border_focused: Some(rgba(0x1f212bff).into()), - background: Some(rgba(0x252334ff).into()), + background: Some(rgba(0x262335ff).into()), element_background: Some(rgba(0x614d85ff).into()), element_hover: Some(rgba(0x37294d99).into()), element_selected: Some(rgba(0xffffff20).into()), drop_target_background: Some(rgba(0x34294f66).into()), ghost_element_hover: Some(rgba(0x37294d99).into()), text: Some(rgba(0xffffffff).into()), - tab_inactive_background: Some(rgba(0x252334ff).into()), - editor_background: Some(rgba(0x252334ff).into()), - editor_gutter_background: Some(rgba(0x252334ff).into()), + tab_inactive_background: Some(rgba(0x262335ff).into()), + editor_background: Some(rgba(0x262335ff).into()), + editor_gutter_background: Some(rgba(0x262335ff).into()), editor_line_number: Some(rgba(0xffffff73).into()), - terminal_ansi_bright_red: Some(rgba(0xfe444fff).into()), - terminal_ansi_bright_green: Some(rgba(0x71f1b7ff).into()), - terminal_ansi_bright_yellow: Some(rgba(0xfede5cff).into()), - terminal_ansi_bright_blue: Some(rgba(0x02edf9ff).into()), - terminal_ansi_bright_magenta: Some(rgba(0xff7ddaff).into()), - terminal_ansi_bright_cyan: Some(rgba(0x02edf9ff).into()), - terminal_ansi_red: Some(rgba(0xfe444fff).into()), - terminal_ansi_green: Some(rgba(0x71f1b7ff).into()), + terminal_ansi_bright_red: Some(rgba(0xfe4450ff).into()), + terminal_ansi_bright_green: Some(rgba(0x72f1b8ff).into()), + terminal_ansi_bright_yellow: Some(rgba(0xfede5dff).into()), + terminal_ansi_bright_blue: Some(rgba(0x03edf9ff).into()), + terminal_ansi_bright_magenta: Some(rgba(0xff7edbff).into()), + terminal_ansi_bright_cyan: Some(rgba(0x03edf9ff).into()), + terminal_ansi_red: Some(rgba(0xfe4450ff).into()), + terminal_ansi_green: Some(rgba(0x72f1b8ff).into()), terminal_ansi_yellow: Some(rgba(0xf3e70fff).into()), - terminal_ansi_blue: Some(rgba(0x02edf9ff).into()), - terminal_ansi_magenta: Some(rgba(0xff7ddaff).into()), - terminal_ansi_cyan: Some(rgba(0x02edf9ff).into()), + terminal_ansi_blue: Some(rgba(0x03edf9ff).into()), + terminal_ansi_magenta: Some(rgba(0xff7edbff).into()), + terminal_ansi_cyan: Some(rgba(0x03edf9ff).into()), ..Default::default() }, status: StatusColorsRefinement { - deleted: Some(rgba(0xfe444fff).into()), - error: Some(rgba(0xfe444fff).into()), + deleted: Some(rgba(0xfe4450ff).into()), + error: Some(rgba(0xfe4450ff).into()), hint: Some(rgba(0x969696ff).into()), - warning: Some(rgba(0x71f1b7bb).into()), + warning: Some(rgba(0x72f1b8bb).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -56,14 +56,14 @@ pub fn synthwave_84() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xfede5cff).into()), + color: Some(rgba(0xfede5dff).into()), ..Default::default() }, ), ( "boolean".into(), UserHighlightStyle { - color: Some(rgba(0xf97d71ff).into()), + color: Some(rgba(0xf97e72ff).into()), ..Default::default() }, ), @@ -78,21 +78,21 @@ pub fn synthwave_84() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x35f9f5ff).into()), + color: Some(rgba(0x36f9f6ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xfede5cff).into()), + color: Some(rgba(0xfede5dff).into()), ..Default::default() }, ), ( "label".into(), UserHighlightStyle { - color: Some(rgba(0xfe444fff).into()), + color: Some(rgba(0xfe4450ff).into()), ..Default::default() }, ), @@ -113,63 +113,63 @@ pub fn synthwave_84() -> UserThemeFamily { ( "number".into(), UserHighlightStyle { - color: Some(rgba(0xf97d71ff).into()), + color: Some(rgba(0xf97e72ff).into()), ..Default::default() }, ), ( "operator".into(), UserHighlightStyle { - color: Some(rgba(0xfede5cff).into()), + color: Some(rgba(0xfede5dff).into()), ..Default::default() }, ), ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xff7ddaff).into()), + color: Some(rgba(0xff7edbff).into()), ..Default::default() }, ), ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x35f9f5ff).into()), + color: Some(rgba(0x36f9f6ff).into()), ..Default::default() }, ), ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0x71f1b7ff).into()), + color: Some(rgba(0x72f1b8ff).into()), ..Default::default() }, ), ( "title".into(), UserHighlightStyle { - color: Some(rgba(0xfe444fff).into()), + color: Some(rgba(0xfe4450ff).into()), ..Default::default() }, ), ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xfe444fff).into()), + color: Some(rgba(0xfe4450ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xff7ddaff).into()), + color: Some(rgba(0xff7edbff).into()), ..Default::default() }, ), ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xfe444fff).into()), + color: Some(rgba(0xfe4450ff).into()), font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, diff --git a/crates/theme_importer/Cargo.toml b/crates/theme_importer/Cargo.toml index b4b72be499..bf071912a7 100644 --- a/crates/theme_importer/Cargo.toml +++ b/crates/theme_importer/Cargo.toml @@ -13,6 +13,7 @@ gpui = { package = "gpui2", path = "../gpui2" } indexmap = "1.6.2" json_comments = "0.2.2" log.workspace = true +palette = { version = "0.7.3", default-features = false, features = ["std"] } rust-embed.workspace = true serde.workspace = true simplelog = "0.9" diff --git a/crates/theme_importer/src/color.rs b/crates/theme_importer/src/color.rs new file mode 100644 index 0000000000..e595b4e381 --- /dev/null +++ b/crates/theme_importer/src/color.rs @@ -0,0 +1,54 @@ +use anyhow::Result; +use gpui::Hsla; +use palette::FromColor; + +pub(crate) fn try_parse_color(color: &str) -> Result { + let rgba = gpui::Rgba::try_from(color)?; + let rgba = palette::rgb::Srgba::from_components((rgba.r, rgba.g, rgba.b, rgba.a)); + let hsla = palette::Hsla::from_color(rgba); + + let hsla = gpui::hsla( + hsla.hue.into_positive_degrees() / 360., + hsla.saturation, + hsla.lightness, + hsla.alpha, + ); + + Ok(hsla) +} + +pub(crate) fn pack_color(color: Hsla) -> u32 { + let hsla = palette::Hsla::from_components((color.h * 360., color.s, color.l, color.a)); + let rgba = palette::rgb::Srgba::from_color(hsla); + let rgba = rgba.into_format::(); + + u32::from(rgba) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + pub fn test_serialize_color() { + let color = "#b4637aff"; + let hsla = try_parse_color(color).unwrap(); + let packed = pack_color(hsla); + + assert_eq!(format!("#{:x}", packed), color); + } + + #[test] + pub fn test_serialize_color_with_palette() { + let color = "#b4637aff"; + + let rgba = gpui::Rgba::try_from(color).unwrap(); + let rgba = palette::rgb::Srgba::from_components((rgba.r, rgba.g, rgba.b, rgba.a)); + let hsla = palette::Hsla::from_color(rgba); + + let rgba = palette::rgb::Srgba::from_color(hsla); + let rgba = rgba.into_format::(); + + assert_eq!(format!("#{:x}", rgba), color); + } +} diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 0c690e891c..24e95ca918 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -1,3 +1,4 @@ +mod color; mod theme_printer; mod util; mod vscode; diff --git a/crates/theme_importer/src/theme_printer.rs b/crates/theme_importer/src/theme_printer.rs index dae98d313c..8739c7bbcf 100644 --- a/crates/theme_importer/src/theme_printer.rs +++ b/crates/theme_importer/src/theme_printer.rs @@ -1,12 +1,14 @@ use std::fmt::{self, Debug}; -use gpui::{Hsla, Rgba}; +use gpui::Hsla; use theme::{ Appearance, PlayerColor, PlayerColors, StatusColorsRefinement, SystemColors, ThemeColorsRefinement, UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeFamily, UserThemeStylesRefinement, }; +use crate::color::pack_color; + struct RawSyntaxPrinter<'a>(&'a str); impl<'a> Debug for RawSyntaxPrinter<'a> { @@ -19,7 +21,7 @@ struct HslaPrinter(Hsla); impl Debug for HslaPrinter { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{:?}", IntoPrinter(&Rgba::from(self.0))) + write!(f, "rgba({:#010x}).into()", pack_color(self.0)) } } diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 83558b874a..bc8253e700 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use gpui::{rgba, Hsla, Rgba}; +use gpui::rgba; use indexmap::IndexMap; use strum::IntoEnumIterator; use theme::{ @@ -7,16 +7,13 @@ use theme::{ UserHighlightStyle, UserSyntaxTheme, UserTheme, UserThemeStylesRefinement, }; +use crate::color::try_parse_color; use crate::util::Traverse; use crate::vscode::VsCodeTheme; use crate::ThemeMetadata; use super::ZedSyntaxToken; -pub(crate) fn try_parse_color(color: &str) -> Result { - Ok(Rgba::try_from(color)?.into()) -} - pub(crate) fn try_parse_font_weight(font_style: &str) -> Option { match font_style { style if style.contains("bold") => Some(UserFontWeight::BOLD), From 808a0626c0d45db67f069df8e173299dac8a48ea Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 16:49:27 -0800 Subject: [PATCH 032/110] Show a notification on auto-update check action if updates are disabled --- crates/auto_update2/src/auto_update.rs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/crates/auto_update2/src/auto_update.rs b/crates/auto_update2/src/auto_update.rs index 72dbe32b5a..dbccd269b7 100644 --- a/crates/auto_update2/src/auto_update.rs +++ b/crates/auto_update2/src/auto_update.rs @@ -85,15 +85,7 @@ pub fn init(http_client: Arc, server_url: String, cx: &mut AppCo AutoUpdateSetting::register(cx); cx.observe_new_views(|workspace: &mut Workspace, _cx| { - workspace - .register_action(|_, action: &Check, cx| check(action, cx)) - .register_action(|_, _action: &CheckThatAutoUpdaterWorks, cx| { - let prompt = cx.prompt(gpui::PromptLevel::Info, "It does!", &["Ok"]); - cx.spawn(|_, _cx| async move { - prompt.await.ok(); - }) - .detach(); - }); + workspace.register_action(|_, action: &Check, cx| check(action, cx)); // @nate - code to trigger update notification on launch // workspace.show_notification(0, _cx, |cx| { @@ -130,9 +122,15 @@ pub fn init(http_client: Arc, server_url: String, cx: &mut AppCo } } -pub fn check(_: &Check, cx: &mut AppContext) { +pub fn check(_: &Check, cx: &mut ViewContext) { if let Some(updater) = AutoUpdater::get(cx) { updater.update(cx, |updater, cx| updater.poll(cx)); + } else { + drop(cx.prompt( + gpui::PromptLevel::Info, + "Auto-updates disabled for non-bundled app.", + &["Ok"], + )); } } From f9d569f1b83529f1bd0801c7e57de2c57b127241 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 16:51:53 -0800 Subject: [PATCH 033/110] Remove '-nightly' suffix from nightly build version number It breaks our semver parsing, and the release channel is already 'nightly'. --- .github/workflows/release_nightly.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 0e0fd18e25..38552646c3 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -81,12 +81,11 @@ jobs: - name: Limit target directory size run: script/clear-target-dir-if-larger-than 100 - - name: Set release channel to nightly, add nightly prefix to the final version + - name: Set release channel to nightly run: | set -eu version=$(git rev-parse --short HEAD) echo "Publishing version: ${version} on release channel nightly" - sed -i '' "s/version = \"\(.*\)\"/version = \"\1-nightly\"/" crates/zed2/Cargo.toml echo "nightly" > crates/zed/RELEASE_CHANNEL - name: Generate license file From f272881a6b69efa7295aa85990c91af1f92c4cf3 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 22:11:31 -0500 Subject: [PATCH 034/110] theme_importer: Improve syntax token matching (#3549) This PR improves the approach we use to match syntax tokens between Zed and VS Code in the `theme_importer`. We now use the list of scopes assigned to each Zed syntax token to rank the possible candidates in the VS Code and then pick the candidate with the highest rank. So far this has proved to provide better colors across the board, but we'll continue to refine the matching over time. Release Notes: - N/A --- crates/theme2/src/themes/andromeda.rs | 36 +- crates/theme2/src/themes/ayu.rs | 48 +- crates/theme2/src/themes/dracula.rs | 10 +- crates/theme2/src/themes/gruvbox.rs | 72 ++- crates/theme2/src/themes/night_owl.rs | 30 +- crates/theme2/src/themes/noctis.rs | 440 ++++++------------ crates/theme2/src/themes/nord.rs | 12 +- crates/theme2/src/themes/palenight.rs | 36 +- crates/theme2/src/themes/rose_pine.rs | 48 +- crates/theme2/src/themes/solarized.rs | 30 +- crates/theme2/src/themes/synthwave_84.rs | 11 +- crates/theme_importer/src/main.rs | 30 +- crates/theme_importer/src/vscode/converter.rs | 31 +- crates/theme_importer/src/vscode/syntax.rs | 91 +++- 14 files changed, 520 insertions(+), 405 deletions(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index fb606c1650..8dfc32d8b5 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -66,7 +66,7 @@ pub fn andromeda() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xf39c12ff).into()), + color: Some(rgba(0xffe66dff).into()), ..Default::default() }, ), @@ -77,6 +77,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0xa0a1a7cc).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -143,7 +150,7 @@ pub fn andromeda() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xffe66dff).into()), + color: Some(rgba(0xee5d43ff).into()), ..Default::default() }, ), @@ -154,6 +161,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x00e8c6ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -210,7 +224,7 @@ pub fn andromeda() -> UserThemeFamily { ( "attribute".into(), UserHighlightStyle { - color: Some(rgba(0xf39c12ff).into()), + color: Some(rgba(0xffe66dff).into()), ..Default::default() }, ), @@ -221,6 +235,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0xa0a1a7cc).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -287,7 +308,7 @@ pub fn andromeda() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xffe66dff).into()), + color: Some(rgba(0xee5d43ff).into()), ..Default::default() }, ), @@ -298,6 +319,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x00e8c6ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 39ac2660e6..fe9d750461 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -89,6 +89,14 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x787b8099).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -122,14 +130,14 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xf2ae49ff).into()), + color: Some(rgba(0xf07171ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xfa8d3eff).into()), + color: Some(rgba(0x55b4d4ff).into()), ..Default::default() }, ), @@ -171,7 +179,7 @@ pub fn ayu() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xf07171ff).into()), + color: Some(rgba(0x55b4d4ff).into()), ..Default::default() }, ), @@ -269,7 +277,7 @@ pub fn ayu() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xf07171ff).into()), + color: Some(rgba(0xf2ae49ff).into()), ..Default::default() }, ), @@ -352,6 +360,14 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0xb8cfe680).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -385,14 +401,14 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xffd173ff).into()), + color: Some(rgba(0xf28779ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xffad66ff).into()), + color: Some(rgba(0x5ccfe6ff).into()), ..Default::default() }, ), @@ -434,7 +450,7 @@ pub fn ayu() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xf28779ff).into()), + color: Some(rgba(0x5ccfe6ff).into()), ..Default::default() }, ), @@ -532,7 +548,7 @@ pub fn ayu() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xf28779ff).into()), + color: Some(rgba(0xffd173ff).into()), ..Default::default() }, ), @@ -615,6 +631,14 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0xacb6bf8c).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -648,14 +672,14 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xffb454ff).into()), + color: Some(rgba(0xf07178ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xff8f40ff).into()), + color: Some(rgba(0x39bae6ff).into()), ..Default::default() }, ), @@ -697,7 +721,7 @@ pub fn ayu() -> UserThemeFamily { ( "property".into(), UserHighlightStyle { - color: Some(rgba(0xf07178ff).into()), + color: Some(rgba(0x39bae6ff).into()), ..Default::default() }, ), @@ -795,7 +819,7 @@ pub fn ayu() -> UserThemeFamily { ( "variable.special".into(), UserHighlightStyle { - color: Some(rgba(0xf07178ff).into()), + color: Some(rgba(0xffb454ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 49caf3cff9..bf8fc12b8a 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -83,6 +83,13 @@ pub fn dracula() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x6272a4ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -159,8 +166,7 @@ pub fn dracula() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xbd93f9ff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0xf8f8f2ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 7de52df753..44d779071a 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -82,8 +82,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "emphasis".into(), + "comment.doc".into(), UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -148,7 +149,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xa89984ff).into()), + color: Some(rgba(0x83a598ff).into()), ..Default::default() }, ), @@ -201,6 +202,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -273,8 +281,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "emphasis".into(), + "comment.doc".into(), UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -339,7 +348,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xa89984ff).into()), + color: Some(rgba(0x83a598ff).into()), ..Default::default() }, ), @@ -392,6 +401,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -464,8 +480,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "emphasis".into(), + "comment.doc".into(), UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -530,7 +547,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xa89984ff).into()), + color: Some(rgba(0x83a598ff).into()), ..Default::default() }, ), @@ -583,6 +600,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -655,8 +679,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "emphasis".into(), + "comment.doc".into(), UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -721,7 +746,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x7c6f64ff).into()), + color: Some(rgba(0x076678ff).into()), ..Default::default() }, ), @@ -774,6 +799,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -846,8 +878,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "emphasis".into(), + "comment.doc".into(), UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -912,7 +945,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x7c6f64ff).into()), + color: Some(rgba(0x076678ff).into()), ..Default::default() }, ), @@ -965,6 +998,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), ], }), }, @@ -1037,8 +1077,9 @@ pub fn gruvbox() -> UserThemeFamily { }, ), ( - "emphasis".into(), + "comment.doc".into(), UserHighlightStyle { + color: Some(rgba(0x928374ff).into()), font_style: Some(UserFontStyle::Italic), ..Default::default() }, @@ -1103,7 +1144,7 @@ pub fn gruvbox() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x7c6f64ff).into()), + color: Some(rgba(0x076678ff).into()), ..Default::default() }, ), @@ -1156,6 +1197,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "variable.special".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), ], }), }, diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index ef9b8c59a0..13a931453b 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -90,6 +90,14 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x637777ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -100,8 +108,7 @@ pub fn night_owl() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xc792eaff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x82aaffff).into()), ..Default::default() }, ), @@ -137,8 +144,7 @@ pub fn night_owl() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xc792eaff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x7fdbcaff).into()), ..Default::default() }, ), @@ -180,7 +186,7 @@ pub fn night_owl() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xc5e478ff).into()), + color: Some(rgba(0xd7dbe0ff).into()), ..Default::default() }, ), @@ -272,6 +278,14 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x989fb1ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -282,8 +296,7 @@ pub fn night_owl() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x994cc3ff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x4876d6ff).into()), ..Default::default() }, ), @@ -320,7 +333,6 @@ pub fn night_owl() -> UserThemeFamily { "punctuation".into(), UserHighlightStyle { color: Some(rgba(0x994cc3ff).into()), - font_style: Some(UserFontStyle::Italic), ..Default::default() }, ), @@ -362,7 +374,7 @@ pub fn night_owl() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x4876d6ff).into()), + color: Some(rgba(0x403f53ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 5598635ff2..d19aeb61d3 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -83,6 +83,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x5988a6ff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -90,20 +97,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -114,7 +107,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -128,14 +121,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -146,13 +139,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -163,7 +149,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5988a6ff).into()), + color: Some(rgba(0xbecfdaff).into()), ..Default::default() }, ), @@ -191,7 +177,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -212,7 +198,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), @@ -303,6 +289,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x8b747cff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -310,20 +303,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -334,7 +313,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -348,14 +327,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -366,13 +345,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -383,7 +355,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x8b747cff).into()), + color: Some(rgba(0xcbbec2ff).into()), ..Default::default() }, ), @@ -411,7 +383,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -432,7 +404,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), @@ -523,6 +495,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -530,20 +509,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -554,7 +519,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xff5792ff).into()), + color: Some(rgba(0xe64100ff).into()), ..Default::default() }, ), @@ -568,14 +533,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x0095a8ff).into()), + color: Some(rgba(0x00bdd6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x0095a8ff).into()), + color: Some(rgba(0x00bdd6ff).into()), ..Default::default() }, ), @@ -586,13 +551,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -603,7 +561,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x8ca6a6ff).into()), + color: Some(rgba(0x004d57ff).into()), ..Default::default() }, ), @@ -631,7 +589,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xff5792ff).into()), + color: Some(rgba(0xe64100ff).into()), ..Default::default() }, ), @@ -652,7 +610,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x00bdd6ff).into()), + color: Some(rgba(0xb3694dff).into()), ..Default::default() }, ), @@ -743,6 +701,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x9995b7ff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -750,20 +715,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -774,7 +725,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xff5792ff).into()), + color: Some(rgba(0xe64100ff).into()), ..Default::default() }, ), @@ -788,14 +739,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x0095a8ff).into()), + color: Some(rgba(0x00bdd6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x0095a8ff).into()), + color: Some(rgba(0x00bdd6ff).into()), ..Default::default() }, ), @@ -806,13 +757,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -823,7 +767,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x9995b7ff).into()), + color: Some(rgba(0x0c006bff).into()), ..Default::default() }, ), @@ -851,7 +795,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xff5792ff).into()), + color: Some(rgba(0xe64100ff).into()), ..Default::default() }, ), @@ -872,7 +816,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x00bdd6ff).into()), + color: Some(rgba(0xb3694dff).into()), ..Default::default() }, ), @@ -963,6 +907,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x8ca6a6ff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -970,20 +921,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -994,7 +931,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xff5792ff).into()), + color: Some(rgba(0xe64100ff).into()), ..Default::default() }, ), @@ -1008,14 +945,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x0095a8ff).into()), + color: Some(rgba(0x00bdd6ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x0095a8ff).into()), + color: Some(rgba(0x00bdd6ff).into()), ..Default::default() }, ), @@ -1026,13 +963,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -1043,7 +973,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x8ca6a6ff).into()), + color: Some(rgba(0x004d57ff).into()), ..Default::default() }, ), @@ -1071,7 +1001,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xff5792ff).into()), + color: Some(rgba(0xe64100ff).into()), ..Default::default() }, ), @@ -1092,7 +1022,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x00bdd6ff).into()), + color: Some(rgba(0xb3694dff).into()), ..Default::default() }, ), @@ -1183,6 +1113,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x5e7887ff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -1190,20 +1127,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -1214,7 +1137,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xc88da2ff).into()), + color: Some(rgba(0xc37455ff).into()), ..Default::default() }, ), @@ -1228,14 +1151,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x3f848dff).into()), + color: Some(rgba(0x72b7c0ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x3f848dff).into()), + color: Some(rgba(0x72b7c0ff).into()), ..Default::default() }, ), @@ -1246,13 +1169,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -1263,7 +1179,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5e7887ff).into()), + color: Some(rgba(0xc5cdd3ff).into()), ..Default::default() }, ), @@ -1291,7 +1207,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xc88da2ff).into()), + color: Some(rgba(0xc37455ff).into()), ..Default::default() }, ), @@ -1312,7 +1228,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x72b7c0ff).into()), + color: Some(rgba(0xbe856fff).into()), ..Default::default() }, ), @@ -1403,6 +1319,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x5b858bff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -1410,20 +1333,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -1434,7 +1343,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1448,14 +1357,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -1466,13 +1375,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -1483,7 +1385,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5b858bff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1511,7 +1413,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1532,7 +1434,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), @@ -1623,6 +1525,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x5b858bff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -1630,20 +1539,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -1654,7 +1549,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1668,14 +1563,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -1686,13 +1581,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -1703,7 +1591,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5b858bff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1731,7 +1619,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1752,7 +1640,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), @@ -1843,6 +1731,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x5b858bff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -1850,20 +1745,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -1874,7 +1755,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1888,14 +1769,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -1906,13 +1787,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -1923,7 +1797,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5b858bff).into()), + color: Some(rgba(0xb2cacdff).into()), ..Default::default() }, ), @@ -1951,7 +1825,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -1972,7 +1846,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), @@ -2063,6 +1937,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x716c93ff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -2070,20 +1951,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -2094,7 +1961,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -2108,14 +1975,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -2126,13 +1993,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -2143,7 +2003,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x716c93ff).into()), + color: Some(rgba(0xc5c2d6ff).into()), ..Default::default() }, ), @@ -2171,7 +2031,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -2192,7 +2052,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), @@ -2283,6 +2143,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x7f659aff).into()), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -2290,20 +2157,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "constructor".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), - ( - "emphasis".into(), - UserHighlightStyle { - font_style: Some(UserFontStyle::Italic), - ..Default::default() - }, - ), ( "function".into(), UserHighlightStyle { @@ -2314,7 +2167,7 @@ pub fn noctis() -> UserThemeFamily { ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -2328,14 +2181,14 @@ pub fn noctis() -> UserThemeFamily { ( "link_text".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), ( "link_uri".into(), UserHighlightStyle { - color: Some(rgba(0x16a3b6ff).into()), + color: Some(rgba(0x49d6e9ff).into()), ..Default::default() }, ), @@ -2346,13 +2199,6 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), - ( - "operator".into(), - UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), - ..Default::default() - }, - ), ( "property".into(), UserHighlightStyle { @@ -2363,7 +2209,7 @@ pub fn noctis() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x7f659aff).into()), + color: Some(rgba(0xccbfd9ff).into()), ..Default::default() }, ), @@ -2391,7 +2237,7 @@ pub fn noctis() -> UserThemeFamily { ( "tag".into(), UserHighlightStyle { - color: Some(rgba(0xdf769bff).into()), + color: Some(rgba(0xe66533ff).into()), ..Default::default() }, ), @@ -2412,7 +2258,7 @@ pub fn noctis() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x49d6e9ff).into()), + color: Some(rgba(0xd67e5cff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index e1c4e35f58..cc863f3716 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -90,16 +90,16 @@ pub fn nord() -> UserThemeFamily { }, ), ( - "constant".into(), + "comment.doc".into(), UserHighlightStyle { - color: Some(rgba(0xebcb8bff).into()), + color: Some(rgba(0x616e88ff).into()), ..Default::default() }, ), ( - "emphasis.strong".into(), + "constant".into(), UserHighlightStyle { - font_weight: Some(UserFontWeight(700.0)), + color: Some(rgba(0xebcb8bff).into()), ..Default::default() }, ), @@ -134,7 +134,7 @@ pub fn nord() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xeceff4ff).into()), + color: Some(rgba(0x81a1c1ff).into()), ..Default::default() }, ), @@ -183,7 +183,7 @@ pub fn nord() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x81a1c1ff).into()), + color: Some(rgba(0xd8dee9ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 21e77dbacf..daee43f572 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -89,6 +89,14 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x697098ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -164,7 +172,7 @@ pub fn palenight() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xc792eaff).into()), + color: Some(rgba(0x89ddffff).into()), ..Default::default() }, ), @@ -206,7 +214,7 @@ pub fn palenight() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xffcb6bff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -296,6 +304,14 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x697098ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -371,7 +387,7 @@ pub fn palenight() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xc792eaff).into()), + color: Some(rgba(0x89ddffff).into()), ..Default::default() }, ), @@ -413,7 +429,7 @@ pub fn palenight() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xffcb6bff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), @@ -503,6 +519,14 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x697098ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -578,7 +602,7 @@ pub fn palenight() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xc792eaff).into()), + color: Some(rgba(0x89ddffff).into()), ..Default::default() }, ), @@ -620,7 +644,7 @@ pub fn palenight() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xffcb6bff).into()), + color: Some(rgba(0xff5572ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 7107bb79a3..f4de7fb0d3 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -91,11 +91,18 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xeb6f92ff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0xe0def4ff).into()), ..Default::default() }, ), @@ -123,7 +130,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x908caaff).into()), + color: Some(rgba(0x6e6a86ff).into()), ..Default::default() }, ), @@ -165,8 +172,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xebbcbaff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0xc4a7e7ff).into()), ..Default::default() }, ), @@ -258,11 +264,18 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xeb6f92ff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0xe0def4ff).into()), ..Default::default() }, ), @@ -290,7 +303,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x908caaff).into()), + color: Some(rgba(0x6e6a86ff).into()), ..Default::default() }, ), @@ -332,8 +345,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xea9a97ff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0xc4a7e7ff).into()), ..Default::default() }, ), @@ -425,11 +437,18 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xb4637aff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x575279ff).into()), ..Default::default() }, ), @@ -457,7 +476,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x797593ff).into()), + color: Some(rgba(0x9893a5ff).into()), ..Default::default() }, ), @@ -499,8 +518,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xd7827eff).into()), - font_style: Some(UserFontStyle::Italic), + color: Some(rgba(0x907aa9ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 12e3d1f399..e77d2e79f9 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -86,6 +86,14 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -117,14 +125,14 @@ pub fn solarized() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x268bd2ff).into()), + color: Some(rgba(0x839496ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0x859900ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), @@ -180,14 +188,14 @@ pub fn solarized() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0xcb4b16ff).into()), + color: Some(rgba(0x859900ff).into()), ..Default::default() }, ), ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0x268bd2ff).into()), + color: Some(rgba(0x839496ff).into()), ..Default::default() }, ), @@ -271,6 +279,14 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x93a1a1ff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "constant".into(), UserHighlightStyle { @@ -302,14 +318,14 @@ pub fn solarized() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x268bd2ff).into()), + color: Some(rgba(0x657b83ff).into()), ..Default::default() }, ), ( "keyword".into(), UserHighlightStyle { - color: Some(rgba(0x859900ff).into()), + color: Some(rgba(0x268bd2ff).into()), ..Default::default() }, ), @@ -358,7 +374,7 @@ pub fn solarized() -> UserThemeFamily { ( "type".into(), UserHighlightStyle { - color: Some(rgba(0x268bd2ff).into()), + color: Some(rgba(0x859900ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 731c2527f5..585d584c68 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -75,6 +75,14 @@ pub fn synthwave_84() -> UserThemeFamily { ..Default::default() }, ), + ( + "comment.doc".into(), + UserHighlightStyle { + color: Some(rgba(0x848bbdff).into()), + font_style: Some(UserFontStyle::Italic), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -162,7 +170,8 @@ pub fn synthwave_84() -> UserThemeFamily { ( "variable".into(), UserHighlightStyle { - color: Some(rgba(0xff7edbff).into()), + color: Some(rgba(0xfe4450ff).into()), + font_weight: Some(UserFontWeight(700.0)), ..Default::default() }, ), diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 24e95ca918..80e979df98 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -15,7 +15,7 @@ use gpui::serde_json; use json_comments::StripComments; use log::LevelFilter; use serde::Deserialize; -use simplelog::SimpleLogger; +use simplelog::{TermLogger, TerminalMode}; use theme::{Appearance, UserThemeFamily}; use crate::theme_printer::UserThemeFamilyPrinter; @@ -56,9 +56,17 @@ fn main() -> Result<()> { const SOURCE_PATH: &str = "assets/themes/src/vscode"; const OUT_PATH: &str = "crates/theme2/src/themes"; - SimpleLogger::init(LevelFilter::Info, Default::default()).expect("could not initialize logger"); + let log_config = simplelog::ConfigBuilder::new() + .set_level_color(log::Level::Trace, simplelog::Color::Cyan) + .set_level_color(log::Level::Info, simplelog::Color::Blue) + .set_level_color(log::Level::Warn, simplelog::Color::Yellow) + .set_level_color(log::Level::Error, simplelog::Color::Red) + .build(); - println!("Loading themes source..."); + TermLogger::init(LevelFilter::Trace, log_config, TerminalMode::Mixed) + .expect("could not initialize logger"); + + log::info!("Loading themes source..."); let vscode_themes_path = PathBuf::from_str(SOURCE_PATH)?; if !vscode_themes_path.exists() { return Err(anyhow!(format!( @@ -91,7 +99,7 @@ fn main() -> Result<()> { let license_file_path = theme_family_dir.path().join("LICENSE"); if !license_file_path.exists() { - println!("Skipping theme family '{}' because it does not have a LICENSE file. This theme will only be imported once a LICENSE file is provided.", theme_family_slug); + log::info!("Skipping theme family '{}' because it does not have a LICENSE file. This theme will only be imported once a LICENSE file is provided.", theme_family_slug); continue; } @@ -103,12 +111,14 @@ fn main() -> Result<()> { let mut themes = Vec::new(); for theme_metadata in family_metadata.themes { + log::info!("Converting '{}' theme", &theme_metadata.name); + let theme_file_path = theme_family_dir.path().join(&theme_metadata.file_name); let theme_file = match File::open(&theme_file_path) { Ok(file) => file, Err(_) => { - println!("Failed to open file at path: {:?}", theme_file_path); + log::info!("Failed to open file at path: {:?}", theme_file_path); continue; } }; @@ -136,7 +146,7 @@ fn main() -> Result<()> { let themes_output_path = PathBuf::from_str(OUT_PATH)?; if !themes_output_path.exists() { - println!("Creating directory: {:?}", themes_output_path); + log::info!("Creating directory: {:?}", themes_output_path); fs::create_dir_all(&themes_output_path)?; } @@ -149,7 +159,7 @@ fn main() -> Result<()> { let mut output_file = File::create(themes_output_path.join(format!("{theme_family_slug}.rs")))?; - println!( + log::info!( "Creating file: {:?}", themes_output_path.join(format!("{theme_family_slug}.rs")) ); @@ -220,17 +230,17 @@ fn main() -> Result<()> { mod_rs_file.write_all(mod_rs_contents.as_bytes())?; - println!("Formatting themes..."); + log::info!("Formatting themes..."); let format_result = format_themes_crate() // We need to format a second time to catch all of the formatting issues. .and_then(|_| format_themes_crate()); if let Err(err) = format_result { - eprintln!("Failed to format themes: {}", err); + log::error!("Failed to format themes: {}", err); } - println!("Done!"); + log::info!("Done!"); Ok(()) } diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index bc8253e700..4e4b82a2c5 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -275,20 +275,31 @@ impl VsCodeThemeConverter { let mut highlight_styles = IndexMap::new(); for syntax_token in ZedSyntaxToken::iter() { - let multimatch_scopes = syntax_token.to_vscode(); + let best_match = syntax_token + .find_best_token_color_match(&self.theme.token_colors) + .or_else(|| { + syntax_token.fallbacks().iter().find_map(|fallback| { + fallback.find_best_token_color_match(&self.theme.token_colors) + }) + }); - let token_color = self.theme.token_colors.iter().find(|token_color| { - token_color - .scope - .as_ref() - .map(|scope| scope.multimatch(&multimatch_scopes)) - .unwrap_or(false) - }); - - let Some(token_color) = token_color else { + let Some(token_color) = best_match else { + log::warn!("No matching token color found for '{syntax_token}'"); continue; }; + log::info!( + "Matched '{syntax_token}' to '{}'", + token_color + .name + .clone() + .or_else(|| token_color + .scope + .as_ref() + .map(|scope| format!("{:?}", scope))) + .unwrap_or_else(|| "no identifier".to_string()) + ); + let highlight_style = UserHighlightStyle { color: token_color .settings diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 7f93925ee8..318eb484c8 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -1,3 +1,4 @@ +use indexmap::IndexMap; use serde::Deserialize; use strum::EnumIter; @@ -8,19 +9,9 @@ pub enum VsCodeTokenScope { Many(Vec), } -impl VsCodeTokenScope { - pub fn multimatch(&self, matches: &[&'static str]) -> bool { - match self { - VsCodeTokenScope::One(scope) => matches.iter().any(|&s| s == scope), - VsCodeTokenScope::Many(scopes) => { - matches.iter().any(|s| scopes.contains(&s.to_string())) - } - } - } -} - #[derive(Debug, Deserialize)] pub struct VsCodeTokenColor { + pub name: Option, pub scope: Option, pub settings: VsCodeTokenColorSettings, } @@ -127,6 +118,60 @@ impl std::fmt::Display for ZedSyntaxToken { } impl ZedSyntaxToken { + pub fn find_best_token_color_match<'a>( + &self, + token_colors: &'a [VsCodeTokenColor], + ) -> Option<&'a VsCodeTokenColor> { + let mut ranked_matches = IndexMap::new(); + + for (ix, token_color) in token_colors.iter().enumerate() { + if token_color.settings.foreground.is_none() { + continue; + } + + let Some(rank) = self.rank_match(token_color) else { + continue; + }; + + if rank > 0 { + ranked_matches.insert(ix, rank); + } + } + + ranked_matches + .into_iter() + .max_by_key(|(_, rank)| *rank) + .map(|(ix, _)| &token_colors[ix]) + } + + fn rank_match(&self, token_color: &VsCodeTokenColor) -> Option { + let candidate_scopes = match token_color.scope.as_ref()? { + VsCodeTokenScope::One(scope) => vec![scope], + VsCodeTokenScope::Many(scopes) => scopes.iter().collect(), + } + .iter() + .map(|scope| scope.as_str()) + .collect::>(); + + let mut matches = 0; + + for scope in self.to_vscode() { + if candidate_scopes.contains(&scope) { + matches += 1; + } + } + + Some(matches) + } + + pub fn fallbacks(&self) -> &[Self] { + match self { + ZedSyntaxToken::CommentDoc => &[ZedSyntaxToken::Comment], + ZedSyntaxToken::VariableSpecial => &[ZedSyntaxToken::Variable], + _ => &[], + } + } + pub fn to_vscode(&self) -> Vec<&'static str> { match self { ZedSyntaxToken::Attribute => vec!["entity.other.attribute-name"], @@ -150,7 +195,15 @@ impl ZedSyntaxToken { "variable.function", "support.function", ], - ZedSyntaxToken::Keyword => vec!["keyword"], + ZedSyntaxToken::Hint => vec![], + ZedSyntaxToken::Keyword => vec![ + "keyword", + "keyword.control", + "keyword.control.fun", + "keyword.other.fn.rust", + "punctuation.accessor", + "entity.name.tag", + ], ZedSyntaxToken::Label => vec![ "label", "entity.name", @@ -161,7 +214,9 @@ impl ZedSyntaxToken { ZedSyntaxToken::LinkUri => vec!["markup.underline.link", "string.other.link"], ZedSyntaxToken::Number => vec!["constant.numeric", "number"], ZedSyntaxToken::Operator => vec!["operator", "keyword.operator"], + ZedSyntaxToken::Predictive => vec![], ZedSyntaxToken::Preproc => vec!["preproc"], + ZedSyntaxToken::Primary => vec![], ZedSyntaxToken::Property => vec![ "variable.member", "support.type.property-name", @@ -202,11 +257,20 @@ impl ZedSyntaxToken { ZedSyntaxToken::Tag => vec!["tag", "entity.name.tag", "meta.tag.sgml"], ZedSyntaxToken::TextLiteral => vec!["text.literal", "string"], ZedSyntaxToken::Title => vec!["title", "entity.name"], - ZedSyntaxToken::Type => vec!["entity.name.type", "support.type", "support.class"], + ZedSyntaxToken::Type => vec![ + "entity.name.type", + "entity.name.type.primitive", + "entity.name.type.numeric", + "keyword.type", + "support.type", + "support.type.primitive", + "support.class", + ], ZedSyntaxToken::Variable => vec![ "variable", "variable.language", "variable.member", + "variable.parameter", "variable.parameter.function-call", ], ZedSyntaxToken::VariableSpecial => vec![ @@ -216,7 +280,6 @@ impl ZedSyntaxToken { "variable.language", ], ZedSyntaxToken::Variant => vec!["variant"], - _ => vec![], } } } From a88372dc99ebb6bacb5ce724c26d9f5f5b26b2b7 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 22:24:10 -0500 Subject: [PATCH 035/110] Set background colors for title and status bars --- crates/theme2/src/themes/andromeda.rs | 4 ++++ crates/theme2/src/themes/ayu.rs | 6 +++++ crates/theme2/src/themes/dracula.rs | 2 ++ crates/theme2/src/themes/gruvbox.rs | 12 ++++++++++ crates/theme2/src/themes/night_owl.rs | 4 ++++ crates/theme2/src/themes/noctis.rs | 22 +++++++++++++++++++ crates/theme2/src/themes/nord.rs | 2 ++ crates/theme2/src/themes/palenight.rs | 6 +++++ crates/theme2/src/themes/rose_pine.rs | 6 +++++ crates/theme2/src/themes/solarized.rs | 4 ++++ crates/theme2/src/themes/synthwave_84.rs | 2 ++ crates/theme_importer/src/vscode/converter.rs | 8 +++++++ 12 files changed, 78 insertions(+) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 8dfc32d8b5..e09f0b222f 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -34,6 +34,8 @@ pub fn andromeda() -> UserThemeFamily { drop_target_background: Some(rgba(0x3a404eff).into()), ghost_element_hover: Some(rgba(0x23262eff).into()), text: Some(rgba(0xd5ced9ff).into()), + status_bar_background: Some(rgba(0x23262eff).into()), + title_bar_background: Some(rgba(0x23262eff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x23262eff).into()), editor_background: Some(rgba(0x23262eff).into()), @@ -192,6 +194,8 @@ pub fn andromeda() -> UserThemeFamily { drop_target_background: Some(rgba(0x3a404eff).into()), ghost_element_hover: Some(rgba(0x23262eff).into()), text: Some(rgba(0xd5ced9ff).into()), + status_bar_background: Some(rgba(0x23262eff).into()), + title_bar_background: Some(rgba(0x23262eff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x262a33ff).into()), editor_background: Some(rgba(0x262a33ff).into()), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index fe9d750461..762c1a5279 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -33,6 +33,8 @@ pub fn ayu() -> UserThemeFamily { element_selected: Some(rgba(0x56728f1f).into()), ghost_element_hover: Some(rgba(0x56728f1f).into()), text: Some(rgba(0x8a9199ff).into()), + status_bar_background: Some(rgba(0xf8f9faff).into()), + title_bar_background: Some(rgba(0xf8f9faff).into()), tab_inactive_background: Some(rgba(0xf8f9faff).into()), tab_active_background: Some(rgba(0xf8f9faff).into()), editor_background: Some(rgba(0xf8f9faff).into()), @@ -304,6 +306,8 @@ pub fn ayu() -> UserThemeFamily { element_selected: Some(rgba(0x63759926).into()), ghost_element_hover: Some(rgba(0x63759926).into()), text: Some(rgba(0x707a8cff).into()), + status_bar_background: Some(rgba(0x1f2430ff).into()), + title_bar_background: Some(rgba(0x1f2430ff).into()), tab_inactive_background: Some(rgba(0x1f2430ff).into()), tab_active_background: Some(rgba(0x1f2430ff).into()), editor_background: Some(rgba(0x1f2430ff).into()), @@ -575,6 +579,8 @@ pub fn ayu() -> UserThemeFamily { element_selected: Some(rgba(0x47526640).into()), ghost_element_hover: Some(rgba(0x47526640).into()), text: Some(rgba(0x565b66ff).into()), + status_bar_background: Some(rgba(0x0b0e14ff).into()), + title_bar_background: Some(rgba(0x0b0e14ff).into()), tab_inactive_background: Some(rgba(0x0b0e14ff).into()), tab_active_background: Some(rgba(0x0b0e14ff).into()), editor_background: Some(rgba(0x0b0e14ff).into()), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index bf8fc12b8a..c52bdb49b1 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -33,6 +33,8 @@ pub fn dracula() -> UserThemeFamily { drop_target_background: Some(rgba(0x44475aff).into()), ghost_element_hover: Some(rgba(0x44475a75).into()), text: Some(rgba(0xf8f8f2ff).into()), + status_bar_background: Some(rgba(0x191a21ff).into()), + title_bar_background: Some(rgba(0x21222cff).into()), tab_inactive_background: Some(rgba(0x21222cff).into()), tab_active_background: Some(rgba(0x282a36ff).into()), editor_background: Some(rgba(0x282a36ff).into()), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 44d779071a..f801d44032 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -32,6 +32,8 @@ pub fn gruvbox() -> UserThemeFamily { drop_target_background: Some(rgba(0x3c3836ff).into()), ghost_element_hover: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), + status_bar_background: Some(rgba(0x1d2021ff).into()), + title_bar_background: Some(rgba(0x1d2021ff).into()), tab_inactive_background: Some(rgba(0x1d2021ff).into()), tab_active_background: Some(rgba(0x32302fff).into()), editor_background: Some(rgba(0x1d2021ff).into()), @@ -231,6 +233,8 @@ pub fn gruvbox() -> UserThemeFamily { drop_target_background: Some(rgba(0x3c3836ff).into()), ghost_element_hover: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), + status_bar_background: Some(rgba(0x282828ff).into()), + title_bar_background: Some(rgba(0x282828ff).into()), tab_inactive_background: Some(rgba(0x282828ff).into()), tab_active_background: Some(rgba(0x3c3836ff).into()), editor_background: Some(rgba(0x282828ff).into()), @@ -430,6 +434,8 @@ pub fn gruvbox() -> UserThemeFamily { drop_target_background: Some(rgba(0x3c3836ff).into()), ghost_element_hover: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), + status_bar_background: Some(rgba(0x32302fff).into()), + title_bar_background: Some(rgba(0x32302fff).into()), tab_inactive_background: Some(rgba(0x32302fff).into()), tab_active_background: Some(rgba(0x504945ff).into()), editor_background: Some(rgba(0x32302fff).into()), @@ -629,6 +635,8 @@ pub fn gruvbox() -> UserThemeFamily { drop_target_background: Some(rgba(0xebdbb2ff).into()), ghost_element_hover: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), + status_bar_background: Some(rgba(0xf9f5d7ff).into()), + title_bar_background: Some(rgba(0xf9f5d7ff).into()), tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), tab_active_background: Some(rgba(0xf2e5bcff).into()), editor_background: Some(rgba(0xf9f5d7ff).into()), @@ -828,6 +836,8 @@ pub fn gruvbox() -> UserThemeFamily { drop_target_background: Some(rgba(0xebdbb2ff).into()), ghost_element_hover: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), + status_bar_background: Some(rgba(0xfbf1c7ff).into()), + title_bar_background: Some(rgba(0xfbf1c7ff).into()), tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), tab_active_background: Some(rgba(0xebdbb2ff).into()), editor_background: Some(rgba(0xfbf1c7ff).into()), @@ -1027,6 +1037,8 @@ pub fn gruvbox() -> UserThemeFamily { drop_target_background: Some(rgba(0xebdbb2ff).into()), ghost_element_hover: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), + status_bar_background: Some(rgba(0xf2e5bcff).into()), + title_bar_background: Some(rgba(0xf2e5bcff).into()), tab_inactive_background: Some(rgba(0xf2e5bcff).into()), tab_active_background: Some(rgba(0xd5c4a1ff).into()), editor_background: Some(rgba(0xf2e5bcff).into()), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 13a931453b..94689f2e14 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -34,6 +34,8 @@ pub fn night_owl() -> UserThemeFamily { drop_target_background: Some(rgba(0x011627ff).into()), ghost_element_hover: Some(rgba(0x011627ff).into()), text: Some(rgba(0xd6deebff).into()), + status_bar_background: Some(rgba(0x011627ff).into()), + title_bar_background: Some(rgba(0x011627ff).into()), tab_inactive_background: Some(rgba(0x01111dff).into()), tab_active_background: Some(rgba(0x0b2942ff).into()), editor_background: Some(rgba(0x011627ff).into()), @@ -220,6 +222,8 @@ pub fn night_owl() -> UserThemeFamily { element_selected: Some(rgba(0xd3e8f8ff).into()), ghost_element_hover: Some(rgba(0xd3e8f8ff).into()), text: Some(rgba(0x403f53ff).into()), + status_bar_background: Some(rgba(0xf0f0f0ff).into()), + title_bar_background: Some(rgba(0xf0f0f0ff).into()), tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), tab_active_background: Some(rgba(0xf6f6f6ff).into()), editor_background: Some(rgba(0xfbfbfbff).into()), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index d19aeb61d3..23202260c6 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -34,6 +34,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x002a4dff).into()), ghost_element_hover: Some(rgba(0x00558a65).into()), text: Some(rgba(0xbecfdaff).into()), + status_bar_background: Some(rgba(0x07273bff).into()), + title_bar_background: Some(rgba(0x07273bff).into()), tab_inactive_background: Some(rgba(0x09334eff).into()), tab_active_background: Some(rgba(0x07273bff).into()), editor_background: Some(rgba(0x07273bff).into()), @@ -240,6 +242,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x38292eff).into()), ghost_element_hover: Some(rgba(0x533641ff).into()), text: Some(rgba(0xcbbec2ff).into()), + status_bar_background: Some(rgba(0x322a2dff).into()), + title_bar_background: Some(rgba(0x322a2dff).into()), tab_inactive_background: Some(rgba(0x413036ff).into()), tab_active_background: Some(rgba(0x322a2dff).into()), editor_background: Some(rgba(0x322a2dff).into()), @@ -446,6 +450,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0xb2cacdff).into()), ghost_element_hover: Some(rgba(0xd1eafaff).into()), text: Some(rgba(0x005661ff).into()), + status_bar_background: Some(rgba(0xcaedf2ff).into()), + title_bar_background: Some(rgba(0xe7f2f3ff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), tab_active_background: Some(rgba(0xf4f6f6ff).into()), editor_background: Some(rgba(0xf4f6f6ff).into()), @@ -652,6 +658,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0xafaad4aa).into()), ghost_element_hover: Some(rgba(0xd2ccffff).into()), text: Some(rgba(0x0c006bff).into()), + status_bar_background: Some(rgba(0xe2dff6ff).into()), + title_bar_background: Some(rgba(0xedecf8ff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), editor_background: Some(rgba(0xf2f1f8ff).into()), @@ -858,6 +866,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0xcdcbb2ff).into()), ghost_element_hover: Some(rgba(0xd2f3f9ff).into()), text: Some(rgba(0x005661ff).into()), + status_bar_background: Some(rgba(0xf0e9d6ff).into()), + title_bar_background: Some(rgba(0xf9f1e1ff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), editor_background: Some(rgba(0xfef8ecff).into()), @@ -1064,6 +1074,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x152837ff).into()), ghost_element_hover: Some(rgba(0x00558aff).into()), text: Some(rgba(0xc5cdd3ff).into()), + status_bar_background: Some(rgba(0x1b2932ff).into()), + title_bar_background: Some(rgba(0x1b2932ff).into()), tab_inactive_background: Some(rgba(0x202e37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), editor_background: Some(rgba(0x1b2932ff).into()), @@ -1270,6 +1282,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x00404dff).into()), ghost_element_hover: Some(rgba(0x0b515bff).into()), text: Some(rgba(0xb2cacdff).into()), + status_bar_background: Some(rgba(0x041d20ff).into()), + title_bar_background: Some(rgba(0x041d20ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x052529ff).into()), editor_background: Some(rgba(0x052529ff).into()), @@ -1476,6 +1490,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x00404dff).into()), ghost_element_hover: Some(rgba(0x0b515bff).into()), text: Some(rgba(0xb2cacdff).into()), + status_bar_background: Some(rgba(0x031417ff).into()), + title_bar_background: Some(rgba(0x031417ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), editor_background: Some(rgba(0x031417ff).into()), @@ -1682,6 +1698,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x00404dff).into()), ghost_element_hover: Some(rgba(0x0b515bff).into()), text: Some(rgba(0xb2cacdff).into()), + status_bar_background: Some(rgba(0x031417ff).into()), + title_bar_background: Some(rgba(0x031417ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), editor_background: Some(rgba(0x031417ff).into()), @@ -1888,6 +1906,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x202040ff).into()), ghost_element_hover: Some(rgba(0x383866ff).into()), text: Some(rgba(0xc5c2d6ff).into()), + status_bar_background: Some(rgba(0x292640ff).into()), + title_bar_background: Some(rgba(0x292640ff).into()), tab_inactive_background: Some(rgba(0x2f2c49ff).into()), tab_active_background: Some(rgba(0x292640ff).into()), editor_background: Some(rgba(0x292640ff).into()), @@ -2094,6 +2114,8 @@ pub fn noctis() -> UserThemeFamily { drop_target_background: Some(rgba(0x302040ff).into()), ghost_element_hover: Some(rgba(0x6a448dff).into()), text: Some(rgba(0xccbfd9ff).into()), + status_bar_background: Some(rgba(0x30243dff).into()), + title_bar_background: Some(rgba(0x30243dff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), editor_background: Some(rgba(0x30243dff).into()), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index cc863f3716..f1111d8695 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -33,6 +33,8 @@ pub fn nord() -> UserThemeFamily { drop_target_background: Some(rgba(0x88c0d099).into()), ghost_element_hover: Some(rgba(0x3b4252ff).into()), text: Some(rgba(0xd8dee9ff).into()), + status_bar_background: Some(rgba(0x3b4252ff).into()), + title_bar_background: Some(rgba(0x2e3440ff).into()), tab_inactive_background: Some(rgba(0x2e3440ff).into()), tab_active_background: Some(rgba(0x3b4252ff).into()), editor_background: Some(rgba(0x2e3440ff).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index daee43f572..0595f2fb44 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -34,6 +34,8 @@ pub fn palenight() -> UserThemeFamily { drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), + status_bar_background: Some(rgba(0x282c3dff).into()), + title_bar_background: Some(rgba(0x292d3eff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292d3eff).into()), editor_background: Some(rgba(0x292d3eff).into()), @@ -249,6 +251,8 @@ pub fn palenight() -> UserThemeFamily { drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), + status_bar_background: Some(rgba(0x282c3dff).into()), + title_bar_background: Some(rgba(0x292d3eff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292d3eff).into()), editor_background: Some(rgba(0x292d3eff).into()), @@ -464,6 +468,8 @@ pub fn palenight() -> UserThemeFamily { drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), text: Some(rgba(0xffffffff).into()), + status_bar_background: Some(rgba(0x25293aff).into()), + title_bar_background: Some(rgba(0x25293aff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x25293aff).into()), editor_background: Some(rgba(0x292d3eff).into()), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index f4de7fb0d3..b7bff4d559 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -34,6 +34,8 @@ pub fn rose_pine() -> UserThemeFamily { drop_target_background: Some(rgba(0x1f1d2eff).into()), ghost_element_hover: Some(rgba(0x6e6a861a).into()), text: Some(rgba(0xe0def4ff).into()), + status_bar_background: Some(rgba(0x191724ff).into()), + title_bar_background: Some(rgba(0x191724ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), editor_background: Some(rgba(0x191724ff).into()), @@ -207,6 +209,8 @@ pub fn rose_pine() -> UserThemeFamily { drop_target_background: Some(rgba(0x2a273fff).into()), ghost_element_hover: Some(rgba(0x817c9c14).into()), text: Some(rgba(0xe0def4ff).into()), + status_bar_background: Some(rgba(0x232136ff).into()), + title_bar_background: Some(rgba(0x232136ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x817c9c14).into()), editor_background: Some(rgba(0x232136ff).into()), @@ -380,6 +384,8 @@ pub fn rose_pine() -> UserThemeFamily { drop_target_background: Some(rgba(0xfffaf3ff).into()), ghost_element_hover: Some(rgba(0x6e6a860d).into()), text: Some(rgba(0x575279ff).into()), + status_bar_background: Some(rgba(0xfaf4edff).into()), + title_bar_background: Some(rgba(0xfaf4edff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), editor_background: Some(rgba(0xfaf4edff).into()), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index e77d2e79f9..65aaa1e27e 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -32,6 +32,8 @@ pub fn solarized() -> UserThemeFamily { drop_target_background: Some(rgba(0x00445488).into()), ghost_element_hover: Some(rgba(0x004454aa).into()), text: Some(rgba(0xbbbbbbff).into()), + status_bar_background: Some(rgba(0x00212bff).into()), + title_bar_background: Some(rgba(0x002c39ff).into()), tab_inactive_background: Some(rgba(0x004052ff).into()), tab_active_background: Some(rgba(0x002b37ff).into()), editor_background: Some(rgba(0x002b36ff).into()), @@ -227,6 +229,8 @@ pub fn solarized() -> UserThemeFamily { element_selected: Some(rgba(0xdfca88ff).into()), ghost_element_hover: Some(rgba(0xdfca8844).into()), text: Some(rgba(0x333333ff).into()), + status_bar_background: Some(rgba(0xeee8d5ff).into()), + title_bar_background: Some(rgba(0xeee8d5ff).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), editor_background: Some(rgba(0xfdf6e3ff).into()), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 585d584c68..c0ffca1828 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -26,6 +26,8 @@ pub fn synthwave_84() -> UserThemeFamily { drop_target_background: Some(rgba(0x34294f66).into()), ghost_element_hover: Some(rgba(0x37294d99).into()), text: Some(rgba(0xffffffff).into()), + status_bar_background: Some(rgba(0x241b2fff).into()), + title_bar_background: Some(rgba(0x241b2fff).into()), tab_inactive_background: Some(rgba(0x262335ff).into()), editor_background: Some(rgba(0x262335ff).into()), editor_gutter_background: Some(rgba(0x262335ff).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 4e4b82a2c5..45b54327cd 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -141,6 +141,14 @@ impl VsCodeThemeConverter { .editor_background .as_ref() .traverse(|color| try_parse_color(&color))?, + title_bar_background: vscode_colors + .title_bar_active_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, + status_bar_background: vscode_colors + .status_bar_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, element_background: vscode_colors .button_background .as_ref() From 1f51f74670c78134ae22c14476e10532cc58bafe Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Thu, 7 Dec 2023 22:24:32 -0500 Subject: [PATCH 036/110] Add TODO --- crates/feedback2/src/feedback_modal.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 1b746e1f1f..6de05b6496 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -395,3 +395,4 @@ impl Render for FeedbackModal { } // TODO: Add compilation flags to enable debug mode, where we can simulate sending feedback that both succeeds and fails, so we can test the UI +// TODO: Maybe store email address whenever the modal is closed, versus just on submit, so users can remove it if they want without submitting From efb4ff816ad3817a2360f1017897183d36ec0345 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 22:32:41 -0500 Subject: [PATCH 037/110] Set tab bar and toolbar backgrounds --- crates/theme2/src/themes/andromeda.rs | 4 ++++ crates/theme2/src/themes/ayu.rs | 6 +++++ crates/theme2/src/themes/dracula.rs | 2 ++ crates/theme2/src/themes/night_owl.rs | 4 ++++ crates/theme2/src/themes/noctis.rs | 22 +++++++++++++++++++ crates/theme2/src/themes/nord.rs | 2 ++ crates/theme2/src/themes/palenight.rs | 6 +++++ crates/theme2/src/themes/rose_pine.rs | 6 +++++ crates/theme_importer/src/vscode/converter.rs | 8 +++++++ 9 files changed, 60 insertions(+) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index e09f0b222f..8c841226eb 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -36,6 +36,8 @@ pub fn andromeda() -> UserThemeFamily { text: Some(rgba(0xd5ced9ff).into()), status_bar_background: Some(rgba(0x23262eff).into()), title_bar_background: Some(rgba(0x23262eff).into()), + toolbar_background: Some(rgba(0x23262eff).into()), + tab_bar_background: Some(rgba(0x23262eff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x23262eff).into()), editor_background: Some(rgba(0x23262eff).into()), @@ -196,6 +198,8 @@ pub fn andromeda() -> UserThemeFamily { text: Some(rgba(0xd5ced9ff).into()), status_bar_background: Some(rgba(0x23262eff).into()), title_bar_background: Some(rgba(0x23262eff).into()), + toolbar_background: Some(rgba(0x23262eff).into()), + tab_bar_background: Some(rgba(0x23262eff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x262a33ff).into()), editor_background: Some(rgba(0x262a33ff).into()), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 762c1a5279..8affab4695 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -35,6 +35,8 @@ pub fn ayu() -> UserThemeFamily { text: Some(rgba(0x8a9199ff).into()), status_bar_background: Some(rgba(0xf8f9faff).into()), title_bar_background: Some(rgba(0xf8f9faff).into()), + toolbar_background: Some(rgba(0xf8f9faff).into()), + tab_bar_background: Some(rgba(0xf8f9faff).into()), tab_inactive_background: Some(rgba(0xf8f9faff).into()), tab_active_background: Some(rgba(0xf8f9faff).into()), editor_background: Some(rgba(0xf8f9faff).into()), @@ -308,6 +310,8 @@ pub fn ayu() -> UserThemeFamily { text: Some(rgba(0x707a8cff).into()), status_bar_background: Some(rgba(0x1f2430ff).into()), title_bar_background: Some(rgba(0x1f2430ff).into()), + toolbar_background: Some(rgba(0x1f2430ff).into()), + tab_bar_background: Some(rgba(0x1f2430ff).into()), tab_inactive_background: Some(rgba(0x1f2430ff).into()), tab_active_background: Some(rgba(0x1f2430ff).into()), editor_background: Some(rgba(0x1f2430ff).into()), @@ -581,6 +585,8 @@ pub fn ayu() -> UserThemeFamily { text: Some(rgba(0x565b66ff).into()), status_bar_background: Some(rgba(0x0b0e14ff).into()), title_bar_background: Some(rgba(0x0b0e14ff).into()), + toolbar_background: Some(rgba(0x0b0e14ff).into()), + tab_bar_background: Some(rgba(0x0b0e14ff).into()), tab_inactive_background: Some(rgba(0x0b0e14ff).into()), tab_active_background: Some(rgba(0x0b0e14ff).into()), editor_background: Some(rgba(0x0b0e14ff).into()), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index c52bdb49b1..f6d793b526 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -35,6 +35,8 @@ pub fn dracula() -> UserThemeFamily { text: Some(rgba(0xf8f8f2ff).into()), status_bar_background: Some(rgba(0x191a21ff).into()), title_bar_background: Some(rgba(0x21222cff).into()), + toolbar_background: Some(rgba(0x282a36ff).into()), + tab_bar_background: Some(rgba(0x282a36ff).into()), tab_inactive_background: Some(rgba(0x21222cff).into()), tab_active_background: Some(rgba(0x282a36ff).into()), editor_background: Some(rgba(0x282a36ff).into()), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 94689f2e14..2877d2c8a0 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -36,6 +36,8 @@ pub fn night_owl() -> UserThemeFamily { text: Some(rgba(0xd6deebff).into()), status_bar_background: Some(rgba(0x011627ff).into()), title_bar_background: Some(rgba(0x011627ff).into()), + toolbar_background: Some(rgba(0x011627ff).into()), + tab_bar_background: Some(rgba(0x011627ff).into()), tab_inactive_background: Some(rgba(0x01111dff).into()), tab_active_background: Some(rgba(0x0b2942ff).into()), editor_background: Some(rgba(0x011627ff).into()), @@ -224,6 +226,8 @@ pub fn night_owl() -> UserThemeFamily { text: Some(rgba(0x403f53ff).into()), status_bar_background: Some(rgba(0xf0f0f0ff).into()), title_bar_background: Some(rgba(0xf0f0f0ff).into()), + toolbar_background: Some(rgba(0xf0f0f0ff).into()), + tab_bar_background: Some(rgba(0xf0f0f0ff).into()), tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), tab_active_background: Some(rgba(0xf6f6f6ff).into()), editor_background: Some(rgba(0xfbfbfbff).into()), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 23202260c6..c37186816f 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -36,6 +36,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xbecfdaff).into()), status_bar_background: Some(rgba(0x07273bff).into()), title_bar_background: Some(rgba(0x07273bff).into()), + toolbar_background: Some(rgba(0x051b29ff).into()), + tab_bar_background: Some(rgba(0x051b29ff).into()), tab_inactive_background: Some(rgba(0x09334eff).into()), tab_active_background: Some(rgba(0x07273bff).into()), editor_background: Some(rgba(0x07273bff).into()), @@ -244,6 +246,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xcbbec2ff).into()), status_bar_background: Some(rgba(0x322a2dff).into()), title_bar_background: Some(rgba(0x322a2dff).into()), + toolbar_background: Some(rgba(0x272022ff).into()), + tab_bar_background: Some(rgba(0x272022ff).into()), tab_inactive_background: Some(rgba(0x413036ff).into()), tab_active_background: Some(rgba(0x322a2dff).into()), editor_background: Some(rgba(0x322a2dff).into()), @@ -452,6 +456,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0x005661ff).into()), status_bar_background: Some(rgba(0xcaedf2ff).into()), title_bar_background: Some(rgba(0xe7f2f3ff).into()), + toolbar_background: Some(rgba(0xe1eeefff).into()), + tab_bar_background: Some(rgba(0xe1eeefff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), tab_active_background: Some(rgba(0xf4f6f6ff).into()), editor_background: Some(rgba(0xf4f6f6ff).into()), @@ -660,6 +666,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0x0c006bff).into()), status_bar_background: Some(rgba(0xe2dff6ff).into()), title_bar_background: Some(rgba(0xedecf8ff).into()), + toolbar_background: Some(rgba(0xe9e7f3ff).into()), + tab_bar_background: Some(rgba(0xe9e7f3ff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), editor_background: Some(rgba(0xf2f1f8ff).into()), @@ -868,6 +876,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0x005661ff).into()), status_bar_background: Some(rgba(0xf0e9d6ff).into()), title_bar_background: Some(rgba(0xf9f1e1ff).into()), + toolbar_background: Some(rgba(0xf6eddaff).into()), + tab_bar_background: Some(rgba(0xf6eddaff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), editor_background: Some(rgba(0xfef8ecff).into()), @@ -1076,6 +1086,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xc5cdd3ff).into()), status_bar_background: Some(rgba(0x1b2932ff).into()), title_bar_background: Some(rgba(0x1b2932ff).into()), + toolbar_background: Some(rgba(0x0e1920ff).into()), + tab_bar_background: Some(rgba(0x0e1920ff).into()), tab_inactive_background: Some(rgba(0x202e37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), editor_background: Some(rgba(0x1b2932ff).into()), @@ -1284,6 +1296,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x041d20ff).into()), title_bar_background: Some(rgba(0x041d20ff).into()), + toolbar_background: Some(rgba(0x03191bff).into()), + tab_bar_background: Some(rgba(0x03191bff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x052529ff).into()), editor_background: Some(rgba(0x052529ff).into()), @@ -1492,6 +1506,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), + toolbar_background: Some(rgba(0x020c0eff).into()), + tab_bar_background: Some(rgba(0x020c0eff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), editor_background: Some(rgba(0x031417ff).into()), @@ -1700,6 +1716,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), + toolbar_background: Some(rgba(0x020c0eff).into()), + tab_bar_background: Some(rgba(0x020c0eff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), editor_background: Some(rgba(0x031417ff).into()), @@ -1908,6 +1926,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xc5c2d6ff).into()), status_bar_background: Some(rgba(0x292640ff).into()), title_bar_background: Some(rgba(0x292640ff).into()), + toolbar_background: Some(rgba(0x1f1d30ff).into()), + tab_bar_background: Some(rgba(0x1f1d30ff).into()), tab_inactive_background: Some(rgba(0x2f2c49ff).into()), tab_active_background: Some(rgba(0x292640ff).into()), editor_background: Some(rgba(0x292640ff).into()), @@ -2116,6 +2136,8 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xccbfd9ff).into()), status_bar_background: Some(rgba(0x30243dff).into()), title_bar_background: Some(rgba(0x30243dff).into()), + toolbar_background: Some(rgba(0x291d35ff).into()), + tab_bar_background: Some(rgba(0x291d35ff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), editor_background: Some(rgba(0x30243dff).into()), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index f1111d8695..a0f0c1fbf7 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -35,6 +35,8 @@ pub fn nord() -> UserThemeFamily { text: Some(rgba(0xd8dee9ff).into()), status_bar_background: Some(rgba(0x3b4252ff).into()), title_bar_background: Some(rgba(0x2e3440ff).into()), + toolbar_background: Some(rgba(0x2e3440ff).into()), + tab_bar_background: Some(rgba(0x2e3440ff).into()), tab_inactive_background: Some(rgba(0x2e3440ff).into()), tab_active_background: Some(rgba(0x3b4252ff).into()), editor_background: Some(rgba(0x2e3440ff).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 0595f2fb44..c825d229cb 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -36,6 +36,8 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x282c3dff).into()), title_bar_background: Some(rgba(0x292d3eff).into()), + toolbar_background: Some(rgba(0x292d3eff).into()), + tab_bar_background: Some(rgba(0x292d3eff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292d3eff).into()), editor_background: Some(rgba(0x292d3eff).into()), @@ -253,6 +255,8 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x282c3dff).into()), title_bar_background: Some(rgba(0x292d3eff).into()), + toolbar_background: Some(rgba(0x292d3eff).into()), + tab_bar_background: Some(rgba(0x292d3eff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292d3eff).into()), editor_background: Some(rgba(0x292d3eff).into()), @@ -470,6 +474,8 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x25293aff).into()), title_bar_background: Some(rgba(0x25293aff).into()), + toolbar_background: Some(rgba(0x25293aff).into()), + tab_bar_background: Some(rgba(0x25293aff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x25293aff).into()), editor_background: Some(rgba(0x292d3eff).into()), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index b7bff4d559..1584877adb 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -36,6 +36,8 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0xe0def4ff).into()), status_bar_background: Some(rgba(0x191724ff).into()), title_bar_background: Some(rgba(0x191724ff).into()), + toolbar_background: Some(rgba(0x1f1d2eff).into()), + tab_bar_background: Some(rgba(0x1f1d2eff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), editor_background: Some(rgba(0x191724ff).into()), @@ -211,6 +213,8 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0xe0def4ff).into()), status_bar_background: Some(rgba(0x232136ff).into()), title_bar_background: Some(rgba(0x232136ff).into()), + toolbar_background: Some(rgba(0x2a273fff).into()), + tab_bar_background: Some(rgba(0x2a273fff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x817c9c14).into()), editor_background: Some(rgba(0x232136ff).into()), @@ -386,6 +390,8 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0x575279ff).into()), status_bar_background: Some(rgba(0xfaf4edff).into()), title_bar_background: Some(rgba(0xfaf4edff).into()), + toolbar_background: Some(rgba(0xfffaf3ff).into()), + tab_bar_background: Some(rgba(0xfffaf3ff).into()), tab_inactive_background: Some(rgba(0x000000ff).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), editor_background: Some(rgba(0xfaf4edff).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 45b54327cd..48356da34c 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -183,6 +183,10 @@ impl VsCodeThemeConverter { .ok() .flatten() }), + tab_bar_background: vscode_colors + .panel_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, tab_active_background: vscode_colors .tab_active_background .as_ref() @@ -191,6 +195,10 @@ impl VsCodeThemeConverter { .tab_inactive_background .as_ref() .traverse(|color| try_parse_color(&color))?, + toolbar_background: vscode_colors + .panel_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, editor_background: vscode_colors .editor_background .as_ref() From 7a9f764aa0ab880aa6a3a0eb7a16196c33fd2f80 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 7 Dec 2023 23:37:49 -0500 Subject: [PATCH 038/110] Add support for theme family-specific syntax mapping overrides (#3551) This PR adds support for adding a specific set of mappings from Zed syntax tokens to VS Code scopes for a particular theme family. We can use this as a fallback when we aren't otherwise able to rely on the mappings in the theme importer, as sometimes it isn't possible to make a specific enough matcher that works across all of the themes. Release Notes: - N/A --- .../themes/src/vscode/rose-pine/family.json | 5 +++- crates/theme2/src/themes/rose_pine.rs | 6 ++--- crates/theme_importer/Cargo.toml | 2 +- crates/theme_importer/src/main.rs | 15 +++++++++++- crates/theme_importer/src/vscode/converter.rs | 23 +++++++++++++++---- crates/theme_importer/src/vscode/syntax.rs | 2 +- 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/assets/themes/src/vscode/rose-pine/family.json b/assets/themes/src/vscode/rose-pine/family.json index 1cdcab7842..3f7b149db8 100644 --- a/assets/themes/src/vscode/rose-pine/family.json +++ b/assets/themes/src/vscode/rose-pine/family.json @@ -17,5 +17,8 @@ "file_name": "rose-pine-dawn.json", "appearance": "light" } - ] + ], + "syntax": { + "function": ["entity.name"] + } } diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 1584877adb..5296047562 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -106,7 +106,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xe0def4ff).into()), + color: Some(rgba(0xebbcbaff).into()), ..Default::default() }, ), @@ -283,7 +283,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xe0def4ff).into()), + color: Some(rgba(0xea9a97ff).into()), ..Default::default() }, ), @@ -460,7 +460,7 @@ pub fn rose_pine() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0x575279ff).into()), + color: Some(rgba(0xd7827eff).into()), ..Default::default() }, ), diff --git a/crates/theme_importer/Cargo.toml b/crates/theme_importer/Cargo.toml index bf071912a7..82ab18d48d 100644 --- a/crates/theme_importer/Cargo.toml +++ b/crates/theme_importer/Cargo.toml @@ -10,7 +10,7 @@ publish = false anyhow.workspace = true convert_case = "0.6.0" gpui = { package = "gpui2", path = "../gpui2" } -indexmap = "1.6.2" +indexmap = { version = "1.6.2", features = ["serde"] } json_comments = "0.2.2" log.workspace = true palette = { version = "0.7.3", default-features = false, features = ["std"] } diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index 80e979df98..0005d932d4 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -12,6 +12,7 @@ use std::str::FromStr; use anyhow::{anyhow, Context, Result}; use convert_case::{Case, Casing}; use gpui::serde_json; +use indexmap::IndexMap; use json_comments::StripComments; use log::LevelFilter; use serde::Deserialize; @@ -27,6 +28,14 @@ struct FamilyMetadata { pub name: String, pub author: String, pub themes: Vec, + + /// Overrides for specific syntax tokens. + /// + /// Use this to ensure certain Zed syntax tokens are matched + /// to an exact set of scopes when it is not otherwise possible + /// to rely on the default mappings in the theme importer. + #[serde(default)] + pub syntax: IndexMap>, } #[derive(Debug, Clone, Copy, Deserialize)] @@ -127,7 +136,11 @@ fn main() -> Result<()> { let vscode_theme: VsCodeTheme = serde_json::from_reader(theme_without_comments) .context(format!("failed to parse theme {theme_file_path:?}"))?; - let converter = VsCodeThemeConverter::new(vscode_theme, theme_metadata); + let converter = VsCodeThemeConverter::new( + vscode_theme, + theme_metadata, + family_metadata.syntax.clone(), + ); let theme = converter.convert()?; diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 48356da34c..4e9090d2cd 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -9,7 +9,7 @@ use theme::{ use crate::color::try_parse_color; use crate::util::Traverse; -use crate::vscode::VsCodeTheme; +use crate::vscode::{VsCodeTheme, VsCodeTokenScope}; use crate::ThemeMetadata; use super::ZedSyntaxToken; @@ -32,13 +32,19 @@ pub(crate) fn try_parse_font_style(font_style: &str) -> Option { pub struct VsCodeThemeConverter { theme: VsCodeTheme, theme_metadata: ThemeMetadata, + syntax_overrides: IndexMap>, } impl VsCodeThemeConverter { - pub fn new(theme: VsCodeTheme, theme_metadata: ThemeMetadata) -> Self { + pub fn new( + theme: VsCodeTheme, + theme_metadata: ThemeMetadata, + syntax_overrides: IndexMap>, + ) -> Self { Self { theme, theme_metadata, + syntax_overrides, } } @@ -291,8 +297,17 @@ impl VsCodeThemeConverter { let mut highlight_styles = IndexMap::new(); for syntax_token in ZedSyntaxToken::iter() { - let best_match = syntax_token - .find_best_token_color_match(&self.theme.token_colors) + let override_match = self + .syntax_overrides + .get(&syntax_token.to_string()) + .and_then(|scope| { + self.theme.token_colors.iter().find(|token_color| { + token_color.scope == Some(VsCodeTokenScope::Many(scope.clone())) + }) + }); + + let best_match = override_match + .or_else(|| syntax_token.find_best_token_color_match(&self.theme.token_colors)) .or_else(|| { syntax_token.fallbacks().iter().find_map(|fallback| { fallback.find_best_token_color_match(&self.theme.token_colors) diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 318eb484c8..19a38fdd72 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -2,7 +2,7 @@ use indexmap::IndexMap; use serde::Deserialize; use strum::EnumIter; -#[derive(Debug, Deserialize)] +#[derive(Debug, PartialEq, Eq, Deserialize)] #[serde(untagged)] pub enum VsCodeTokenScope { One(String), From d0a673ec624c802d6528e2d2fd0406a30d3825a5 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Fri, 8 Dec 2023 12:37:20 +0100 Subject: [PATCH 039/110] buffer_search: Add tooltips, polish keybinds --- crates/search2/src/buffer_search.rs | 62 ++++++++++++++--------------- crates/search2/src/mode.rs | 14 +++++++ crates/search2/src/search.rs | 26 ++++++++---- crates/search2/src/search_bar.rs | 42 ++++++++++--------- crates/ui2/src/components/icon.rs | 2 + 5 files changed, 90 insertions(+), 56 deletions(-) diff --git a/crates/search2/src/buffer_search.rs b/crates/search2/src/buffer_search.rs index cbbeeb0f12..ccbec98c5d 100644 --- a/crates/search2/src/buffer_search.rs +++ b/crates/search2/src/buffer_search.rs @@ -11,14 +11,14 @@ use editor::{Editor, EditorMode}; use futures::channel::oneshot; use gpui::{ actions, div, red, Action, AppContext, Div, EventEmitter, FocusableView, - InteractiveElement as _, IntoElement, ParentElement as _, Render, Styled, Subscription, Task, - View, ViewContext, VisualContext as _, WeakView, WindowContext, + InteractiveElement as _, IntoElement, KeyContext, ParentElement as _, Render, Styled, + Subscription, Task, View, ViewContext, VisualContext as _, WeakView, WindowContext, }; use project::search::SearchQuery; use serde::Deserialize; use std::{any::Any, sync::Arc}; -use ui::{h_stack, Clickable, Icon, IconButton, IconElement}; +use ui::{h_stack, ButtonCommon, Clickable, Icon, IconButton, IconElement, Tooltip}; use util::ResultExt; use workspace::{ item::ItemHandle, @@ -131,13 +131,7 @@ impl Render for BufferSearchBar { let search_button_for_mode = |mode| { let is_active = self.current_mode == mode; - render_search_mode_button( - mode, - is_active, - cx.listener(move |this, _, cx| { - this.activate_search_mode(mode, cx); - }), - ) + render_search_mode_button(mode, is_active) }; let search_option_button = |option| { let is_active = self.search_options.contains(option); @@ -163,23 +157,35 @@ impl Render for BufferSearchBar { }); let should_show_replace_input = self.replace_enabled && supported_options.replacement; let replace_all = should_show_replace_input - .then(|| super::render_replace_button(ReplaceAll, ui::Icon::ReplaceAll)); - let replace_next = should_show_replace_input - .then(|| super::render_replace_button(ReplaceNext, ui::Icon::Replace)); + .then(|| super::render_replace_button(ReplaceAll, ui::Icon::ReplaceAll, "Replace all")); + let replace_next = should_show_replace_input.then(|| { + super::render_replace_button(ReplaceNext, ui::Icon::ReplaceNext, "Replace next") + }); let in_replace = self.replacement_editor.focus_handle(cx).is_focused(cx); + let mut key_context = KeyContext::default(); + key_context.add("BufferSearchBar"); + if in_replace { + key_context.add("in_replace"); + } + h_stack() - .key_context("BufferSearchBar") + .key_context(key_context) .on_action(cx.listener(Self::previous_history_query)) .on_action(cx.listener(Self::next_history_query)) .on_action(cx.listener(Self::dismiss)) .on_action(cx.listener(Self::select_next_match)) .on_action(cx.listener(Self::select_prev_match)) + .on_action(cx.listener(|this, _: &ActivateRegexMode, cx| { + this.activate_search_mode(SearchMode::Regex, cx); + })) + .on_action(cx.listener(|this, _: &ActivateTextMode, cx| { + this.activate_search_mode(SearchMode::Text, cx); + })) .when(self.supported_options().replacement, |this| { this.on_action(cx.listener(Self::toggle_replace)) .when(in_replace, |this| { - this.key_context("in_replace") - .on_action(cx.listener(Self::replace_next)) + this.on_action(cx.listener(Self::replace_next)) .on_action(cx.listener(Self::replace_all)) }) }) @@ -238,21 +244,19 @@ impl Render for BufferSearchBar { h_stack() .gap_0p5() .flex_none() - .child(self.render_action_button(cx)) + .child(self.render_action_button()) .children(match_count) .child(render_nav_button( ui::Icon::ChevronLeft, self.active_match_index.is_some(), - cx.listener(move |this, _, cx| { - this.select_prev_match(&Default::default(), cx); - }), + "Select previous match", + &SelectPrevMatch, )) .child(render_nav_button( ui::Icon::ChevronRight, self.active_match_index.is_some(), - cx.listener(move |this, _, cx| { - this.select_next_match(&Default::default(), cx); - }), + "Select next match", + &SelectNextMatch, )), ) } @@ -597,14 +601,10 @@ impl BufferSearchBar { self.update_matches(cx) } - fn render_action_button(&self, cx: &mut ViewContext) -> impl IntoElement { - // let tooltip_style = theme.tooltip.clone(); - - // let style = theme.search.action_button.clone(); - - IconButton::new("select-all", ui::Icon::SelectAll).on_click(cx.listener(|this, _, cx| { - this.select_all_matches(&SelectAllMatches, cx); - })) + fn render_action_button(&self) -> impl IntoElement { + IconButton::new("select-all", ui::Icon::SelectAll) + .on_click(|_, cx| cx.dispatch_action(SelectAllMatches.boxed_clone())) + .tooltip(|cx| Tooltip::for_action("Select all matches", &SelectAllMatches, cx)) } pub fn activate_search_mode(&mut self, mode: SearchMode, cx: &mut ViewContext) { diff --git a/crates/search2/src/mode.rs b/crates/search2/src/mode.rs index 817fb454d2..3fd53cee49 100644 --- a/crates/search2/src/mode.rs +++ b/crates/search2/src/mode.rs @@ -1,3 +1,7 @@ +use gpui::{Action, SharedString}; + +use crate::{ActivateRegexMode, ActivateSemanticMode, ActivateTextMode}; + // TODO: Update the default search mode to get from config #[derive(Copy, Clone, Debug, Default, PartialEq)] pub enum SearchMode { @@ -15,6 +19,16 @@ impl SearchMode { SearchMode::Regex => "Regex", } } + pub(crate) fn tooltip(&self) -> SharedString { + format!("Activate {} Mode", self.label()).into() + } + pub(crate) fn action(&self) -> Box { + match self { + SearchMode::Text => ActivateTextMode.boxed_clone(), + SearchMode::Semantic => ActivateSemanticMode.boxed_clone(), + SearchMode::Regex => ActivateRegexMode.boxed_clone(), + } + } } pub(crate) fn next_mode(mode: &SearchMode, semantic_enabled: bool) -> SearchMode { diff --git a/crates/search2/src/search.rs b/crates/search2/src/search.rs index 13def6b4a7..c98a033c72 100644 --- a/crates/search2/src/search.rs +++ b/crates/search2/src/search.rs @@ -3,7 +3,7 @@ pub use buffer_search::BufferSearchBar; use gpui::{actions, Action, AppContext, IntoElement}; pub use mode::SearchMode; use project::search::SearchQuery; -use ui::prelude::*; +use ui::{prelude::*, Tooltip}; use ui::{ButtonStyle, Icon, IconButton}; //pub use project_search::{ProjectSearchBar, ProjectSearchView}; // use theme::components::{ @@ -84,7 +84,7 @@ impl SearchOptions { } pub fn as_button(&self, active: bool) -> impl IntoElement { - IconButton::new(0, self.icon()) + IconButton::new(self.label(), self.icon()) .on_click({ let action = self.to_toggle_action(); move |_, cx| { @@ -93,26 +93,38 @@ impl SearchOptions { }) .style(ButtonStyle::Subtle) .when(active, |button| button.style(ButtonStyle::Filled)) + .tooltip({ + let action = self.to_toggle_action(); + let label: SharedString = format!("Toggle {}", self.label()).into(); + move |cx| Tooltip::for_action(label.clone(), &*action, cx) + }) } } fn toggle_replace_button(active: bool) -> impl IntoElement { // todo: add toggle_replace button - IconButton::new(0, Icon::Replace) + IconButton::new("buffer-search-bar-toggle-replace-button", Icon::Replace) .on_click(|_, cx| { cx.dispatch_action(Box::new(ToggleReplace)); cx.notify(); }) .style(ButtonStyle::Subtle) .when(active, |button| button.style(ButtonStyle::Filled)) + .tooltip(|cx| Tooltip::for_action("Toggle replace", &ToggleReplace, cx)) } fn render_replace_button( action: impl Action + 'static + Send + Sync, icon: Icon, + tooltip: &'static str, ) -> impl IntoElement { - // todo: add tooltip - IconButton::new(0, icon).on_click(move |_, cx| { - cx.dispatch_action(action.boxed_clone()); - }) + let id: SharedString = format!("search-replace-{}", action.name()).into(); + IconButton::new(id, icon) + .tooltip({ + let action = action.boxed_clone(); + move |cx| Tooltip::for_action(tooltip, &*action, cx) + }) + .on_click(move |_, cx| { + cx.dispatch_action(action.boxed_clone()); + }) } diff --git a/crates/search2/src/search_bar.rs b/crates/search2/src/search_bar.rs index 44ba287d78..dcc46ac228 100644 --- a/crates/search2/src/search_bar.rs +++ b/crates/search2/src/search_bar.rs @@ -1,30 +1,36 @@ -use gpui::{ClickEvent, IntoElement, WindowContext}; -use ui::prelude::*; +use gpui::{Action, IntoElement}; +use ui::{prelude::*, Tooltip}; use ui::{Button, IconButton}; use crate::mode::SearchMode; pub(super) fn render_nav_button( icon: ui::Icon, - _active: bool, - on_click: impl Fn(&ClickEvent, &mut WindowContext) + 'static, + active: bool, + tooltip: &'static str, + action: &'static dyn Action, ) -> impl IntoElement { - // let tooltip_style = cx.theme().tooltip.clone(); - // let cursor_style = if active { - // CursorStyle::PointingHand - // } else { - // CursorStyle::default() - // }; - // enum NavButton {} - IconButton::new("search-nav-button", icon).on_click(on_click) + IconButton::new( + SharedString::from(format!("search-nav-button-{}", action.name())), + icon, + ) + .on_click(|_, cx| cx.dispatch_action(action.boxed_clone())) + .tooltip(move |cx| Tooltip::for_action(tooltip, action, cx)) + .disabled(!active) } -pub(crate) fn render_search_mode_button( - mode: SearchMode, - is_active: bool, - on_click: impl Fn(&ClickEvent, &mut WindowContext) + 'static, -) -> Button { +pub(crate) fn render_search_mode_button(mode: SearchMode, is_active: bool) -> Button { Button::new(mode.label(), mode.label()) .selected(is_active) - .on_click(on_click) + .on_click({ + let action = mode.action(); + move |_, cx| { + cx.dispatch_action(action.boxed_clone()); + } + }) + .tooltip({ + let action = mode.action(); + let tooltip_text = mode.tooltip(); + move |cx| Tooltip::for_action(tooltip_text.clone(), &*action, cx) + }) } diff --git a/crates/ui2/src/components/icon.rs b/crates/ui2/src/components/icon.rs index a5b09782f5..f534e04b68 100644 --- a/crates/ui2/src/components/icon.rs +++ b/crates/ui2/src/components/icon.rs @@ -80,6 +80,7 @@ pub enum Icon { Quote, Replace, ReplaceAll, + ReplaceNext, Screen, SelectAll, Split, @@ -157,6 +158,7 @@ impl Icon { Icon::Quote => "icons/quote.svg", Icon::Replace => "icons/replace.svg", Icon::ReplaceAll => "icons/replace_all.svg", + Icon::ReplaceNext => "icons/replace_next.svg", Icon::Screen => "icons/desktop.svg", Icon::SelectAll => "icons/select-all.svg", Icon::Split => "icons/split.svg", From 28dfd3ab43a5381cace8848ab1030e320ba7849e Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 8 Dec 2023 14:04:41 +0100 Subject: [PATCH 040/110] Paint scrollbars We still need to wire up mouse listeners. --- crates/editor2/src/element.rs | 360 ++++++++++++++++------------------ 1 file changed, 174 insertions(+), 186 deletions(-) diff --git a/crates/editor2/src/element.rs b/crates/editor2/src/element.rs index ad66ed8090..5f0297b361 100644 --- a/crates/editor2/src/element.rs +++ b/crates/editor2/src/element.rs @@ -1230,203 +1230,189 @@ impl EditorElement { bounds.upper_right().x - self.style.scrollbar_width } - // fn paint_scrollbar( - // &mut self, - // bounds: Bounds, - // layout: &mut LayoutState, - // editor: &Editor, - // cx: &mut ViewContext, - // ) { - // enum ScrollbarMouseHandlers {} - // if layout.mode != EditorMode::Full { - // return; - // } + fn paint_scrollbar( + &mut self, + bounds: Bounds, + layout: &mut LayoutState, + cx: &mut WindowContext, + ) { + if layout.mode != EditorMode::Full { + return; + } - // let style = &self.style.theme.scrollbar; + let top = bounds.origin.y; + let bottom = bounds.lower_left().y; + let right = bounds.lower_right().x; + let left = self.scrollbar_left(&bounds); + let row_range = &layout.scrollbar_row_range; + let max_row = layout.max_row as f32 + (row_range.end - row_range.start); - // let top = bounds.min_y; - // let bottom = bounds.max_y; - // let right = bounds.max_x; - // let left = self.scrollbar_left(&bounds); - // let row_range = &layout.scrollbar_row_range; - // let max_row = layout.max_row as f32 + (row_range.end - row_range.start); + let mut height = bounds.size.height; + let mut first_row_y_offset = px(0.0); - // let mut height = bounds.height(); - // let mut first_row_y_offset = 0.0; + // Impose a minimum height on the scrollbar thumb + let row_height = height / max_row; + let min_thumb_height = layout.position_map.line_height; + let thumb_height = (row_range.end - row_range.start) * row_height; + if thumb_height < min_thumb_height { + first_row_y_offset = (min_thumb_height - thumb_height) / 2.0; + height -= min_thumb_height - thumb_height; + } - // // Impose a minimum height on the scrollbar thumb - // let row_height = height / max_row; - // let min_thumb_height = - // style.min_height_factor * cx.font_cache.line_height(self.style.text.font_size); - // let thumb_height = (row_range.end - row_range.start) * row_height; - // if thumb_height < min_thumb_height { - // first_row_y_offset = (min_thumb_height - thumb_height) / 2.0; - // height -= min_thumb_height - thumb_height; - // } + let y_for_row = |row: f32| -> Pixels { top + first_row_y_offset + row * row_height }; - // let y_for_row = |row: f32| -> f32 { top + first_row_y_offset + row * row_height }; + let thumb_top = y_for_row(row_range.start) - first_row_y_offset; + let thumb_bottom = y_for_row(row_range.end) + first_row_y_offset; + let track_bounds = Bounds::from_corners(point(left, top), point(right, bottom)); + let thumb_bounds = Bounds::from_corners(point(left, thumb_top), point(right, thumb_bottom)); - // let thumb_top = y_for_row(row_range.start) - first_row_y_offset; - // let thumb_bottom = y_for_row(row_range.end) + first_row_y_offset; - // let track_bounds = Bounds::::from_points(point(left, top), point(right, bottom)); - // let thumb_bounds = Bounds::::from_points(point(left, thumb_top), point(right, thumb_bottom)); + if layout.show_scrollbars { + cx.paint_quad( + track_bounds, + Corners::default(), + gpui::blue(), // todo!("style.track.background_color") + Edges::default(), // todo!("style.track.border") + transparent_black(), // todo!("style.track.border") + ); + let scrollbar_settings = EditorSettings::get_global(cx).scrollbar; + if layout.is_singleton && scrollbar_settings.selections { + let start_anchor = Anchor::min(); + let end_anchor = Anchor::max(); + let background_ranges = self + .editor + .read(cx) + .background_highlight_row_ranges::( + start_anchor..end_anchor, + &layout.position_map.snapshot, + 50000, + ); + for range in background_ranges { + let start_y = y_for_row(range.start().row() as f32); + let mut end_y = y_for_row(range.end().row() as f32); + if end_y - start_y < px(1.) { + end_y = start_y + px(1.); + } + let bounds = Bounds::from_corners(point(left, start_y), point(right, end_y)); + cx.paint_quad( + bounds, + Corners::default(), + gpui::yellow(), // todo!("theme.editor.scrollbar") + Edges { + top: Pixels::ZERO, + right: px(1.), + bottom: Pixels::ZERO, + left: px(1.), + }, + gpui::green(), // todo!("style.thumb.border.color") + ); + } + } - // if layout.show_scrollbars { - // cx.paint_quad(Quad { - // bounds: track_bounds, - // border: style.track.border.into(), - // background: style.track.background_color, - // ..Default::default() - // }); - // let scrollbar_settings = settings::get::(cx).scrollbar; - // let theme = theme::current(cx); - // let scrollbar_theme = &theme.editor.scrollbar; - // if layout.is_singleton && scrollbar_settings.selections { - // let start_anchor = Anchor::min(); - // let end_anchor = Anchor::max; - // let color = scrollbar_theme.selections; - // let border = Border { - // width: 1., - // color: style.thumb.border.color, - // overlay: false, - // top: false, - // right: true, - // bottom: false, - // left: true, - // }; - // let mut push_region = |start: DisplayPoint, end: DisplayPoint| { - // let start_y = y_for_row(start.row() as f32); - // let mut end_y = y_for_row(end.row() as f32); - // if end_y - start_y < 1. { - // end_y = start_y + 1.; - // } - // let bounds = Bounds::::from_points(point(left, start_y), point(right, end_y)); + if layout.is_singleton && scrollbar_settings.git_diff { + for hunk in layout + .position_map + .snapshot + .buffer_snapshot + .git_diff_hunks_in_range(0..(max_row.floor() as u32)) + { + let start_display = Point::new(hunk.buffer_range.start, 0) + .to_display_point(&layout.position_map.snapshot.display_snapshot); + let end_display = Point::new(hunk.buffer_range.end, 0) + .to_display_point(&layout.position_map.snapshot.display_snapshot); + let start_y = y_for_row(start_display.row() as f32); + let mut end_y = if hunk.buffer_range.start == hunk.buffer_range.end { + y_for_row((end_display.row() + 1) as f32) + } else { + y_for_row((end_display.row()) as f32) + }; - // cx.paint_quad(Quad { - // bounds, - // background: Some(color), - // border: border.into(), - // corner_radii: style.thumb.corner_radii.into(), - // }) - // }; - // let background_ranges = editor - // .background_highlight_row_ranges::( - // start_anchor..end_anchor, - // &layout.position_map.snapshot, - // 50000, - // ); - // for row in background_ranges { - // let start = row.start(); - // let end = row.end(); - // push_region(*start, *end); - // } - // } + if end_y - start_y < px(1.) { + end_y = start_y + px(1.); + } + let bounds = Bounds::from_corners(point(left, start_y), point(right, end_y)); - // if layout.is_singleton && scrollbar_settings.git_diff { - // let diff_style = scrollbar_theme.git.clone(); - // for hunk in layout - // .position_map - // .snapshot - // .buffer_snapshot - // .git_diff_hunks_in_range(0..(max_row.floor() as u32)) - // { - // let start_display = Point::new(hunk.buffer_range.start, 0) - // .to_display_point(&layout.position_map.snapshot.display_snapshot); - // let end_display = Point::new(hunk.buffer_range.end, 0) - // .to_display_point(&layout.position_map.snapshot.display_snapshot); - // let start_y = y_for_row(start_display.row() as f32); - // let mut end_y = if hunk.buffer_range.start == hunk.buffer_range.end { - // y_for_row((end_display.row() + 1) as f32) - // } else { - // y_for_row((end_display.row()) as f32) - // }; + let color = match hunk.status() { + DiffHunkStatus::Added => gpui::green(), // todo!("use the right color") + DiffHunkStatus::Modified => gpui::yellow(), // todo!("use the right color") + DiffHunkStatus::Removed => gpui::red(), // todo!("use the right color") + }; + cx.paint_quad( + bounds, + Corners::default(), + color, + Edges { + top: Pixels::ZERO, + right: px(1.), + bottom: Pixels::ZERO, + left: px(1.), + }, + gpui::green(), // todo!("style.thumb.border.color") + ); + } + } - // if end_y - start_y < 1. { - // end_y = start_y + 1.; - // } - // let bounds = Bounds::::from_points(point(left, start_y), point(right, end_y)); + cx.paint_quad( + thumb_bounds, + Corners::default(), + gpui::black(), // todo!("style.thumb.background_color") + Edges { + top: Pixels::ZERO, + right: px(1.), + bottom: Pixels::ZERO, + left: px(1.), + }, + gpui::green(), // todo!("style.thumb.border.color") + ); + } - // let color = match hunk.status() { - // DiffHunkStatus::Added => diff_style.inserted, - // DiffHunkStatus::Modified => diff_style.modified, - // DiffHunkStatus::Removed => diff_style.deleted, - // }; + // cx.scene().push_cursor_region(CursorRegion { + // bounds: track_bounds, + // style: CursorStyle::Arrow, + // }); + // let region_id = cx.view_id(); + // cx.scene().push_mouse_region( + // MouseRegion::new::(region_id, region_id, track_bounds) + // .on_move(move |event, editor: &mut Editor, cx| { + // if event.pressed_button.is_none() { + // editor.scroll_manager.show_scrollbar(cx); + // } + // }) + // .on_down(MouseButton::Left, { + // let row_range = row_range.clone(); + // move |event, editor: &mut Editor, cx| { + // let y = event.position.y; + // if y < thumb_top || thumb_bottom < y { + // let center_row = ((y - top) * max_row as f32 / height).round() as u32; + // let top_row = center_row + // .saturating_sub((row_range.end - row_range.start) as u32 / 2); + // let mut position = editor.scroll_position(cx); + // position.set_y(top_row as f32); + // editor.set_scroll_position(position, cx); + // } else { + // editor.scroll_manager.show_scrollbar(cx); + // } + // } + // }) + // .on_drag(MouseButton::Left, { + // move |event, editor: &mut Editor, cx| { + // if event.end { + // return; + // } - // let border = Border { - // width: 1., - // color: style.thumb.border.color, - // overlay: false, - // top: false, - // right: true, - // bottom: false, - // left: true, - // }; - - // cx.paint_quad(Quad { - // bounds, - // background: Some(color), - // border: border.into(), - // corner_radii: style.thumb.corner_radii.into(), - // }) - // } - // } - - // cx.paint_quad(Quad { - // bounds: thumb_bounds, - // border: style.thumb.border.into(), - // background: style.thumb.background_color, - // corner_radii: style.thumb.corner_radii.into(), - // }); - // } - - // cx.scene().push_cursor_region(CursorRegion { - // bounds: track_bounds, - // style: CursorStyle::Arrow, - // }); - // let region_id = cx.view_id(); - // cx.scene().push_mouse_region( - // MouseRegion::new::(region_id, region_id, track_bounds) - // .on_move(move |event, editor: &mut Editor, cx| { - // if event.pressed_button.is_none() { - // editor.scroll_manager.show_scrollbar(cx); - // } - // }) - // .on_down(MouseButton::Left, { - // let row_range = row_range.clone(); - // move |event, editor: &mut Editor, cx| { - // let y = event.position.y; - // if y < thumb_top || thumb_bottom < y { - // let center_row = ((y - top) * max_row as f32 / height).round() as u32; - // let top_row = center_row - // .saturating_sub((row_range.end - row_range.start) as u32 / 2); - // let mut position = editor.scroll_position(cx); - // position.set_y(top_row as f32); - // editor.set_scroll_position(position, cx); - // } else { - // editor.scroll_manager.show_scrollbar(cx); - // } - // } - // }) - // .on_drag(MouseButton::Left, { - // move |event, editor: &mut Editor, cx| { - // if event.end { - // return; - // } - - // let y = event.prev_mouse_position.y; - // let new_y = event.position.y; - // if thumb_top < y && y < thumb_bottom { - // let mut position = editor.scroll_position(cx); - // position.set_y(position.y + (new_y - y) * (max_row as f32) / height); - // if position.y < 0.0 { - // position.set_y(0.); - // } - // editor.set_scroll_position(position, cx); - // } - // } - // }), - // ); - // } + // let y = event.prev_mouse_position.y; + // let new_y = event.position.y; + // if thumb_top < y && y < thumb_bottom { + // let mut position = editor.scroll_position(cx); + // position.set_y(position.y + (new_y - y) * (max_row as f32) / height); + // if position.y < 0.0 { + // position.set_y(0.); + // } + // editor.set_scroll_position(position, cx); + // } + // } + // }), + // ); + } #[allow(clippy::too_many_arguments)] fn paint_highlighted_range( @@ -2840,9 +2826,11 @@ impl Element for EditorElement { cx.with_z_index(1, |cx| { cx.with_element_id(Some("editor_blocks"), |cx| { self.paint_blocks(bounds, &mut layout, cx); - }) + }); }) } + + self.paint_scrollbar(bounds, &mut layout, cx); }); }); }) From 9b0bea32edd98588a90655a11372842b62a95f8e Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 8 Dec 2023 14:24:58 +0100 Subject: [PATCH 041/110] :art: --- crates/editor2/src/element.rs | 62 ++++++++++++++--------------------- 1 file changed, 24 insertions(+), 38 deletions(-) diff --git a/crates/editor2/src/element.rs b/crates/editor2/src/element.rs index 5f0297b361..c9e70ec2ef 100644 --- a/crates/editor2/src/element.rs +++ b/crates/editor2/src/element.rs @@ -385,17 +385,17 @@ impl EditorElement { gutter_bounds: Bounds, stacking_order: &StackingOrder, cx: &mut ViewContext, - ) -> bool { + ) { let mut click_count = event.click_count; let modifiers = event.modifiers; if gutter_bounds.contains_point(&event.position) { click_count = 3; // Simulate triple-click when clicking the gutter to select lines } else if !text_bounds.contains_point(&event.position) { - return false; + return; } if !cx.was_top_layer(&event.position, stacking_order) { - return false; + return; } let point_for_position = position_map.point_for_position(text_bounds, event.position); @@ -427,7 +427,7 @@ impl EditorElement { ); } - true + cx.stop_propagation(); } fn mouse_right_down( @@ -436,9 +436,9 @@ impl EditorElement { position_map: &PositionMap, text_bounds: Bounds, cx: &mut ViewContext, - ) -> bool { + ) { if !text_bounds.contains_point(&event.position) { - return false; + return; } let point_for_position = position_map.point_for_position(text_bounds, event.position); mouse_context_menu::deploy_context_menu( @@ -447,7 +447,7 @@ impl EditorElement { point_for_position.previous_valid, cx, ); - true + cx.stop_propagation(); } fn mouse_up( @@ -457,7 +457,7 @@ impl EditorElement { text_bounds: Bounds, stacking_order: &StackingOrder, cx: &mut ViewContext, - ) -> bool { + ) { let end_selection = editor.has_pending_selection(); let pending_nonempty_selections = editor.has_pending_nonempty_selection(); @@ -479,10 +479,10 @@ impl EditorElement { go_to_fetched_definition(editor, point, split, cx); } - return true; + cx.stop_propagation(); + } else if end_selection { + cx.stop_propagation(); } - - end_selection } fn mouse_moved( @@ -493,7 +493,7 @@ impl EditorElement { gutter_bounds: Bounds, stacking_order: &StackingOrder, cx: &mut ViewContext, - ) -> bool { + ) { let modifiers = event.modifiers; if editor.has_pending_selection() && event.pressed_button == Some(MouseButton::Left) { let point_for_position = position_map.point_for_position(text_bounds, event.position); @@ -562,11 +562,13 @@ impl EditorElement { } } - true + cx.stop_propagation(); } else { update_go_to_definition_link(editor, None, modifiers.command, modifiers.shift, cx); hover_at(editor, None, cx); - gutter_hovered && was_top + if gutter_hovered && was_top { + cx.stop_propagation(); + } } } @@ -576,9 +578,9 @@ impl EditorElement { position_map: &PositionMap, bounds: &InteractiveBounds, cx: &mut ViewContext, - ) -> bool { + ) { if !bounds.visibly_contains(&event.position, cx) { - return false; + return; } let line_height = position_map.line_height; @@ -602,8 +604,7 @@ impl EditorElement { let y = f32::from((scroll_position.y * line_height - delta.y) / line_height); let scroll_position = point(x, y).clamp(&point(0., 0.), &position_map.scroll_max); editor.scroll(scroll_position, axis, cx); - - true + cx.stop_propagation(); } fn paint_background( @@ -2438,12 +2439,9 @@ impl EditorElement { return; } - let handled = editor.update(cx, |editor, cx| { + editor.update(cx, |editor, cx| { Self::scroll(editor, event, &position_map, &interactive_bounds, cx) }); - if handled { - cx.stop_propagation(); - } } }); @@ -2457,7 +2455,7 @@ impl EditorElement { return; } - let handled = match event.button { + match event.button { MouseButton::Left => editor.update(cx, |editor, cx| { Self::mouse_left_down( editor, @@ -2472,12 +2470,8 @@ impl EditorElement { MouseButton::Right => editor.update(cx, |editor, cx| { Self::mouse_right_down(editor, event, &position_map, text_bounds, cx) }), - _ => false, + _ => {} }; - - if handled { - cx.stop_propagation() - } } }); @@ -2487,7 +2481,7 @@ impl EditorElement { let stacking_order = cx.stacking_order().clone(); move |event: &MouseUpEvent, phase, cx| { - let handled = editor.update(cx, |editor, cx| { + editor.update(cx, |editor, cx| { Self::mouse_up( editor, event, @@ -2497,10 +2491,6 @@ impl EditorElement { cx, ) }); - - if handled { - cx.stop_propagation() - } } }); cx.on_mouse_event({ @@ -2513,7 +2503,7 @@ impl EditorElement { return; } - let stop_propogating = editor.update(cx, |editor, cx| { + editor.update(cx, |editor, cx| { Self::mouse_moved( editor, event, @@ -2524,10 +2514,6 @@ impl EditorElement { cx, ) }); - - if stop_propogating { - cx.stop_propagation() - } } }); } From 53d77b192ae3d204e20bf3e5ac6842d7e2a1ed13 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 10:48:27 -0500 Subject: [PATCH 042/110] Don't match `support.function` for `function` --- crates/theme2/src/themes/ayu.rs | 6 +++--- crates/theme_importer/src/vscode/syntax.rs | 6 +----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 8affab4695..da8c084297 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -134,7 +134,7 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xf07171ff).into()), + color: Some(rgba(0xf2ae49ff).into()), ..Default::default() }, ), @@ -409,7 +409,7 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xf28779ff).into()), + color: Some(rgba(0xffd173ff).into()), ..Default::default() }, ), @@ -684,7 +684,7 @@ pub fn ayu() -> UserThemeFamily { ( "function".into(), UserHighlightStyle { - color: Some(rgba(0xf07178ff).into()), + color: Some(rgba(0xffb454ff).into()), ..Default::default() }, ), diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 19a38fdd72..1194548081 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -190,11 +190,7 @@ impl ZedSyntaxToken { "markup.bold markup.italic", ], ZedSyntaxToken::Enum => vec!["support.type.enum"], - ZedSyntaxToken::Function => vec![ - "entity.name.function", - "variable.function", - "support.function", - ], + ZedSyntaxToken::Function => vec!["entity.name.function", "variable.function"], ZedSyntaxToken::Hint => vec![], ZedSyntaxToken::Keyword => vec![ "keyword", From a8a5b9524ddc9c52e519fea93b0ec6575ad43516 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:07:52 -0500 Subject: [PATCH 043/110] Improve matching for punctuation tokens --- crates/theme2/src/themes/ayu.rs | 27 ++- crates/theme2/src/themes/gruvbox.rs | 168 +++++++++++++++ crates/theme2/src/themes/night_owl.rs | 56 +++++ crates/theme2/src/themes/noctis.rs | 231 +++++++++++++++++++++ crates/theme2/src/themes/nord.rs | 23 +- crates/theme2/src/themes/palenight.rs | 84 ++++++++ crates/theme2/src/themes/rose_pine.rs | 84 ++++++++ crates/theme2/src/themes/solarized.rs | 28 +++ crates/theme2/src/themes/synthwave_84.rs | 28 +++ crates/theme_importer/src/vscode/syntax.rs | 5 +- 10 files changed, 729 insertions(+), 5 deletions(-) diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index da8c084297..84b8463758 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -190,7 +190,7 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x5c6166b3).into()), + color: Some(rgba(0x55b4d480).into()), ..Default::default() }, ), @@ -215,6 +215,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x55b4d480).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -465,7 +472,7 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xcccac2b3).into()), + color: Some(rgba(0x5ccfe680).into()), ..Default::default() }, ), @@ -490,6 +497,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x5ccfe680).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -740,7 +754,7 @@ pub fn ayu() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0xbfbdb6b3).into()), + color: Some(rgba(0x39bae680).into()), ..Default::default() }, ), @@ -765,6 +779,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x39bae680).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index f801d44032..9309f40503 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -155,6 +155,34 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -356,6 +384,34 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -557,6 +613,34 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x83a598ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -758,6 +842,34 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -959,6 +1071,34 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -1160,6 +1300,34 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x076678ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 2877d2c8a0..be33b928fe 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -152,6 +152,34 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x7fdbcaff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x7fdbcaff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x7fdbcaff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x7fdbcaff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -344,6 +372,34 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x994cc3ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x994cc3ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x994cc3ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x994cc3ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index c37186816f..1e5688ddea 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -157,6 +157,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xbecfdaff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -164,6 +171,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xbecfdaff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xbecfdaff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -367,6 +388,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xcbbec2ff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -374,6 +402,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xcbbec2ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xcbbec2ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -577,6 +619,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x004d57ff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -584,6 +633,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x004d57ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x004d57ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -787,6 +850,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x0c006bff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -794,6 +864,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x0c006bff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x0c006bff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -997,6 +1081,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x004d57ff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -1004,6 +1095,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x004d57ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x004d57ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -1207,6 +1312,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xc5cdd3ff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -1214,6 +1326,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xc5cdd3ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xc5cdd3ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -1417,6 +1543,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -1424,6 +1557,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -1627,6 +1774,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -1634,6 +1788,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -1837,6 +2005,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -1844,6 +2019,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xb2cacdff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -2047,6 +2236,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xc5c2d6ff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -2054,6 +2250,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xc5c2d6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xc5c2d6ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -2257,6 +2467,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xccbfd9ff).into()), + ..Default::default() + }, + ), ( "punctuation.delimiter".into(), UserHighlightStyle { @@ -2264,6 +2481,20 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xccbfd9ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xccbfd9ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index a0f0c1fbf7..e15515295c 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -138,7 +138,14 @@ pub fn nord() -> UserThemeFamily { ( "punctuation".into(), UserHighlightStyle { - color: Some(rgba(0x81a1c1ff).into()), + color: Some(rgba(0xeceff4ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0xeceff4ff).into()), ..Default::default() }, ), @@ -149,6 +156,20 @@ pub fn nord() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0xeceff4ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0xeceff4ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index c825d229cb..c97dea0317 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -180,6 +180,34 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -399,6 +427,34 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -618,6 +674,34 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x89ddffff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 5296047562..65b4a21302 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -138,6 +138,34 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -315,6 +343,34 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x6e6a86ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { @@ -492,6 +548,34 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x9893a5ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 65aaa1e27e..532a5f8460 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -159,6 +159,34 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x657b83ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index c0ffca1828..90e4ae2131 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -148,6 +148,34 @@ pub fn synthwave_84() -> UserThemeFamily { ..Default::default() }, ), + ( + "punctuation.bracket".into(), + UserHighlightStyle { + color: Some(rgba(0x36f9f6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.delimiter".into(), + UserHighlightStyle { + color: Some(rgba(0x36f9f6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.list_marker".into(), + UserHighlightStyle { + color: Some(rgba(0x36f9f6ff).into()), + ..Default::default() + }, + ), + ( + "punctuation.special".into(), + UserHighlightStyle { + color: Some(rgba(0x36f9f6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 1194548081..e716d7c0e2 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -168,6 +168,10 @@ impl ZedSyntaxToken { match self { ZedSyntaxToken::CommentDoc => &[ZedSyntaxToken::Comment], ZedSyntaxToken::VariableSpecial => &[ZedSyntaxToken::Variable], + ZedSyntaxToken::PunctuationBracket + | ZedSyntaxToken::PunctuationDelimiter + | ZedSyntaxToken::PunctuationListMarker + | ZedSyntaxToken::PunctuationSpecial => &[ZedSyntaxToken::Punctuation], _ => &[], } } @@ -224,7 +228,6 @@ impl ZedSyntaxToken { "punctuation.section", "punctuation.accessor", "punctuation.separator", - "punctuation.terminator", "punctuation.definition.tag", ], ZedSyntaxToken::PunctuationBracket => vec![ From 40a95221eafb9dab021f37ae97079af40bbe56e5 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:13:28 -0500 Subject: [PATCH 044/110] Improve matching for string tokens --- crates/theme2/src/themes/andromeda.rs | 56 +++++ crates/theme2/src/themes/ayu.rs | 21 ++ crates/theme2/src/themes/dracula.rs | 28 +++ crates/theme2/src/themes/gruvbox.rs | 126 +++++++++++ crates/theme2/src/themes/night_owl.rs | 42 ++++ crates/theme2/src/themes/noctis.rs | 231 +++++++++++++++++++++ crates/theme2/src/themes/nord.rs | 21 ++ crates/theme2/src/themes/palenight.rs | 63 ++++++ crates/theme2/src/themes/rose_pine.rs | 84 ++++++++ crates/theme2/src/themes/solarized.rs | 42 ++++ crates/theme_importer/src/vscode/syntax.rs | 4 + 11 files changed, 718 insertions(+) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 8c841226eb..766329b353 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -137,6 +137,34 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -299,6 +327,34 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x96e072ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 84b8463758..8e5d588f52 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -236,6 +236,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x86b300ff).into()), + ..Default::default() + }, + ), ( "string.special".into(), UserHighlightStyle { @@ -518,6 +525,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xd5ff80ff).into()), + ..Default::default() + }, + ), ( "string.special".into(), UserHighlightStyle { @@ -800,6 +814,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xaad94cff).into()), + ..Default::default() + }, + ), ( "string.special".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index f6d793b526..3953a24526 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -145,6 +145,34 @@ pub fn dracula() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xf1fa8cff).into()), + ..Default::default() + }, + ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xf1fa8cff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xf1fa8cff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xf1fa8cff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 9309f40503..1ada65400f 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -197,6 +197,27 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -426,6 +447,27 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -655,6 +697,27 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xb8bb26ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -884,6 +947,27 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -1113,6 +1197,27 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -1342,6 +1447,27 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x79740eff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index be33b928fe..33246850f4 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -194,6 +194,27 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xecc48dff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xecc48dff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xecc48dff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -414,6 +435,27 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x4876d6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x4876d6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x4876d6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 1e5688ddea..caba6947fe 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -199,6 +199,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -430,6 +451,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -661,6 +703,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -892,6 +955,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -1123,6 +1207,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x00b368ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -1354,6 +1459,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x72c09fff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x72c09fff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x72c09fff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -1585,6 +1711,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -1816,6 +1963,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -2047,6 +2215,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -2278,6 +2467,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -2509,6 +2719,27 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x49e9a6ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index e15515295c..da03c82878 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -184,6 +184,27 @@ pub fn nord() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xa3be8cff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xa3be8cff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xa3be8cff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index c97dea0317..1200802fbc 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -222,6 +222,27 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -469,6 +490,27 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -716,6 +758,27 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xc3e88dff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 65b4a21302..ecd669c34a 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -173,6 +173,34 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -378,6 +406,34 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xf6c177ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -583,6 +639,34 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.escape".into(), + UserHighlightStyle { + color: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, + ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0xea9d34ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 532a5f8460..7cec48b1f4 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -201,6 +201,27 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x2aa198ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x2aa198ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x2aa198ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { @@ -389,6 +410,27 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "string.regex".into(), + UserHighlightStyle { + color: Some(rgba(0x2aa198ff).into()), + ..Default::default() + }, + ), + ( + "string.special".into(), + UserHighlightStyle { + color: Some(rgba(0x2aa198ff).into()), + ..Default::default() + }, + ), + ( + "string.special.symbol".into(), + UserHighlightStyle { + color: Some(rgba(0x2aa198ff).into()), + ..Default::default() + }, + ), ( "tag".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index e716d7c0e2..d5097639cb 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -172,6 +172,10 @@ impl ZedSyntaxToken { | ZedSyntaxToken::PunctuationDelimiter | ZedSyntaxToken::PunctuationListMarker | ZedSyntaxToken::PunctuationSpecial => &[ZedSyntaxToken::Punctuation], + ZedSyntaxToken::StringEscape + | ZedSyntaxToken::StringRegex + | ZedSyntaxToken::StringSpecial + | ZedSyntaxToken::StringSpecialSymbol => &[ZedSyntaxToken::String], _ => &[], } } From 63ce7cd407ca97685fb47ebbdce403dceecf0dfb Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:17:05 -0500 Subject: [PATCH 045/110] Improve matching for preprocessor tokens --- crates/theme2/src/themes/gruvbox.rs | 42 ++++++++++++ crates/theme2/src/themes/noctis.rs | 77 ++++++++++++++++++++++ crates/theme2/src/themes/nord.rs | 7 ++ crates/theme2/src/themes/solarized.rs | 14 ++++ crates/theme_importer/src/vscode/syntax.rs | 6 +- 5 files changed, 145 insertions(+), 1 deletion(-) diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 1ada65400f..5674593c2d 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -141,6 +141,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xfe8019ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -391,6 +398,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xfe8019ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -641,6 +655,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xfe8019ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -891,6 +912,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xaf3a03ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -1141,6 +1169,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xaf3a03ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -1391,6 +1426,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xaf3a03ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index caba6947fe..e09efd98c6 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -143,6 +143,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -395,6 +402,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -647,6 +661,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xff5792ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -899,6 +920,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xff5792ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -1151,6 +1179,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xff5792ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -1403,6 +1438,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xc88da2ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -1655,6 +1697,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -1907,6 +1956,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -2159,6 +2215,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -2411,6 +2474,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -2663,6 +2733,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xdf769bff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index da03c82878..4206598086 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -135,6 +135,13 @@ pub fn nord() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0x5e81acff).into()), + ..Default::default() + }, + ), ( "punctuation".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 7cec48b1f4..5d43b5704a 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -145,6 +145,13 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xb58900ff).into()), + ..Default::default() + }, + ), ( "property".into(), UserHighlightStyle { @@ -389,6 +396,13 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "preproc".into(), + UserHighlightStyle { + color: Some(rgba(0xb58900ff).into()), + ..Default::default() + }, + ), ( "punctuation.bracket".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index d5097639cb..990355065f 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -219,7 +219,11 @@ impl ZedSyntaxToken { ZedSyntaxToken::Number => vec!["constant.numeric", "number"], ZedSyntaxToken::Operator => vec!["operator", "keyword.operator"], ZedSyntaxToken::Predictive => vec![], - ZedSyntaxToken::Preproc => vec!["preproc"], + ZedSyntaxToken::Preproc => vec![ + "preproc", + "meta.preprocessor", + "punctuation.definition.preprocessor", + ], ZedSyntaxToken::Primary => vec![], ZedSyntaxToken::Property => vec![ "variable.member", From 1b6721170afd637523e069266ebc96a21e91fad6 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:21:40 -0500 Subject: [PATCH 046/110] Improve matching for constant tokens --- crates/theme2/src/themes/ayu.rs | 6 +++--- crates/theme2/src/themes/noctis.rs | 22 +++++++++++----------- crates/theme2/src/themes/nord.rs | 2 +- crates/theme2/src/themes/rose_pine.rs | 21 +++++++++++++++++++++ crates/theme2/src/themes/synthwave_84.rs | 7 +++++++ crates/theme_importer/src/vscode/syntax.rs | 2 +- 6 files changed, 44 insertions(+), 16 deletions(-) diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 8e5d588f52..f4ed232ea2 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -104,7 +104,7 @@ pub fn ayu() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x4cbf99ff).into()), + color: Some(rgba(0xa37accff).into()), ..Default::default() }, ), @@ -393,7 +393,7 @@ pub fn ayu() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x95e6cbff).into()), + color: Some(rgba(0xdfbfffff).into()), ..Default::default() }, ), @@ -682,7 +682,7 @@ pub fn ayu() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x95e6cbff).into()), + color: Some(rgba(0xd2a6ffff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index e09efd98c6..980ea7398d 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -97,7 +97,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xbecfdaff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -356,7 +356,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xcbbec2ff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -615,7 +615,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x004d57ff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -874,7 +874,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x0c006bff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -1133,7 +1133,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0x004d57ff).into()), + color: Some(rgba(0x5842ffff).into()), ..Default::default() }, ), @@ -1392,7 +1392,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xc5cdd3ff).into()), + color: Some(rgba(0x7068b1ff).into()), ..Default::default() }, ), @@ -1651,7 +1651,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xb2cacdff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -1910,7 +1910,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xb2cacdff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -2169,7 +2169,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xb2cacdff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -2428,7 +2428,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xc5c2d6ff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), @@ -2687,7 +2687,7 @@ pub fn noctis() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xccbfd9ff).into()), + color: Some(rgba(0x7060ebff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 4206598086..ce281f0f69 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -103,7 +103,7 @@ pub fn nord() -> UserThemeFamily { ( "constant".into(), UserHighlightStyle { - color: Some(rgba(0xebcb8bff).into()), + color: Some(rgba(0x81a1c1ff).into()), ..Default::default() }, ), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index ecd669c34a..8bc7fe8bc0 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -103,6 +103,13 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xebbcbaff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -336,6 +343,13 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xea9a97ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -569,6 +583,13 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xd7827eff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 90e4ae2131..aeca085fd5 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -85,6 +85,13 @@ pub fn synthwave_84() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xf97e72ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 990355065f..35f0f96a16 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -186,7 +186,7 @@ impl ZedSyntaxToken { ZedSyntaxToken::Boolean => vec!["constant.language"], ZedSyntaxToken::Comment => vec!["comment"], ZedSyntaxToken::CommentDoc => vec!["comment.block.documentation"], - ZedSyntaxToken::Constant => vec!["constant.character"], + ZedSyntaxToken::Constant => vec!["constant.language", "constant.character"], ZedSyntaxToken::Constructor => { vec!["entity.name.function.definition.special.constructor"] } From 6634a5e9f63522304bbb9378b5c9f2133a5e847b Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:23:42 -0500 Subject: [PATCH 047/110] Improve matching for constant tokens further --- crates/theme2/src/themes/andromeda.rs | 14 ++++++++ crates/theme2/src/themes/dracula.rs | 7 ++++ crates/theme2/src/themes/gruvbox.rs | 42 ++++++++++++++++++++++ crates/theme_importer/src/vscode/syntax.rs | 2 +- 4 files changed, 64 insertions(+), 1 deletion(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 766329b353..38c859333f 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -88,6 +88,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xee5d43ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -278,6 +285,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xee5d43ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 3953a24526..ae6c9ad788 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -94,6 +94,13 @@ pub fn dracula() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xbd93f9ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 5674593c2d..32b580442a 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -91,6 +91,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xd3869bff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -348,6 +355,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xd3869bff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -605,6 +619,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0xd3869bff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -862,6 +883,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0x8f3f71ff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -1119,6 +1147,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0x8f3f71ff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -1376,6 +1411,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constant".into(), + UserHighlightStyle { + color: Some(rgba(0x8f3f71ff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 35f0f96a16..e97839c9fe 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -186,7 +186,7 @@ impl ZedSyntaxToken { ZedSyntaxToken::Boolean => vec!["constant.language"], ZedSyntaxToken::Comment => vec!["comment"], ZedSyntaxToken::CommentDoc => vec!["comment.block.documentation"], - ZedSyntaxToken::Constant => vec!["constant.language", "constant.character"], + ZedSyntaxToken::Constant => vec!["constant", "constant.language", "constant.character"], ZedSyntaxToken::Constructor => { vec!["entity.name.function.definition.special.constructor"] } From 260a75300525e796cec0f9fe9f3782819af1bd9f Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 11:33:18 -0500 Subject: [PATCH 048/110] Fix rustfmt --- crates/feedback2/src/feedback_modal.rs | 180 +++++++++++++------------ 1 file changed, 93 insertions(+), 87 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 6de05b6496..865cbcc4de 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -284,6 +284,10 @@ impl Render for FeedbackModal { let open_community_repo = cx.listener(|_, _, cx| cx.dispatch_action(Box::new(OpenZedCommunityRepo))); + // Moved this here because providing it inline breaks rustfmt + let provide_an_email_address = + "Provide an email address if you want us to be able to reply."; + v_stack() .elevation_3(cx) .key_context("GiveFeedback") @@ -293,103 +297,105 @@ impl Render for FeedbackModal { .h(rems(32.)) .p_4() .gap_4() + .child(v_stack().child( + // TODO: Add Headline component to `ui2` + div().text_xl().child("Share Feedback"), + )) .child( - v_stack() - .child( - // TODO: Add Headline component to `ui2` - div().text_xl().child("Share Feedback")) - ) - .child( - div() - .flex_1() - .bg(cx.theme().colors().editor_background) - .p_2() - .border() - .rounded_md() - .border_color(cx.theme().colors().border) - .child(self.feedback_editor.clone()), - ) - .child( - div().child( - Label::new( - if self.character_count < *FEEDBACK_CHAR_LIMIT.start() { - format!("Feedback must be at least {} characters.", FEEDBACK_CHAR_LIMIT.start()) - } else if self.character_count > *FEEDBACK_CHAR_LIMIT.end() { - format!("Feedback must be less than {} characters.", FEEDBACK_CHAR_LIMIT.end()) - } else { - format!( - "Characters: {}", - *FEEDBACK_CHAR_LIMIT.end() - self.character_count - ) - } - ) - .color( - if valid_character_count { - Color::Success - } else { - Color::Error - } - ) - ) - - .child( - h_stack() + div() + .flex_1() .bg(cx.theme().colors().editor_background) .p_2() .border() .rounded_md() .border_color(cx.theme().colors().border) - .child(self.email_address_editor.clone())) - - .child( - h_stack() - .justify_between() - .gap_1() - .child(Button::new("community_repo", "Community Repo") - .style(ButtonStyle::Transparent) - .icon(Icon::ExternalLink) - .icon_position(IconPosition::End) - .icon_size(IconSize::Small) - .on_click(open_community_repo) - ) - .child(h_stack().gap_1() + .child(self.feedback_editor.clone()), + ) + .child( + div() + .child( + Label::new(if self.character_count < *FEEDBACK_CHAR_LIMIT.start() { + format!( + "Feedback must be at least {} characters.", + FEEDBACK_CHAR_LIMIT.start() + ) + } else if self.character_count > *FEEDBACK_CHAR_LIMIT.end() { + format!( + "Feedback must be less than {} characters.", + FEEDBACK_CHAR_LIMIT.end() + ) + } else { + format!( + "Characters: {}", + *FEEDBACK_CHAR_LIMIT.end() - self.character_count + ) + }) + .color(if valid_character_count { + Color::Success + } else { + Color::Error + }), + ) + .child( + h_stack() + .bg(cx.theme().colors().editor_background) + .p_2() + .border() + .rounded_md() + .border_color(cx.theme().colors().border) + .child(self.email_address_editor.clone()), + ) + .child( + h_stack() + .justify_between() + .gap_1() .child( - Button::new("cancel_feedback", "Cancel") - .style(ButtonStyle::Subtle) - .color(Color::Muted) - // TODO: replicate this logic when clicking outside the modal - // TODO: Will require somehow overriding the modal dismal default behavior - .map(|this| { - if has_feedback { - this.on_click(dismiss_prompt) - } else { - this.on_click(dismiss) - } - }) + Button::new("community_repo", "Community Repo") + .style(ButtonStyle::Transparent) + .icon(Icon::ExternalLink) + .icon_position(IconPosition::End) + .icon_size(IconSize::Small) + .on_click(open_community_repo), ) .child( - Button::new("send_feedback", submit_button_text) - .color(Color::Accent) - .style(ButtonStyle::Filled) - // TODO: Ensure that while submitting, "Sending..." is shown and disable the button - // TODO: If submit errors: show popup with error, don't close modal, set text back to "Send Feedback", and re-enable button - // TODO: If submit is successful, close the modal - .on_click(cx.listener(|this, _, cx| { - let _ = this.submit(cx); - })) - .tooltip(|cx| { - Tooltip::with_meta( - "Submit feedback to the Zed team.", - None, - "Provide an email address if you want us to be able to reply.", - cx, - ) - }) - .when(!allow_submission, |this| this.disabled(true)) + h_stack() + .gap_1() + .child( + Button::new("cancel_feedback", "Cancel") + .style(ButtonStyle::Subtle) + .color(Color::Muted) + // TODO: replicate this logic when clicking outside the modal + // TODO: Will require somehow overriding the modal dismal default behavior + .map(|this| { + if has_feedback { + this.on_click(dismiss_prompt) + } else { + this.on_click(dismiss) + } + }), + ) + .child( + Button::new("send_feedback", submit_button_text) + .color(Color::Accent) + .style(ButtonStyle::Filled) + // TODO: Ensure that while submitting, "Sending..." is shown and disable the button + // TODO: If submit errors: show popup with error, don't close modal, set text back to "Send Feedback", and re-enable button + // TODO: If submit is successful, close the modal + .on_click(cx.listener(|this, _, cx| { + let _ = this.submit(cx); + })) + .tooltip(|cx| { + Tooltip::with_meta( + "Submit feedback to the Zed team.", + None, + provide_an_email_address, + cx, + ) + }) + .when(!allow_submission, |this| this.disabled(true)), + ), ), - ) - - ) + ), ) } } From 6f064cfc36e3efcc30e9664cfb5a21807e3f9338 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:34:39 -0500 Subject: [PATCH 049/110] Improve matching for constructor tokens --- crates/theme2/src/themes/andromeda.rs | 14 ++++ crates/theme2/src/themes/ayu.rs | 21 ++++++ crates/theme2/src/themes/dracula.rs | 7 ++ crates/theme2/src/themes/gruvbox.rs | 42 ++++++++++++ crates/theme2/src/themes/night_owl.rs | 14 ++++ crates/theme2/src/themes/noctis.rs | 77 ++++++++++++++++++++++ crates/theme2/src/themes/nord.rs | 7 ++ crates/theme2/src/themes/palenight.rs | 21 ++++++ crates/theme2/src/themes/rose_pine.rs | 21 ++++++ crates/theme2/src/themes/solarized.rs | 14 ++++ crates/theme2/src/themes/synthwave_84.rs | 7 ++ crates/theme_importer/src/vscode/syntax.rs | 5 +- 12 files changed, 249 insertions(+), 1 deletion(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 38c859333f..577bbea543 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -95,6 +95,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xf92672ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -292,6 +299,13 @@ pub fn andromeda() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xf92672ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index f4ed232ea2..10ef469490 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -108,6 +108,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x55b4d4ff).into()), + ..Default::default() + }, + ), ( "embedded".into(), UserHighlightStyle { @@ -397,6 +404,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x5ccfe6ff).into()), + ..Default::default() + }, + ), ( "embedded".into(), UserHighlightStyle { @@ -686,6 +700,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x39bae6ff).into()), + ..Default::default() + }, + ), ( "embedded".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index ae6c9ad788..19902dd79d 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -101,6 +101,13 @@ pub fn dracula() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xff79c6ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 32b580442a..43354b2d22 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -98,6 +98,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x8ec07cff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -362,6 +369,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x8ec07cff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -626,6 +640,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x8ec07cff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -890,6 +911,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x427b58ff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -1154,6 +1182,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x427b58ff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { @@ -1418,6 +1453,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x427b58ff).into()), + ..Default::default() + }, + ), ( "emphasis.strong".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 33246850f4..09b73c10db 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -109,6 +109,13 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xcaece6ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -350,6 +357,13 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x994cc3ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 980ea7398d..a05422300c 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -101,6 +101,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -360,6 +367,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -619,6 +633,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe64100ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -878,6 +899,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe64100ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -1137,6 +1165,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe64100ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -1396,6 +1431,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xc37455ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -1655,6 +1697,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -1914,6 +1963,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -2173,6 +2229,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -2432,6 +2495,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -2691,6 +2761,13 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xe66533ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index ce281f0f69..ee32e56645 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -107,6 +107,13 @@ pub fn nord() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x81a1c1ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 1200802fbc..0b2cfaca99 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -108,6 +108,13 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xff5572ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -376,6 +383,13 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xff5572ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { @@ -644,6 +658,13 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0xff5572ff).into()), + ..Default::default() + }, + ), ( "emphasis".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 8bc7fe8bc0..460903e2e5 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -110,6 +110,13 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x9ccfd8ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -350,6 +357,13 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x9ccfd8ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { @@ -590,6 +604,13 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x56949fff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 5d43b5704a..81171e0fb0 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -103,6 +103,13 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x268bd2ff).into()), + ..Default::default() + }, + ), ( "embedded".into(), UserHighlightStyle { @@ -354,6 +361,13 @@ pub fn solarized() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x268bd2ff).into()), + ..Default::default() + }, + ), ( "embedded".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index aeca085fd5..90e8a9c667 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -92,6 +92,13 @@ pub fn synthwave_84() -> UserThemeFamily { ..Default::default() }, ), + ( + "constructor".into(), + UserHighlightStyle { + color: Some(rgba(0x72f1b8ff).into()), + ..Default::default() + }, + ), ( "function".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index e97839c9fe..262bd81f77 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -188,7 +188,10 @@ impl ZedSyntaxToken { ZedSyntaxToken::CommentDoc => vec!["comment.block.documentation"], ZedSyntaxToken::Constant => vec!["constant", "constant.language", "constant.character"], ZedSyntaxToken::Constructor => { - vec!["entity.name.function.definition.special.constructor"] + vec![ + "entity.name.tag", + "entity.name.function.definition.special.constructor", + ] } ZedSyntaxToken::Embedded => vec!["meta.embedded"], ZedSyntaxToken::Emphasis => vec!["markup.italic"], From b66e1d2d58b562bb30a6ee5c2ef7c0d48bb87e38 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 11:35:49 -0500 Subject: [PATCH 050/110] Fix compiler error --- crates/feedback2/src/feedback_modal.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 865cbcc4de..0cee05c8f8 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -384,7 +384,7 @@ impl Render for FeedbackModal { .on_click(cx.listener(|this, _, cx| { let _ = this.submit(cx); })) - .tooltip(|cx| { + .tooltip(move |cx| { Tooltip::with_meta( "Submit feedback to the Zed team.", None, From 4596e7a68a6bc5729787f91ba2d9404397f0ede0 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 11:39:10 -0500 Subject: [PATCH 051/110] Use consistent text --- crates/feedback2/src/deploy_feedback_button.rs | 2 +- crates/feedback2/src/feedback_modal.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/feedback2/src/deploy_feedback_button.rs b/crates/feedback2/src/deploy_feedback_button.rs index e5884cf9b1..3b28c64dc3 100644 --- a/crates/feedback2/src/deploy_feedback_button.rs +++ b/crates/feedback2/src/deploy_feedback_button.rs @@ -32,7 +32,7 @@ impl Render for DeployFeedbackButton { IconButton::new("give-feedback", Icon::Envelope) .style(ui::ButtonStyle::Subtle) .selected(is_open) - .tooltip(|cx| Tooltip::text("Give Feedback", cx)) + .tooltip(|cx| Tooltip::text("Share Feedback", cx)) .on_click(|_, cx| { cx.dispatch_action(Box::new(GiveFeedback)); }) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 0cee05c8f8..5ac2197609 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -263,9 +263,9 @@ impl Render for FeedbackModal { let has_feedback = self.feedback_editor.read(cx).text_option(cx).is_some(); let submit_button_text = if self.pending_submission { - "Sending..." + "Submitting..." } else { - "Send Feedback" + "Submit" }; let dismiss = cx.listener(|_, _, cx| { cx.emit(DismissEvent); @@ -379,7 +379,7 @@ impl Render for FeedbackModal { .color(Color::Accent) .style(ButtonStyle::Filled) // TODO: Ensure that while submitting, "Sending..." is shown and disable the button - // TODO: If submit errors: show popup with error, don't close modal, set text back to "Send Feedback", and re-enable button + // TODO: If submit errors: show popup with error, don't close modal, set text back to "Submit", and re-enable button // TODO: If submit is successful, close the modal .on_click(cx.listener(|this, _, cx| { let _ = this.submit(cx); From 52e4c577d241a8a80a89f6bb1fc2260f6f61b45b Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 11:45:08 -0500 Subject: [PATCH 052/110] =?UTF-8?q?Re-import=20Ros=C3=A9=20Pine=20source?= =?UTF-8?q?=20themes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/vscode/rose-pine/rose-pine-dawn.json | 1354 ++++++++-------- .../src/vscode/rose-pine/rose-pine-moon.json | 1356 ++++++++--------- .../src/vscode/rose-pine/rose-pine.json | 1356 ++++++++--------- crates/theme2/src/themes/rose_pine.rs | 36 +- 4 files changed, 2051 insertions(+), 2051 deletions(-) diff --git a/assets/themes/src/vscode/rose-pine/rose-pine-dawn.json b/assets/themes/src/vscode/rose-pine/rose-pine-dawn.json index 39cc251fe9..abf752d3f6 100644 --- a/assets/themes/src/vscode/rose-pine/rose-pine-dawn.json +++ b/assets/themes/src/vscode/rose-pine/rose-pine-dawn.json @@ -1,680 +1,680 @@ { - "name": "Rosé Pine Dawn", - "type": "light", - "colors": { - "activityBar.activeBorder": "#575279", - "activityBar.background": "#faf4ed", - "activityBar.dropBorder": "#f2e9e1", - "activityBar.foreground": "#575279", - "activityBar.inactiveForeground": "#797593", - "activityBarBadge.background": "#d7827e", - "activityBarBadge.foreground": "#faf4ed", - "badge.background": "#d7827e", - "badge.foreground": "#faf4ed", - "banner.background": "#fffaf3", - "banner.foreground": "#575279", - "banner.iconForeground": "#797593", - "breadcrumb.activeSelectionForeground": "#d7827e", - "breadcrumb.background": "#faf4ed", - "breadcrumb.focusForeground": "#797593", - "breadcrumb.foreground": "#9893a5", - "breadcrumbPicker.background": "#fffaf3", - "button.background": "#d7827e", - "button.foreground": "#faf4ed", - "button.hoverBackground": "#d7827ee6", - "button.secondaryBackground": "#fffaf3", - "button.secondaryForeground": "#575279", - "button.secondaryHoverBackground": "#f2e9e1", - "charts.blue": "#56949f", - "charts.foreground": "#575279", - "charts.green": "#286983", - "charts.lines": "#797593", - "charts.orange": "#d7827e", - "charts.purple": "#907aa9", - "charts.red": "#b4637a", - "charts.yellow": "#ea9d34", - "checkbox.background": "#fffaf3", - "checkbox.border": "#6e6a8614", - "checkbox.foreground": "#575279", - "debugExceptionWidget.background": "#fffaf3", - "debugExceptionWidget.border": "#6e6a8614", - "debugIcon.breakpointCurrentStackframeForeground": "#797593", - "debugIcon.breakpointDisabledForeground": "#797593", - "debugIcon.breakpointForeground": "#797593", - "debugIcon.breakpointStackframeForeground": "#797593", - "debugIcon.breakpointUnverifiedForeground": "#797593", - "debugIcon.continueForeground": "#797593", - "debugIcon.disconnectForeground": "#797593", - "debugIcon.pauseForeground": "#797593", - "debugIcon.restartForeground": "#797593", - "debugIcon.startForeground": "#797593", - "debugIcon.stepBackForeground": "#797593", - "debugIcon.stepIntoForeground": "#797593", - "debugIcon.stepOutForeground": "#797593", - "debugIcon.stepOverForeground": "#797593", - "debugIcon.stopForeground": "#b4637a", - "debugToolBar.background": "#fffaf3", - "debugToolBar.border": "#f2e9e1", - "descriptionForeground": "#797593", - "diffEditor.border": "#f2e9e1", - "diffEditor.diagonalFill": "#6e6a8626", - "diffEditor.insertedLineBackground": "#56949f26", - "diffEditor.insertedTextBackground": "#56949f26", - "diffEditor.removedLineBackground": "#b4637a26", - "diffEditor.removedTextBackground": "#b4637a26", - "diffEditorOverview.insertedForeground": "#56949f80", - "diffEditorOverview.removedForeground": "#b4637a80", - "dropdown.background": "#fffaf3", - "dropdown.border": "#6e6a8614", - "dropdown.foreground": "#575279", - "dropdown.listBackground": "#fffaf3", - "editor.background": "#faf4ed", - "editor.findMatchBackground": "#6e6a8626", - "editor.findMatchHighlightBackground": "#6e6a8626", - "editor.findRangeHighlightBackground": "#6e6a8626", - "editor.findRangeHighlightBorder": "#000000", - "editor.focusedStackFrameHighlightBackground": "#6e6a8614", - "editor.foldBackground": "#fffaf3", - "editor.foreground": "#575279", - "editor.hoverHighlightBackground": "#000000", - "editor.inactiveSelectionBackground": "#6e6a860d", - "editor.inlineValuesBackground": "#000000", - "editor.inlineValuesForeground": "#797593", - "editor.lineHighlightBackground": "#6e6a860d", - "editor.lineHighlightBorder": "#000000", - "editor.linkedEditingBackground": "#fffaf3", - "editor.rangeHighlightBackground": "#6e6a860d", - "editor.selectionBackground": "#6e6a8614", - "editor.selectionForeground": "#575279", - "editor.selectionHighlightBackground": "#6e6a8614", - "editor.selectionHighlightBorder": "#faf4ed", - "editor.snippetFinalTabstopHighlightBackground": "#6e6a8614", - "editor.snippetFinalTabstopHighlightBorder": "#fffaf3", - "editor.snippetTabstopHighlightBackground": "#6e6a8614", - "editor.snippetTabstopHighlightBorder": "#fffaf3", - "editor.stackFrameHighlightBackground": "#6e6a8614", - "editor.symbolHighlightBackground": "#6e6a8614", - "editor.symbolHighlightBorder": "#000000", - "editor.wordHighlightBackground": "#6e6a8614", - "editor.wordHighlightBorder": "#000000", - "editor.wordHighlightStrongBackground": "#6e6a8614", - "editor.wordHighlightStrongBorder": "#6e6a8614", - "editorBracketHighlight.foreground1": "#b4637a80", - "editorBracketHighlight.foreground2": "#28698380", - "editorBracketHighlight.foreground3": "#ea9d3480", - "editorBracketHighlight.foreground4": "#56949f80", - "editorBracketHighlight.foreground5": "#d7827e80", - "editorBracketHighlight.foreground6": "#907aa980", - "editorBracketMatch.background": "#000000", - "editorBracketMatch.border": "#797593", - "editorBracketPairGuide.activeBackground1": "#286983", - "editorBracketPairGuide.activeBackground2": "#d7827e", - "editorBracketPairGuide.activeBackground3": "#907aa9", - "editorBracketPairGuide.activeBackground4": "#56949f", - "editorBracketPairGuide.activeBackground5": "#ea9d34", - "editorBracketPairGuide.activeBackground6": "#b4637a", - "editorBracketPairGuide.background1": "#28698380", - "editorBracketPairGuide.background2": "#d7827e80", - "editorBracketPairGuide.background3": "#907aa980", - "editorBracketPairGuide.background4": "#56949f80", - "editorBracketPairGuide.background5": "#ea9d3480", - "editorBracketPairGuide.background6": "#b4637a80", - "editorCodeLens.foreground": "#d7827e", - "editorCursor.background": "#575279", - "editorCursor.foreground": "#9893a5", - "editorError.border": "#000000", - "editorError.foreground": "#b4637a", - "editorGhostText.foreground": "#797593", - "editorGroup.border": "#000000", - "editorGroup.dropBackground": "#fffaf3", - "editorGroup.emptyBackground": "#000000", - "editorGroup.focusedEmptyBorder": "#000000", - "editorGroupHeader.noTabsBackground": "#000000", - "editorGroupHeader.tabsBackground": "#000000", - "editorGroupHeader.tabsBorder": "#000000", - "editorGutter.addedBackground": "#56949f", - "editorGutter.background": "#faf4ed", - "editorGutter.commentRangeForeground": "#797593", - "editorGutter.deletedBackground": "#b4637a", - "editorGutter.foldingControlForeground": "#907aa9", - "editorGutter.modifiedBackground": "#d7827e", - "editorHint.border": "#000000", - "editorHint.foreground": "#797593", - "editorHoverWidget.background": "#fffaf3", - "editorHoverWidget.border": "#9893a580", - "editorHoverWidget.foreground": "#797593", - "editorHoverWidget.highlightForeground": "#575279", - "editorHoverWidget.statusBarBackground": "#000000", - "editorIndentGuide.activeBackground": "#9893a5", - "editorIndentGuide.background": "#6e6a8626", - "editorInfo.border": "#f2e9e1", - "editorInfo.foreground": "#56949f", - "editorInlayHint.background": "#f2e9e1", - "editorInlayHint.foreground": "#797593", - "editorInlayHint.parameterBackground": "#f2e9e1", - "editorInlayHint.parameterForeground": "#907aa9", - "editorInlayHint.typeBackground": "#f2e9e1", - "editorInlayHint.typeForeground": "#56949f", - "editorLightBulb.foreground": "#286983", - "editorLightBulbAutoFix.foreground": "#d7827e", - "editorLineNumber.activeForeground": "#575279", - "editorLineNumber.foreground": "#797593", - "editorLink.activeForeground": "#d7827e", - "editorMarkerNavigation.background": "#fffaf3", - "editorMarkerNavigationError.background": "#fffaf3", - "editorMarkerNavigationInfo.background": "#fffaf3", - "editorMarkerNavigationWarning.background": "#fffaf3", - "editorOverviewRuler.addedForeground": "#56949f80", - "editorOverviewRuler.background": "#faf4ed", - "editorOverviewRuler.border": "#6e6a8626", - "editorOverviewRuler.bracketMatchForeground": "#797593", - "editorOverviewRuler.commonContentForeground": "#6e6a860d", - "editorOverviewRuler.currentContentForeground": "#6e6a8614", - "editorOverviewRuler.deletedForeground": "#b4637a80", - "editorOverviewRuler.errorForeground": "#b4637a80", - "editorOverviewRuler.findMatchForeground": "#6e6a8626", - "editorOverviewRuler.incomingContentForeground": "#907aa980", - "editorOverviewRuler.infoForeground": "#56949f80", - "editorOverviewRuler.modifiedForeground": "#d7827e80", - "editorOverviewRuler.rangeHighlightForeground": "#6e6a8626", - "editorOverviewRuler.selectionHighlightForeground": "#6e6a8626", - "editorOverviewRuler.warningForeground": "#ea9d3480", - "editorOverviewRuler.wordHighlightForeground": "#6e6a8614", - "editorOverviewRuler.wordHighlightStrongForeground": "#6e6a8626", - "editorPane.background": "#000000", - "editorRuler.foreground": "#6e6a8626", - "editorSuggestWidget.background": "#fffaf3", - "editorSuggestWidget.border": "#000000", - "editorSuggestWidget.focusHighlightForeground": "#d7827e", - "editorSuggestWidget.foreground": "#797593", - "editorSuggestWidget.highlightForeground": "#d7827e", - "editorSuggestWidget.selectedBackground": "#6e6a8614", - "editorSuggestWidget.selectedForeground": "#575279", - "editorSuggestWidget.selectedIconForeground": "#575279", - "editorUnnecessaryCode.border": "#000000", - "editorUnnecessaryCode.opacity": "#57527980", - "editorWarning.border": "#000000", - "editorWarning.foreground": "#ea9d34", - "editorWhitespace.foreground": "#9893a5", - "editorWidget.background": "#fffaf3", - "editorWidget.border": "#f2e9e1", - "editorWidget.foreground": "#797593", - "editorWidget.resizeBorder": "#9893a5", - "errorForeground": "#b4637a", - "extensionBadge.remoteBackground": "#907aa9", - "extensionBadge.remoteForeground": "#faf4ed", - "extensionButton.prominentBackground": "#d7827e", - "extensionButton.prominentForeground": "#faf4ed", - "extensionButton.prominentHoverBackground": "#d7827ee6", - "extensionIcon.preReleaseForeground": "#286983", - "extensionIcon.starForeground": "#d7827e", - "extensionIcon.verifiedForeground": "#907aa9", - "focusBorder": "#6e6a8614", - "foreground": "#575279", - "gitDecoration.addedResourceForeground": "#56949f", - "gitDecoration.conflictingResourceForeground": "#b4637a", - "gitDecoration.deletedResourceForeground": "#797593", - "gitDecoration.ignoredResourceForeground": "#9893a5", - "gitDecoration.modifiedResourceForeground": "#d7827e", - "gitDecoration.renamedResourceForeground": "#286983", - "gitDecoration.stageDeletedResourceForeground": "#b4637a", - "gitDecoration.stageModifiedResourceForeground": "#907aa9", - "gitDecoration.submoduleResourceForeground": "#ea9d34", - "gitDecoration.untrackedResourceForeground": "#ea9d34", - "icon.foreground": "#797593", - "input.background": "#f2e9e180", - "input.border": "#6e6a8614", - "input.foreground": "#575279", - "input.placeholderForeground": "#797593", - "inputOption.activeBackground": "#d7827e26", - "inputOption.activeForeground": "#d7827e", - "inputValidation.errorBackground": "#fffaf3", - "inputValidation.errorBorder": "#6e6a8626", - "inputValidation.errorForeground": "#b4637a", - "inputValidation.infoBackground": "#fffaf3", - "inputValidation.infoBorder": "#6e6a8626", - "inputValidation.infoForeground": "#56949f", - "inputValidation.warningBackground": "#fffaf3", - "inputValidation.warningBorder": "#6e6a8626", - "inputValidation.warningForeground": "#56949f80", - "keybindingLabel.background": "#f2e9e1", - "keybindingLabel.border": "#6e6a8626", - "keybindingLabel.bottomBorder": "#6e6a8626", - "keybindingLabel.foreground": "#907aa9", - "keybindingTable.headerBackground": "#f2e9e1", - "keybindingTable.rowsBackground": "#fffaf3", - "list.activeSelectionBackground": "#6e6a8614", - "list.activeSelectionForeground": "#575279", - "list.deemphasizedForeground": "#797593", - "list.dropBackground": "#fffaf3", - "list.errorForeground": "#b4637a", - "list.filterMatchBackground": "#fffaf3", - "list.filterMatchBorder": "#d7827e", - "list.focusBackground": "#6e6a8626", - "list.focusForeground": "#575279", - "list.focusOutline": "#6e6a8614", - "list.highlightForeground": "#d7827e", - "list.hoverBackground": "#6e6a860d", - "list.hoverForeground": "#575279", - "list.inactiveFocusBackground": "#6e6a860d", - "list.inactiveSelectionBackground": "#fffaf3", - "list.inactiveSelectionForeground": "#575279", - "list.invalidItemForeground": "#b4637a", - "list.warningForeground": "#ea9d34", - "listFilterWidget.background": "#fffaf3", - "listFilterWidget.noMatchesOutline": "#b4637a", - "listFilterWidget.outline": "#f2e9e1", - "menu.background": "#fffaf3", - "menu.border": "#6e6a860d", - "menu.foreground": "#575279", - "menu.selectionBackground": "#6e6a8614", - "menu.selectionBorder": "#f2e9e1", - "menu.selectionForeground": "#575279", - "menu.separatorBackground": "#6e6a8626", - "menubar.selectionBackground": "#6e6a8614", - "menubar.selectionBorder": "#6e6a860d", - "menubar.selectionForeground": "#575279", - "merge.border": "#f2e9e1", - "merge.commonContentBackground": "#6e6a8614", - "merge.commonHeaderBackground": "#6e6a8614", - "merge.currentContentBackground": "#ea9d3480", - "merge.currentHeaderBackground": "#ea9d3480", - "merge.incomingContentBackground": "#56949f80", - "merge.incomingHeaderBackground": "#56949f80", - "minimap.background": "#fffaf3", - "minimap.errorHighlight": "#b4637a80", - "minimap.findMatchHighlight": "#6e6a8614", - "minimap.selectionHighlight": "#6e6a8614", - "minimap.warningHighlight": "#ea9d3480", - "minimapGutter.addedBackground": "#56949f", - "minimapGutter.deletedBackground": "#b4637a", - "minimapGutter.modifiedBackground": "#d7827e", - "minimapSlider.activeBackground": "#6e6a8626", - "minimapSlider.background": "#6e6a8614", - "minimapSlider.hoverBackground": "#6e6a8614", - "notebook.cellBorderColor": "#56949f80", - "notebook.cellEditorBackground": "#fffaf3", - "notebook.cellHoverBackground": "#f2e9e180", - "notebook.focusedCellBackground": "#6e6a860d", - "notebook.focusedCellBorder": "#56949f", - "notebook.outputContainerBackgroundColor": "#6e6a860d", - "notificationCenter.border": "#6e6a8614", - "notificationCenterHeader.background": "#fffaf3", - "notificationCenterHeader.foreground": "#797593", - "notificationLink.foreground": "#907aa9", - "notifications.background": "#fffaf3", - "notifications.border": "#6e6a8614", - "notifications.foreground": "#575279", - "notificationsErrorIcon.foreground": "#b4637a", - "notificationsInfoIcon.foreground": "#56949f", - "notificationsWarningIcon.foreground": "#ea9d34", - "notificationToast.border": "#6e6a8614", - "panel.background": "#fffaf3", - "panel.border": "#000000", - "panel.dropBorder": "#f2e9e1", - "panelInput.border": "#fffaf3", - "panelSection.dropBackground": "#6e6a8614", - "panelSectionHeader.background": "#fffaf3", - "panelSectionHeader.foreground": "#575279", - "panelTitle.activeBorder": "#6e6a8626", - "panelTitle.activeForeground": "#575279", - "panelTitle.inactiveForeground": "#797593", - "peekView.border": "#f2e9e1", - "peekViewEditor.background": "#fffaf3", - "peekViewEditor.matchHighlightBackground": "#6e6a8626", - "peekViewResult.background": "#fffaf3", - "peekViewResult.fileForeground": "#797593", - "peekViewResult.lineForeground": "#797593", - "peekViewResult.matchHighlightBackground": "#6e6a8626", - "peekViewResult.selectionBackground": "#6e6a8614", - "peekViewResult.selectionForeground": "#575279", - "peekViewTitle.background": "#f2e9e1", - "peekViewTitleDescription.foreground": "#797593", - "pickerGroup.border": "#6e6a8626", - "pickerGroup.foreground": "#907aa9", - "ports.iconRunningProcessForeground": "#d7827e", - "problemsErrorIcon.foreground": "#b4637a", - "problemsInfoIcon.foreground": "#56949f", - "problemsWarningIcon.foreground": "#ea9d34", - "progressBar.background": "#d7827e", - "quickInput.background": "#fffaf3", - "quickInput.foreground": "#797593", - "quickInputList.focusBackground": "#6e6a8614", - "quickInputList.focusForeground": "#575279", - "quickInputList.focusIconForeground": "#575279", - "scrollbar.shadow": "#fffaf34d", - "scrollbarSlider.activeBackground": "#28698380", - "scrollbarSlider.background": "#6e6a8614", - "scrollbarSlider.hoverBackground": "#6e6a8626", - "searchEditor.findMatchBackground": "#6e6a8614", - "selection.background": "#6e6a8626", - "settings.focusedRowBackground": "#fffaf3", - "settings.headerForeground": "#575279", - "settings.modifiedItemIndicator": "#d7827e", - "settings.focusedRowBorder": "#6e6a8614", - "settings.rowHoverBackground": "#fffaf3", - "sideBar.background": "#faf4ed", - "sideBar.dropBackground": "#fffaf3", - "sideBar.foreground": "#797593", - "sideBarSectionHeader.background": "#000000", - "sideBarSectionHeader.border": "#6e6a8614", - "statusBar.background": "#faf4ed", - "statusBar.debuggingBackground": "#907aa9", - "statusBar.debuggingForeground": "#faf4ed", - "statusBar.foreground": "#797593", - "statusBar.noFolderBackground": "#faf4ed", - "statusBar.noFolderForeground": "#797593", - "statusBarItem.activeBackground": "#6e6a8626", - "statusBarItem.hoverBackground": "#6e6a8614", - "statusBarItem.prominentBackground": "#f2e9e1", - "statusBarItem.prominentForeground": "#575279", - "statusBarItem.prominentHoverBackground": "#6e6a8614", - "statusBarItem.remoteBackground": "#faf4ed", - "statusBarItem.remoteForeground": "#ea9d34", - "statusBarItem.errorBackground": "#faf4ed", - "statusBarItem.errorForeground": "#b4637a", - "symbolIcon.arrayForeground": "#797593", - "symbolIcon.classForeground": "#797593", - "symbolIcon.colorForeground": "#797593", - "symbolIcon.constantForeground": "#797593", - "symbolIcon.constructorForeground": "#797593", - "symbolIcon.enumeratorForeground": "#797593", - "symbolIcon.enumeratorMemberForeground": "#797593", - "symbolIcon.eventForeground": "#797593", - "symbolIcon.fieldForeground": "#797593", - "symbolIcon.fileForeground": "#797593", - "symbolIcon.folderForeground": "#797593", - "symbolIcon.functionForeground": "#797593", - "symbolIcon.interfaceForeground": "#797593", - "symbolIcon.keyForeground": "#797593", - "symbolIcon.keywordForeground": "#797593", - "symbolIcon.methodForeground": "#797593", - "symbolIcon.moduleForeground": "#797593", - "symbolIcon.namespaceForeground": "#797593", - "symbolIcon.nullForeground": "#797593", - "symbolIcon.numberForeground": "#797593", - "symbolIcon.objectForeground": "#797593", - "symbolIcon.operatorForeground": "#797593", - "symbolIcon.packageForeground": "#797593", - "symbolIcon.propertyForeground": "#797593", - "symbolIcon.referenceForeground": "#797593", - "symbolIcon.snippetForeground": "#797593", - "symbolIcon.stringForeground": "#797593", - "symbolIcon.structForeground": "#797593", - "symbolIcon.textForeground": "#797593", - "symbolIcon.typeParameterForeground": "#797593", - "symbolIcon.unitForeground": "#797593", - "symbolIcon.variableForeground": "#797593", - "tab.activeBackground": "#6e6a860d", - "tab.activeForeground": "#575279", - "tab.activeModifiedBorder": "#56949f", - "tab.border": "#000000", - "tab.hoverBackground": "#6e6a8614", - "tab.inactiveBackground": "#000000", - "tab.inactiveForeground": "#797593", - "tab.inactiveModifiedBorder": "#56949f80", - "tab.lastPinnedBorder": "#9893a5", - "tab.unfocusedActiveBackground": "#000000", - "tab.unfocusedHoverBackground": "#000000", - "tab.unfocusedInactiveBackground": "#000000", - "tab.unfocusedInactiveModifiedBorder": "#56949f80", - "terminal.ansiBlack": "#f2e9e1", - "terminal.ansiBlue": "#56949f", - "terminal.ansiBrightBlack": "#797593", - "terminal.ansiBrightBlue": "#56949f", - "terminal.ansiBrightCyan": "#d7827e", - "terminal.ansiBrightGreen": "#286983", - "terminal.ansiBrightMagenta": "#907aa9", - "terminal.ansiBrightRed": "#b4637a", - "terminal.ansiBrightWhite": "#575279", - "terminal.ansiBrightYellow": "#ea9d34", - "terminal.ansiCyan": "#d7827e", - "terminal.ansiGreen": "#286983", - "terminal.ansiMagenta": "#907aa9", - "terminal.ansiRed": "#b4637a", - "terminal.ansiWhite": "#575279", - "terminal.ansiYellow": "#ea9d34", - "terminal.dropBackground": "#6e6a8614", - "terminal.foreground": "#575279", - "terminal.selectionBackground": "#6e6a8614", - "terminal.tab.activeBorder": "#575279", - "terminalCursor.background": "#575279", - "terminalCursor.foreground": "#9893a5", - "textBlockQuote.background": "#fffaf3", - "textBlockQuote.border": "#6e6a8614", - "textCodeBlock.background": "#fffaf3", - "textLink.activeForeground": "#907aa9e6", - "textLink.foreground": "#907aa9", - "textPreformat.foreground": "#ea9d34", - "textSeparator.foreground": "#797593", - "titleBar.activeBackground": "#faf4ed", - "titleBar.activeForeground": "#797593", - "titleBar.inactiveBackground": "#fffaf3", - "titleBar.inactiveForeground": "#797593", - "toolbar.activeBackground": "#6e6a8626", - "toolbar.hoverBackground": "#6e6a8614", - "tree.indentGuidesStroke": "#797593", - "walkThrough.embeddedEditorBackground": "#faf4ed", - "welcomePage.background": "#faf4ed", - "welcomePage.buttonBackground": "#fffaf3", - "welcomePage.buttonHoverBackground": "#f2e9e1", - "widget.shadow": "#fffaf34d", - "window.activeBorder": "#fffaf3", - "window.inactiveBorder": "#fffaf3" + "name": "Rosé Pine Dawn", + "type": "light", + "colors": { + "activityBar.activeBorder": "#575279", + "activityBar.background": "#faf4ed", + "activityBar.dropBorder": "#f2e9e1", + "activityBar.foreground": "#575279", + "activityBar.inactiveForeground": "#797593", + "activityBarBadge.background": "#d7827e", + "activityBarBadge.foreground": "#faf4ed", + "badge.background": "#d7827e", + "badge.foreground": "#faf4ed", + "banner.background": "#fffaf3", + "banner.foreground": "#575279", + "banner.iconForeground": "#797593", + "breadcrumb.activeSelectionForeground": "#d7827e", + "breadcrumb.background": "#faf4ed", + "breadcrumb.focusForeground": "#797593", + "breadcrumb.foreground": "#9893a5", + "breadcrumbPicker.background": "#fffaf3", + "button.background": "#d7827e", + "button.foreground": "#faf4ed", + "button.hoverBackground": "#d7827ee6", + "button.secondaryBackground": "#fffaf3", + "button.secondaryForeground": "#575279", + "button.secondaryHoverBackground": "#f2e9e1", + "charts.blue": "#56949f", + "charts.foreground": "#575279", + "charts.green": "#286983", + "charts.lines": "#797593", + "charts.orange": "#d7827e", + "charts.purple": "#907aa9", + "charts.red": "#b4637a", + "charts.yellow": "#ea9d34", + "checkbox.background": "#fffaf3", + "checkbox.border": "#6e6a8614", + "checkbox.foreground": "#575279", + "debugExceptionWidget.background": "#fffaf3", + "debugExceptionWidget.border": "#6e6a8614", + "debugIcon.breakpointCurrentStackframeForeground": "#797593", + "debugIcon.breakpointDisabledForeground": "#797593", + "debugIcon.breakpointForeground": "#797593", + "debugIcon.breakpointStackframeForeground": "#797593", + "debugIcon.breakpointUnverifiedForeground": "#797593", + "debugIcon.continueForeground": "#797593", + "debugIcon.disconnectForeground": "#797593", + "debugIcon.pauseForeground": "#797593", + "debugIcon.restartForeground": "#797593", + "debugIcon.startForeground": "#797593", + "debugIcon.stepBackForeground": "#797593", + "debugIcon.stepIntoForeground": "#797593", + "debugIcon.stepOutForeground": "#797593", + "debugIcon.stepOverForeground": "#797593", + "debugIcon.stopForeground": "#b4637a", + "debugToolBar.background": "#fffaf3", + "debugToolBar.border": "#f2e9e1", + "descriptionForeground": "#797593", + "diffEditor.border": "#f2e9e1", + "diffEditor.diagonalFill": "#6e6a8626", + "diffEditor.insertedLineBackground": "#56949f26", + "diffEditor.insertedTextBackground": "#56949f26", + "diffEditor.removedLineBackground": "#b4637a26", + "diffEditor.removedTextBackground": "#b4637a26", + "diffEditorOverview.insertedForeground": "#56949f80", + "diffEditorOverview.removedForeground": "#b4637a80", + "dropdown.background": "#fffaf3", + "dropdown.border": "#6e6a8614", + "dropdown.foreground": "#575279", + "dropdown.listBackground": "#fffaf3", + "editor.background": "#faf4ed", + "editor.findMatchBackground": "#6e6a8626", + "editor.findMatchHighlightBackground": "#6e6a8626", + "editor.findRangeHighlightBackground": "#6e6a8626", + "editor.findRangeHighlightBorder": "#0000", + "editor.focusedStackFrameHighlightBackground": "#6e6a8614", + "editor.foldBackground": "#fffaf3", + "editor.foreground": "#575279", + "editor.hoverHighlightBackground": "#0000", + "editor.inactiveSelectionBackground": "#6e6a860d", + "editor.inlineValuesBackground": "#0000", + "editor.inlineValuesForeground": "#797593", + "editor.lineHighlightBackground": "#6e6a860d", + "editor.lineHighlightBorder": "#0000", + "editor.linkedEditingBackground": "#fffaf3", + "editor.rangeHighlightBackground": "#6e6a860d", + "editor.selectionBackground": "#6e6a8614", + "editor.selectionForeground": "#575279", + "editor.selectionHighlightBackground": "#6e6a8614", + "editor.selectionHighlightBorder": "#faf4ed", + "editor.snippetFinalTabstopHighlightBackground": "#6e6a8614", + "editor.snippetFinalTabstopHighlightBorder": "#fffaf3", + "editor.snippetTabstopHighlightBackground": "#6e6a8614", + "editor.snippetTabstopHighlightBorder": "#fffaf3", + "editor.stackFrameHighlightBackground": "#6e6a8614", + "editor.symbolHighlightBackground": "#6e6a8614", + "editor.symbolHighlightBorder": "#0000", + "editor.wordHighlightBackground": "#6e6a8614", + "editor.wordHighlightBorder": "#0000", + "editor.wordHighlightStrongBackground": "#6e6a8614", + "editor.wordHighlightStrongBorder": "#6e6a8614", + "editorBracketHighlight.foreground1": "#b4637a80", + "editorBracketHighlight.foreground2": "#28698380", + "editorBracketHighlight.foreground3": "#ea9d3480", + "editorBracketHighlight.foreground4": "#56949f80", + "editorBracketHighlight.foreground5": "#d7827e80", + "editorBracketHighlight.foreground6": "#907aa980", + "editorBracketMatch.background": "#0000", + "editorBracketMatch.border": "#797593", + "editorBracketPairGuide.activeBackground1": "#286983", + "editorBracketPairGuide.activeBackground2": "#d7827e", + "editorBracketPairGuide.activeBackground3": "#907aa9", + "editorBracketPairGuide.activeBackground4": "#56949f", + "editorBracketPairGuide.activeBackground5": "#ea9d34", + "editorBracketPairGuide.activeBackground6": "#b4637a", + "editorBracketPairGuide.background1": "#28698380", + "editorBracketPairGuide.background2": "#d7827e80", + "editorBracketPairGuide.background3": "#907aa980", + "editorBracketPairGuide.background4": "#56949f80", + "editorBracketPairGuide.background5": "#ea9d3480", + "editorBracketPairGuide.background6": "#b4637a80", + "editorCodeLens.foreground": "#d7827e", + "editorCursor.background": "#575279", + "editorCursor.foreground": "#9893a5", + "editorError.border": "#0000", + "editorError.foreground": "#b4637a", + "editorGhostText.foreground": "#797593", + "editorGroup.border": "#0000", + "editorGroup.dropBackground": "#fffaf3", + "editorGroup.emptyBackground": "#0000", + "editorGroup.focusedEmptyBorder": "#0000", + "editorGroupHeader.noTabsBackground": "#0000", + "editorGroupHeader.tabsBackground": "#0000", + "editorGroupHeader.tabsBorder": "#0000", + "editorGutter.addedBackground": "#56949f", + "editorGutter.background": "#faf4ed", + "editorGutter.commentRangeForeground": "#797593", + "editorGutter.deletedBackground": "#b4637a", + "editorGutter.foldingControlForeground": "#907aa9", + "editorGutter.modifiedBackground": "#d7827e", + "editorHint.border": "#0000", + "editorHint.foreground": "#797593", + "editorHoverWidget.background": "#fffaf3", + "editorHoverWidget.border": "#9893a580", + "editorHoverWidget.foreground": "#797593", + "editorHoverWidget.highlightForeground": "#575279", + "editorHoverWidget.statusBarBackground": "#0000", + "editorIndentGuide.activeBackground": "#9893a5", + "editorIndentGuide.background": "#6e6a8626", + "editorInfo.border": "#f2e9e1", + "editorInfo.foreground": "#56949f", + "editorInlayHint.background": "#f2e9e1", + "editorInlayHint.foreground": "#797593", + "editorInlayHint.parameterBackground": "#f2e9e1", + "editorInlayHint.parameterForeground": "#907aa9", + "editorInlayHint.typeBackground": "#f2e9e1", + "editorInlayHint.typeForeground": "#56949f", + "editorLightBulb.foreground": "#286983", + "editorLightBulbAutoFix.foreground": "#d7827e", + "editorLineNumber.activeForeground": "#575279", + "editorLineNumber.foreground": "#797593", + "editorLink.activeForeground": "#d7827e", + "editorMarkerNavigation.background": "#fffaf3", + "editorMarkerNavigationError.background": "#fffaf3", + "editorMarkerNavigationInfo.background": "#fffaf3", + "editorMarkerNavigationWarning.background": "#fffaf3", + "editorOverviewRuler.addedForeground": "#56949f80", + "editorOverviewRuler.background": "#faf4ed", + "editorOverviewRuler.border": "#6e6a8626", + "editorOverviewRuler.bracketMatchForeground": "#797593", + "editorOverviewRuler.commonContentForeground": "#6e6a860d", + "editorOverviewRuler.currentContentForeground": "#6e6a8614", + "editorOverviewRuler.deletedForeground": "#b4637a80", + "editorOverviewRuler.errorForeground": "#b4637a80", + "editorOverviewRuler.findMatchForeground": "#6e6a8626", + "editorOverviewRuler.incomingContentForeground": "#907aa980", + "editorOverviewRuler.infoForeground": "#56949f80", + "editorOverviewRuler.modifiedForeground": "#d7827e80", + "editorOverviewRuler.rangeHighlightForeground": "#6e6a8626", + "editorOverviewRuler.selectionHighlightForeground": "#6e6a8626", + "editorOverviewRuler.warningForeground": "#ea9d3480", + "editorOverviewRuler.wordHighlightForeground": "#6e6a8614", + "editorOverviewRuler.wordHighlightStrongForeground": "#6e6a8626", + "editorPane.background": "#0000", + "editorRuler.foreground": "#6e6a8626", + "editorSuggestWidget.background": "#fffaf3", + "editorSuggestWidget.border": "#0000", + "editorSuggestWidget.focusHighlightForeground": "#d7827e", + "editorSuggestWidget.foreground": "#797593", + "editorSuggestWidget.highlightForeground": "#d7827e", + "editorSuggestWidget.selectedBackground": "#6e6a8614", + "editorSuggestWidget.selectedForeground": "#575279", + "editorSuggestWidget.selectedIconForeground": "#575279", + "editorUnnecessaryCode.border": "#0000", + "editorUnnecessaryCode.opacity": "#57527980", + "editorWarning.border": "#0000", + "editorWarning.foreground": "#ea9d34", + "editorWhitespace.foreground": "#9893a5", + "editorWidget.background": "#fffaf3", + "editorWidget.border": "#f2e9e1", + "editorWidget.foreground": "#797593", + "editorWidget.resizeBorder": "#9893a5", + "errorForeground": "#b4637a", + "extensionBadge.remoteBackground": "#907aa9", + "extensionBadge.remoteForeground": "#faf4ed", + "extensionButton.prominentBackground": "#d7827e", + "extensionButton.prominentForeground": "#faf4ed", + "extensionButton.prominentHoverBackground": "#d7827ee6", + "extensionIcon.preReleaseForeground": "#286983", + "extensionIcon.starForeground": "#d7827e", + "extensionIcon.verifiedForeground": "#907aa9", + "focusBorder": "#6e6a8614", + "foreground": "#575279", + "gitDecoration.addedResourceForeground": "#56949f", + "gitDecoration.conflictingResourceForeground": "#b4637a", + "gitDecoration.deletedResourceForeground": "#797593", + "gitDecoration.ignoredResourceForeground": "#9893a5", + "gitDecoration.modifiedResourceForeground": "#d7827e", + "gitDecoration.renamedResourceForeground": "#286983", + "gitDecoration.stageDeletedResourceForeground": "#b4637a", + "gitDecoration.stageModifiedResourceForeground": "#907aa9", + "gitDecoration.submoduleResourceForeground": "#ea9d34", + "gitDecoration.untrackedResourceForeground": "#ea9d34", + "icon.foreground": "#797593", + "input.background": "#f2e9e180", + "input.border": "#6e6a8614", + "input.foreground": "#575279", + "input.placeholderForeground": "#797593", + "inputOption.activeBackground": "#d7827e26", + "inputOption.activeForeground": "#d7827e", + "inputValidation.errorBackground": "#fffaf3", + "inputValidation.errorBorder": "#6e6a8626", + "inputValidation.errorForeground": "#b4637a", + "inputValidation.infoBackground": "#fffaf3", + "inputValidation.infoBorder": "#6e6a8626", + "inputValidation.infoForeground": "#56949f", + "inputValidation.warningBackground": "#fffaf3", + "inputValidation.warningBorder": "#6e6a8626", + "inputValidation.warningForeground": "#56949f80", + "keybindingLabel.background": "#f2e9e1", + "keybindingLabel.border": "#6e6a8626", + "keybindingLabel.bottomBorder": "#6e6a8626", + "keybindingLabel.foreground": "#907aa9", + "keybindingTable.headerBackground": "#f2e9e1", + "keybindingTable.rowsBackground": "#fffaf3", + "list.activeSelectionBackground": "#6e6a8614", + "list.activeSelectionForeground": "#575279", + "list.deemphasizedForeground": "#797593", + "list.dropBackground": "#fffaf3", + "list.errorForeground": "#b4637a", + "list.filterMatchBackground": "#fffaf3", + "list.filterMatchBorder": "#d7827e", + "list.focusBackground": "#6e6a8626", + "list.focusForeground": "#575279", + "list.focusOutline": "#6e6a8614", + "list.highlightForeground": "#d7827e", + "list.hoverBackground": "#6e6a860d", + "list.hoverForeground": "#575279", + "list.inactiveFocusBackground": "#6e6a860d", + "list.inactiveSelectionBackground": "#fffaf3", + "list.inactiveSelectionForeground": "#575279", + "list.invalidItemForeground": "#b4637a", + "list.warningForeground": "#ea9d34", + "listFilterWidget.background": "#fffaf3", + "listFilterWidget.noMatchesOutline": "#b4637a", + "listFilterWidget.outline": "#f2e9e1", + "menu.background": "#fffaf3", + "menu.border": "#6e6a860d", + "menu.foreground": "#575279", + "menu.selectionBackground": "#6e6a8614", + "menu.selectionBorder": "#f2e9e1", + "menu.selectionForeground": "#575279", + "menu.separatorBackground": "#6e6a8626", + "menubar.selectionBackground": "#6e6a8614", + "menubar.selectionBorder": "#6e6a860d", + "menubar.selectionForeground": "#575279", + "merge.border": "#f2e9e1", + "merge.commonContentBackground": "#6e6a8614", + "merge.commonHeaderBackground": "#6e6a8614", + "merge.currentContentBackground": "#ea9d3480", + "merge.currentHeaderBackground": "#ea9d3480", + "merge.incomingContentBackground": "#56949f80", + "merge.incomingHeaderBackground": "#56949f80", + "minimap.background": "#fffaf3", + "minimap.errorHighlight": "#b4637a80", + "minimap.findMatchHighlight": "#6e6a8614", + "minimap.selectionHighlight": "#6e6a8614", + "minimap.warningHighlight": "#ea9d3480", + "minimapGutter.addedBackground": "#56949f", + "minimapGutter.deletedBackground": "#b4637a", + "minimapGutter.modifiedBackground": "#d7827e", + "minimapSlider.activeBackground": "#6e6a8626", + "minimapSlider.background": "#6e6a8614", + "minimapSlider.hoverBackground": "#6e6a8614", + "notebook.cellBorderColor": "#56949f80", + "notebook.cellEditorBackground": "#fffaf3", + "notebook.cellHoverBackground": "#f2e9e180", + "notebook.focusedCellBackground": "#6e6a860d", + "notebook.focusedCellBorder": "#56949f", + "notebook.outputContainerBackgroundColor": "#6e6a860d", + "notificationCenter.border": "#6e6a8614", + "notificationCenterHeader.background": "#fffaf3", + "notificationCenterHeader.foreground": "#797593", + "notificationLink.foreground": "#907aa9", + "notifications.background": "#fffaf3", + "notifications.border": "#6e6a8614", + "notifications.foreground": "#575279", + "notificationsErrorIcon.foreground": "#b4637a", + "notificationsInfoIcon.foreground": "#56949f", + "notificationsWarningIcon.foreground": "#ea9d34", + "notificationToast.border": "#6e6a8614", + "panel.background": "#fffaf3", + "panel.border": "#0000", + "panel.dropBorder": "#f2e9e1", + "panelInput.border": "#fffaf3", + "panelSection.dropBackground": "#6e6a8614", + "panelSectionHeader.background": "#fffaf3", + "panelSectionHeader.foreground": "#575279", + "panelTitle.activeBorder": "#6e6a8626", + "panelTitle.activeForeground": "#575279", + "panelTitle.inactiveForeground": "#797593", + "peekView.border": "#f2e9e1", + "peekViewEditor.background": "#fffaf3", + "peekViewEditor.matchHighlightBackground": "#6e6a8626", + "peekViewResult.background": "#fffaf3", + "peekViewResult.fileForeground": "#797593", + "peekViewResult.lineForeground": "#797593", + "peekViewResult.matchHighlightBackground": "#6e6a8626", + "peekViewResult.selectionBackground": "#6e6a8614", + "peekViewResult.selectionForeground": "#575279", + "peekViewTitle.background": "#f2e9e1", + "peekViewTitleDescription.foreground": "#797593", + "pickerGroup.border": "#6e6a8626", + "pickerGroup.foreground": "#907aa9", + "ports.iconRunningProcessForeground": "#d7827e", + "problemsErrorIcon.foreground": "#b4637a", + "problemsInfoIcon.foreground": "#56949f", + "problemsWarningIcon.foreground": "#ea9d34", + "progressBar.background": "#d7827e", + "quickInput.background": "#fffaf3", + "quickInput.foreground": "#797593", + "quickInputList.focusBackground": "#6e6a8614", + "quickInputList.focusForeground": "#575279", + "quickInputList.focusIconForeground": "#575279", + "scrollbar.shadow": "#fffaf34d", + "scrollbarSlider.activeBackground": "#28698380", + "scrollbarSlider.background": "#6e6a8614", + "scrollbarSlider.hoverBackground": "#6e6a8626", + "searchEditor.findMatchBackground": "#6e6a8614", + "selection.background": "#6e6a8626", + "settings.focusedRowBackground": "#fffaf3", + "settings.headerForeground": "#575279", + "settings.modifiedItemIndicator": "#d7827e", + "settings.focusedRowBorder": "#6e6a8614", + "settings.rowHoverBackground": "#fffaf3", + "sideBar.background": "#faf4ed", + "sideBar.dropBackground": "#fffaf3", + "sideBar.foreground": "#797593", + "sideBarSectionHeader.background": "#0000", + "sideBarSectionHeader.border": "#6e6a8614", + "statusBar.background": "#faf4ed", + "statusBar.debuggingBackground": "#907aa9", + "statusBar.debuggingForeground": "#faf4ed", + "statusBar.foreground": "#797593", + "statusBar.noFolderBackground": "#faf4ed", + "statusBar.noFolderForeground": "#797593", + "statusBarItem.activeBackground": "#6e6a8626", + "statusBarItem.hoverBackground": "#6e6a8614", + "statusBarItem.prominentBackground": "#f2e9e1", + "statusBarItem.prominentForeground": "#575279", + "statusBarItem.prominentHoverBackground": "#6e6a8614", + "statusBarItem.remoteBackground": "#faf4ed", + "statusBarItem.remoteForeground": "#ea9d34", + "statusBarItem.errorBackground": "#faf4ed", + "statusBarItem.errorForeground": "#b4637a", + "symbolIcon.arrayForeground": "#797593", + "symbolIcon.classForeground": "#797593", + "symbolIcon.colorForeground": "#797593", + "symbolIcon.constantForeground": "#797593", + "symbolIcon.constructorForeground": "#797593", + "symbolIcon.enumeratorForeground": "#797593", + "symbolIcon.enumeratorMemberForeground": "#797593", + "symbolIcon.eventForeground": "#797593", + "symbolIcon.fieldForeground": "#797593", + "symbolIcon.fileForeground": "#797593", + "symbolIcon.folderForeground": "#797593", + "symbolIcon.functionForeground": "#797593", + "symbolIcon.interfaceForeground": "#797593", + "symbolIcon.keyForeground": "#797593", + "symbolIcon.keywordForeground": "#797593", + "symbolIcon.methodForeground": "#797593", + "symbolIcon.moduleForeground": "#797593", + "symbolIcon.namespaceForeground": "#797593", + "symbolIcon.nullForeground": "#797593", + "symbolIcon.numberForeground": "#797593", + "symbolIcon.objectForeground": "#797593", + "symbolIcon.operatorForeground": "#797593", + "symbolIcon.packageForeground": "#797593", + "symbolIcon.propertyForeground": "#797593", + "symbolIcon.referenceForeground": "#797593", + "symbolIcon.snippetForeground": "#797593", + "symbolIcon.stringForeground": "#797593", + "symbolIcon.structForeground": "#797593", + "symbolIcon.textForeground": "#797593", + "symbolIcon.typeParameterForeground": "#797593", + "symbolIcon.unitForeground": "#797593", + "symbolIcon.variableForeground": "#797593", + "tab.activeBackground": "#6e6a860d", + "tab.activeForeground": "#575279", + "tab.activeModifiedBorder": "#56949f", + "tab.border": "#0000", + "tab.hoverBackground": "#6e6a8614", + "tab.inactiveBackground": "#0000", + "tab.inactiveForeground": "#797593", + "tab.inactiveModifiedBorder": "#56949f80", + "tab.lastPinnedBorder": "#9893a5", + "tab.unfocusedActiveBackground": "#0000", + "tab.unfocusedHoverBackground": "#0000", + "tab.unfocusedInactiveBackground": "#0000", + "tab.unfocusedInactiveModifiedBorder": "#56949f80", + "terminal.ansiBlack": "#f2e9e1", + "terminal.ansiBlue": "#56949f", + "terminal.ansiBrightBlack": "#797593", + "terminal.ansiBrightBlue": "#56949f", + "terminal.ansiBrightCyan": "#d7827e", + "terminal.ansiBrightGreen": "#286983", + "terminal.ansiBrightMagenta": "#907aa9", + "terminal.ansiBrightRed": "#b4637a", + "terminal.ansiBrightWhite": "#575279", + "terminal.ansiBrightYellow": "#ea9d34", + "terminal.ansiCyan": "#d7827e", + "terminal.ansiGreen": "#286983", + "terminal.ansiMagenta": "#907aa9", + "terminal.ansiRed": "#b4637a", + "terminal.ansiWhite": "#575279", + "terminal.ansiYellow": "#ea9d34", + "terminal.dropBackground": "#6e6a8614", + "terminal.foreground": "#575279", + "terminal.selectionBackground": "#6e6a8614", + "terminal.tab.activeBorder": "#575279", + "terminalCursor.background": "#575279", + "terminalCursor.foreground": "#9893a5", + "textBlockQuote.background": "#fffaf3", + "textBlockQuote.border": "#6e6a8614", + "textCodeBlock.background": "#fffaf3", + "textLink.activeForeground": "#907aa9e6", + "textLink.foreground": "#907aa9", + "textPreformat.foreground": "#ea9d34", + "textSeparator.foreground": "#797593", + "titleBar.activeBackground": "#faf4ed", + "titleBar.activeForeground": "#797593", + "titleBar.inactiveBackground": "#fffaf3", + "titleBar.inactiveForeground": "#797593", + "toolbar.activeBackground": "#6e6a8626", + "toolbar.hoverBackground": "#6e6a8614", + "tree.indentGuidesStroke": "#797593", + "walkThrough.embeddedEditorBackground": "#faf4ed", + "welcomePage.background": "#faf4ed", + "welcomePage.buttonBackground": "#fffaf3", + "welcomePage.buttonHoverBackground": "#f2e9e1", + "widget.shadow": "#fffaf34d", + "window.activeBorder": "#fffaf3", + "window.inactiveBorder": "#fffaf3" + }, + "tokenColors": [ + { + "scope": ["comment"], + "settings": { + "foreground": "#9893a5", + "fontStyle": "italic" + } }, - "tokenColors": [ - { - "scope": ["comment"], - "settings": { - "foreground": "#9893a5", - "fontStyle": "italic" - } - }, - { - "scope": ["constant"], - "settings": { - "foreground": "#286983" - } - }, - { - "scope": ["constant.numeric", "constant.language"], - "settings": { - "foreground": "#d7827e" - } - }, - { - "scope": ["entity.name"], - "settings": { - "foreground": "#d7827e" - } - }, - { - "scope": [ - "entity.name.section", - "entity.name.tag", - "entity.name.namespace", - "entity.name.type" - ], - "settings": { - "foreground": "#56949f" - } - }, - { - "scope": ["entity.other.attribute-name", "entity.other.inherited-class"], - "settings": { - "foreground": "#907aa9", - "fontStyle": "italic" - } - }, - { - "scope": ["invalid"], - "settings": { - "foreground": "#b4637a" - } - }, - { - "scope": ["invalid.deprecated"], - "settings": { - "foreground": "#797593" - } - }, - { - "scope": ["keyword"], - "settings": { - "foreground": "#286983" - } - }, - { - "scope": ["markup.inserted.diff"], - "settings": { - "foreground": "#56949f" - } - }, - { - "scope": ["markup.deleted.diff"], - "settings": { - "foreground": "#b4637a" - } - }, - { - "scope": "markup.heading", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "markup.bold.markdown", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "markup.italic.markdown", - "settings": { - "fontStyle": "italic" - } - }, - { - "scope": ["meta.diff.range"], - "settings": { - "foreground": "#907aa9" - } - }, - { - "scope": ["meta.tag", "meta.brace"], - "settings": { - "foreground": "#575279" - } - }, - { - "scope": ["meta.import", "meta.export"], - "settings": { - "foreground": "#286983" - } - }, - { - "scope": "meta.directive.vue", - "settings": { - "foreground": "#907aa9", - "fontStyle": "italic" - } - }, - { - "scope": "meta.property-name.css", - "settings": { - "foreground": "#56949f" - } - }, - { - "scope": "meta.property-value.css", - "settings": { - "foreground": "#ea9d34" - } - }, - { - "scope": "meta.tag.other.html", - "settings": { - "foreground": "#797593" - } - }, - { - "scope": ["punctuation"], - "settings": { - "foreground": "#797593" - } - }, - { - "scope": ["punctuation.accessor"], - "settings": { - "foreground": "#286983" - } - }, - { - "scope": ["punctuation.definition.string"], - "settings": { - "foreground": "#ea9d34" - } - }, - { - "scope": ["punctuation.definition.tag"], - "settings": { - "foreground": "#9893a5" - } - }, - { - "scope": ["storage.type", "storage.modifier"], - "settings": { - "foreground": "#286983" - } - }, - { - "scope": ["string"], - "settings": { - "foreground": "#ea9d34" - } - }, - { - "scope": ["support"], - "settings": { - "foreground": "#56949f" - } - }, - { - "scope": ["support.constant"], - "settings": { - "foreground": "#ea9d34" - } - }, - { - "scope": ["support.function"], - "settings": { - "foreground": "#b4637a", - "fontStyle": "italic" - } - }, - { - "scope": ["variable"], - "settings": { - "foreground": "#d7827e", - "fontStyle": "italic" - } - }, - { - "scope": [ - "variable.other", - "variable.language", - "variable.function", - "variable.argument" - ], - "settings": { - "foreground": "#575279" - } - }, - { - "scope": ["variable.parameter"], - "settings": { - "foreground": "#907aa9" - } - } - ] + { + "scope": ["constant"], + "settings": { + "foreground": "#286983" + } + }, + { + "scope": ["constant.numeric", "constant.language"], + "settings": { + "foreground": "#d7827e" + } + }, + { + "scope": ["entity.name"], + "settings": { + "foreground": "#d7827e" + } + }, + { + "scope": [ + "entity.name.section", + "entity.name.tag", + "entity.name.namespace", + "entity.name.type" + ], + "settings": { + "foreground": "#56949f" + } + }, + { + "scope": ["entity.other.attribute-name", "entity.other.inherited-class"], + "settings": { + "foreground": "#907aa9", + "fontStyle": "italic" + } + }, + { + "scope": ["invalid"], + "settings": { + "foreground": "#b4637a" + } + }, + { + "scope": ["invalid.deprecated"], + "settings": { + "foreground": "#797593" + } + }, + { + "scope": ["keyword"], + "settings": { + "foreground": "#286983" + } + }, + { + "scope": ["markup.inserted.diff"], + "settings": { + "foreground": "#56949f" + } + }, + { + "scope": ["markup.deleted.diff"], + "settings": { + "foreground": "#b4637a" + } + }, + { + "scope": "markup.heading", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.bold.markdown", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": ["meta.diff.range"], + "settings": { + "foreground": "#907aa9" + } + }, + { + "scope": ["meta.tag", "meta.brace"], + "settings": { + "foreground": "#575279" + } + }, + { + "scope": ["meta.import", "meta.export"], + "settings": { + "foreground": "#286983" + } + }, + { + "scope": "meta.directive.vue", + "settings": { + "foreground": "#907aa9", + "fontStyle": "italic" + } + }, + { + "scope": "meta.property-name.css", + "settings": { + "foreground": "#56949f" + } + }, + { + "scope": "meta.property-value.css", + "settings": { + "foreground": "#ea9d34" + } + }, + { + "scope": "meta.tag.other.html", + "settings": { + "foreground": "#797593" + } + }, + { + "scope": ["punctuation"], + "settings": { + "foreground": "#797593" + } + }, + { + "scope": ["punctuation.accessor"], + "settings": { + "foreground": "#286983" + } + }, + { + "scope": ["punctuation.definition.string"], + "settings": { + "foreground": "#ea9d34" + } + }, + { + "scope": ["punctuation.definition.tag"], + "settings": { + "foreground": "#9893a5" + } + }, + { + "scope": ["storage.type", "storage.modifier"], + "settings": { + "foreground": "#286983" + } + }, + { + "scope": ["string"], + "settings": { + "foreground": "#ea9d34" + } + }, + { + "scope": ["support"], + "settings": { + "foreground": "#56949f" + } + }, + { + "scope": ["support.constant"], + "settings": { + "foreground": "#ea9d34" + } + }, + { + "scope": ["support.function"], + "settings": { + "foreground": "#b4637a", + "fontStyle": "italic" + } + }, + { + "scope": ["variable"], + "settings": { + "foreground": "#d7827e", + "fontStyle": "italic" + } + }, + { + "scope": [ + "variable.other", + "variable.language", + "variable.function", + "variable.argument" + ], + "settings": { + "foreground": "#575279" + } + }, + { + "scope": ["variable.parameter"], + "settings": { + "foreground": "#907aa9" + } + } + ] } diff --git a/assets/themes/src/vscode/rose-pine/rose-pine-moon.json b/assets/themes/src/vscode/rose-pine/rose-pine-moon.json index dbbb757335..19c0cdd661 100644 --- a/assets/themes/src/vscode/rose-pine/rose-pine-moon.json +++ b/assets/themes/src/vscode/rose-pine/rose-pine-moon.json @@ -1,680 +1,680 @@ { - "name": "Rosé Pine Moon", - "type": "dark", - "colors": { - "activityBar.activeBorder": "#e0def4", - "activityBar.background": "#232136", - "activityBar.dropBorder": "#393552", - "activityBar.foreground": "#e0def4", - "activityBar.inactiveForeground": "#908caa", - "activityBarBadge.background": "#ea9a97", - "activityBarBadge.foreground": "#232136", - "badge.background": "#ea9a97", - "badge.foreground": "#232136", - "banner.background": "#2a273f", - "banner.foreground": "#e0def4", - "banner.iconForeground": "#908caa", - "breadcrumb.activeSelectionForeground": "#ea9a97", - "breadcrumb.background": "#232136", - "breadcrumb.focusForeground": "#908caa", - "breadcrumb.foreground": "#6e6a86", - "breadcrumbPicker.background": "#2a273f", - "button.background": "#ea9a97", - "button.foreground": "#232136", - "button.hoverBackground": "#ea9a97e6", - "button.secondaryBackground": "#2a273f", - "button.secondaryForeground": "#e0def4", - "button.secondaryHoverBackground": "#393552", - "charts.blue": "#9ccfd8", - "charts.foreground": "#e0def4", - "charts.green": "#3e8fb0", - "charts.lines": "#908caa", - "charts.orange": "#ea9a97", - "charts.purple": "#c4a7e7", - "charts.red": "#eb6f92", - "charts.yellow": "#f6c177", - "checkbox.background": "#2a273f", - "checkbox.border": "#817c9c26", - "checkbox.foreground": "#e0def4", - "debugExceptionWidget.background": "#2a273f", - "debugExceptionWidget.border": "#817c9c26", - "debugIcon.breakpointCurrentStackframeForeground": "#908caa", - "debugIcon.breakpointDisabledForeground": "#908caa", - "debugIcon.breakpointForeground": "#908caa", - "debugIcon.breakpointStackframeForeground": "#908caa", - "debugIcon.breakpointUnverifiedForeground": "#908caa", - "debugIcon.continueForeground": "#908caa", - "debugIcon.disconnectForeground": "#908caa", - "debugIcon.pauseForeground": "#908caa", - "debugIcon.restartForeground": "#908caa", - "debugIcon.startForeground": "#908caa", - "debugIcon.stepBackForeground": "#908caa", - "debugIcon.stepIntoForeground": "#908caa", - "debugIcon.stepOutForeground": "#908caa", - "debugIcon.stepOverForeground": "#908caa", - "debugIcon.stopForeground": "#eb6f92", - "debugToolBar.background": "#2a273f", - "debugToolBar.border": "#393552", - "descriptionForeground": "#908caa", - "diffEditor.border": "#393552", - "diffEditor.diagonalFill": "#817c9c4d", - "diffEditor.insertedLineBackground": "#9ccfd826", - "diffEditor.insertedTextBackground": "#9ccfd826", - "diffEditor.removedLineBackground": "#eb6f9226", - "diffEditor.removedTextBackground": "#eb6f9226", - "diffEditorOverview.insertedForeground": "#9ccfd880", - "diffEditorOverview.removedForeground": "#eb6f9280", - "dropdown.background": "#2a273f", - "dropdown.border": "#817c9c26", - "dropdown.foreground": "#e0def4", - "dropdown.listBackground": "#2a273f", - "editor.background": "#232136", - "editor.findMatchBackground": "#817c9c4d", - "editor.findMatchHighlightBackground": "#817c9c4d", - "editor.findRangeHighlightBackground": "#817c9c4d", - "editor.findRangeHighlightBorder": "#000000", - "editor.focusedStackFrameHighlightBackground": "#817c9c26", - "editor.foldBackground": "#2a273f", - "editor.foreground": "#e0def4", - "editor.hoverHighlightBackground": "#000000", - "editor.inactiveSelectionBackground": "#817c9c14", - "editor.inlineValuesBackground": "#000000", - "editor.inlineValuesForeground": "#908caa", - "editor.lineHighlightBackground": "#817c9c14", - "editor.lineHighlightBorder": "#000000", - "editor.linkedEditingBackground": "#2a273f", - "editor.rangeHighlightBackground": "#817c9c14", - "editor.selectionBackground": "#817c9c26", - "editor.selectionForeground": "#e0def4", - "editor.selectionHighlightBackground": "#817c9c26", - "editor.selectionHighlightBorder": "#232136", - "editor.snippetFinalTabstopHighlightBackground": "#817c9c26", - "editor.snippetFinalTabstopHighlightBorder": "#2a273f", - "editor.snippetTabstopHighlightBackground": "#817c9c26", - "editor.snippetTabstopHighlightBorder": "#2a273f", - "editor.stackFrameHighlightBackground": "#817c9c26", - "editor.symbolHighlightBackground": "#817c9c26", - "editor.symbolHighlightBorder": "#000000", - "editor.wordHighlightBackground": "#817c9c26", - "editor.wordHighlightBorder": "#000000", - "editor.wordHighlightStrongBackground": "#817c9c26", - "editor.wordHighlightStrongBorder": "#817c9c26", - "editorBracketHighlight.foreground1": "#eb6f9280", - "editorBracketHighlight.foreground2": "#3e8fb080", - "editorBracketHighlight.foreground3": "#f6c17780", - "editorBracketHighlight.foreground4": "#9ccfd880", - "editorBracketHighlight.foreground5": "#ea9a9780", - "editorBracketHighlight.foreground6": "#c4a7e780", - "editorBracketMatch.background": "#000000", - "editorBracketMatch.border": "#908caa", - "editorBracketPairGuide.activeBackground1": "#3e8fb0", - "editorBracketPairGuide.activeBackground2": "#ea9a97", - "editorBracketPairGuide.activeBackground3": "#c4a7e7", - "editorBracketPairGuide.activeBackground4": "#9ccfd8", - "editorBracketPairGuide.activeBackground5": "#f6c177", - "editorBracketPairGuide.activeBackground6": "#eb6f92", - "editorBracketPairGuide.background1": "#3e8fb080", - "editorBracketPairGuide.background2": "#ea9a9780", - "editorBracketPairGuide.background3": "#c4a7e780", - "editorBracketPairGuide.background4": "#9ccfd880", - "editorBracketPairGuide.background5": "#f6c17780", - "editorBracketPairGuide.background6": "#eb6f9280", - "editorCodeLens.foreground": "#ea9a97", - "editorCursor.background": "#e0def4", - "editorCursor.foreground": "#6e6a86", - "editorError.border": "#000000", - "editorError.foreground": "#eb6f92", - "editorGhostText.foreground": "#908caa", - "editorGroup.border": "#000000", - "editorGroup.dropBackground": "#2a273f", - "editorGroup.emptyBackground": "#000000", - "editorGroup.focusedEmptyBorder": "#000000", - "editorGroupHeader.noTabsBackground": "#000000", - "editorGroupHeader.tabsBackground": "#000000", - "editorGroupHeader.tabsBorder": "#000000", - "editorGutter.addedBackground": "#9ccfd8", - "editorGutter.background": "#232136", - "editorGutter.commentRangeForeground": "#908caa", - "editorGutter.deletedBackground": "#eb6f92", - "editorGutter.foldingControlForeground": "#c4a7e7", - "editorGutter.modifiedBackground": "#ea9a97", - "editorHint.border": "#000000", - "editorHint.foreground": "#908caa", - "editorHoverWidget.background": "#2a273f", - "editorHoverWidget.border": "#6e6a8680", - "editorHoverWidget.foreground": "#908caa", - "editorHoverWidget.highlightForeground": "#e0def4", - "editorHoverWidget.statusBarBackground": "#000000", - "editorIndentGuide.activeBackground": "#6e6a86", - "editorIndentGuide.background": "#817c9c4d", - "editorInfo.border": "#393552", - "editorInfo.foreground": "#9ccfd8", - "editorInlayHint.background": "#393552", - "editorInlayHint.foreground": "#908caa", - "editorInlayHint.parameterBackground": "#393552", - "editorInlayHint.parameterForeground": "#c4a7e7", - "editorInlayHint.typeBackground": "#393552", - "editorInlayHint.typeForeground": "#9ccfd8", - "editorLightBulb.foreground": "#3e8fb0", - "editorLightBulbAutoFix.foreground": "#ea9a97", - "editorLineNumber.activeForeground": "#e0def4", - "editorLineNumber.foreground": "#908caa", - "editorLink.activeForeground": "#ea9a97", - "editorMarkerNavigation.background": "#2a273f", - "editorMarkerNavigationError.background": "#2a273f", - "editorMarkerNavigationInfo.background": "#2a273f", - "editorMarkerNavigationWarning.background": "#2a273f", - "editorOverviewRuler.addedForeground": "#9ccfd880", - "editorOverviewRuler.background": "#232136", - "editorOverviewRuler.border": "#817c9c4d", - "editorOverviewRuler.bracketMatchForeground": "#908caa", - "editorOverviewRuler.commonContentForeground": "#817c9c14", - "editorOverviewRuler.currentContentForeground": "#817c9c26", - "editorOverviewRuler.deletedForeground": "#eb6f9280", - "editorOverviewRuler.errorForeground": "#eb6f9280", - "editorOverviewRuler.findMatchForeground": "#817c9c4d", - "editorOverviewRuler.incomingContentForeground": "#c4a7e780", - "editorOverviewRuler.infoForeground": "#9ccfd880", - "editorOverviewRuler.modifiedForeground": "#ea9a9780", - "editorOverviewRuler.rangeHighlightForeground": "#817c9c4d", - "editorOverviewRuler.selectionHighlightForeground": "#817c9c4d", - "editorOverviewRuler.warningForeground": "#f6c17780", - "editorOverviewRuler.wordHighlightForeground": "#817c9c26", - "editorOverviewRuler.wordHighlightStrongForeground": "#817c9c4d", - "editorPane.background": "#000000", - "editorRuler.foreground": "#817c9c4d", - "editorSuggestWidget.background": "#2a273f", - "editorSuggestWidget.border": "#000000", - "editorSuggestWidget.focusHighlightForeground": "#ea9a97", - "editorSuggestWidget.foreground": "#908caa", - "editorSuggestWidget.highlightForeground": "#ea9a97", - "editorSuggestWidget.selectedBackground": "#817c9c26", - "editorSuggestWidget.selectedForeground": "#e0def4", - "editorSuggestWidget.selectedIconForeground": "#e0def4", - "editorUnnecessaryCode.border": "#000000", - "editorUnnecessaryCode.opacity": "#e0def480", - "editorWarning.border": "#000000", - "editorWarning.foreground": "#f6c177", - "editorWhitespace.foreground": "#6e6a86", - "editorWidget.background": "#2a273f", - "editorWidget.border": "#393552", - "editorWidget.foreground": "#908caa", - "editorWidget.resizeBorder": "#6e6a86", - "errorForeground": "#eb6f92", - "extensionBadge.remoteBackground": "#c4a7e7", - "extensionBadge.remoteForeground": "#232136", - "extensionButton.prominentBackground": "#ea9a97", - "extensionButton.prominentForeground": "#232136", - "extensionButton.prominentHoverBackground": "#ea9a97e6", - "extensionIcon.preReleaseForeground": "#3e8fb0", - "extensionIcon.starForeground": "#ea9a97", - "extensionIcon.verifiedForeground": "#c4a7e7", - "focusBorder": "#817c9c26", - "foreground": "#e0def4", - "gitDecoration.addedResourceForeground": "#9ccfd8", - "gitDecoration.conflictingResourceForeground": "#eb6f92", - "gitDecoration.deletedResourceForeground": "#908caa", - "gitDecoration.ignoredResourceForeground": "#6e6a86", - "gitDecoration.modifiedResourceForeground": "#ea9a97", - "gitDecoration.renamedResourceForeground": "#3e8fb0", - "gitDecoration.stageDeletedResourceForeground": "#eb6f92", - "gitDecoration.stageModifiedResourceForeground": "#c4a7e7", - "gitDecoration.submoduleResourceForeground": "#f6c177", - "gitDecoration.untrackedResourceForeground": "#f6c177", - "icon.foreground": "#908caa", - "input.background": "#39355280", - "input.border": "#817c9c26", - "input.foreground": "#e0def4", - "input.placeholderForeground": "#908caa", - "inputOption.activeBackground": "#ea9a9726", - "inputOption.activeForeground": "#ea9a97", - "inputValidation.errorBackground": "#2a273f", - "inputValidation.errorBorder": "#817c9c4d", - "inputValidation.errorForeground": "#eb6f92", - "inputValidation.infoBackground": "#2a273f", - "inputValidation.infoBorder": "#817c9c4d", - "inputValidation.infoForeground": "#9ccfd8", - "inputValidation.warningBackground": "#2a273f", - "inputValidation.warningBorder": "#817c9c4d", - "inputValidation.warningForeground": "#9ccfd880", - "keybindingLabel.background": "#393552", - "keybindingLabel.border": "#817c9c4d", - "keybindingLabel.bottomBorder": "#817c9c4d", - "keybindingLabel.foreground": "#c4a7e7", - "keybindingTable.headerBackground": "#393552", - "keybindingTable.rowsBackground": "#2a273f", - "list.activeSelectionBackground": "#817c9c26", - "list.activeSelectionForeground": "#e0def4", - "list.deemphasizedForeground": "#908caa", - "list.dropBackground": "#2a273f", - "list.errorForeground": "#eb6f92", - "list.filterMatchBackground": "#2a273f", - "list.filterMatchBorder": "#ea9a97", - "list.focusBackground": "#817c9c4d", - "list.focusForeground": "#e0def4", - "list.focusOutline": "#817c9c26", - "list.highlightForeground": "#ea9a97", - "list.hoverBackground": "#817c9c14", - "list.hoverForeground": "#e0def4", - "list.inactiveFocusBackground": "#817c9c14", - "list.inactiveSelectionBackground": "#2a273f", - "list.inactiveSelectionForeground": "#e0def4", - "list.invalidItemForeground": "#eb6f92", - "list.warningForeground": "#f6c177", - "listFilterWidget.background": "#2a273f", - "listFilterWidget.noMatchesOutline": "#eb6f92", - "listFilterWidget.outline": "#393552", - "menu.background": "#2a273f", - "menu.border": "#817c9c14", - "menu.foreground": "#e0def4", - "menu.selectionBackground": "#817c9c26", - "menu.selectionBorder": "#393552", - "menu.selectionForeground": "#e0def4", - "menu.separatorBackground": "#817c9c4d", - "menubar.selectionBackground": "#817c9c26", - "menubar.selectionBorder": "#817c9c14", - "menubar.selectionForeground": "#e0def4", - "merge.border": "#393552", - "merge.commonContentBackground": "#817c9c26", - "merge.commonHeaderBackground": "#817c9c26", - "merge.currentContentBackground": "#f6c17780", - "merge.currentHeaderBackground": "#f6c17780", - "merge.incomingContentBackground": "#9ccfd880", - "merge.incomingHeaderBackground": "#9ccfd880", - "minimap.background": "#2a273f", - "minimap.errorHighlight": "#eb6f9280", - "minimap.findMatchHighlight": "#817c9c26", - "minimap.selectionHighlight": "#817c9c26", - "minimap.warningHighlight": "#f6c17780", - "minimapGutter.addedBackground": "#9ccfd8", - "minimapGutter.deletedBackground": "#eb6f92", - "minimapGutter.modifiedBackground": "#ea9a97", - "minimapSlider.activeBackground": "#817c9c4d", - "minimapSlider.background": "#817c9c26", - "minimapSlider.hoverBackground": "#817c9c26", - "notebook.cellBorderColor": "#9ccfd880", - "notebook.cellEditorBackground": "#2a273f", - "notebook.cellHoverBackground": "#39355280", - "notebook.focusedCellBackground": "#817c9c14", - "notebook.focusedCellBorder": "#9ccfd8", - "notebook.outputContainerBackgroundColor": "#817c9c14", - "notificationCenter.border": "#817c9c26", - "notificationCenterHeader.background": "#2a273f", - "notificationCenterHeader.foreground": "#908caa", - "notificationLink.foreground": "#c4a7e7", - "notifications.background": "#2a273f", - "notifications.border": "#817c9c26", - "notifications.foreground": "#e0def4", - "notificationsErrorIcon.foreground": "#eb6f92", - "notificationsInfoIcon.foreground": "#9ccfd8", - "notificationsWarningIcon.foreground": "#f6c177", - "notificationToast.border": "#817c9c26", - "panel.background": "#2a273f", - "panel.border": "#000000", - "panel.dropBorder": "#393552", - "panelInput.border": "#2a273f", - "panelSection.dropBackground": "#817c9c26", - "panelSectionHeader.background": "#2a273f", - "panelSectionHeader.foreground": "#e0def4", - "panelTitle.activeBorder": "#817c9c4d", - "panelTitle.activeForeground": "#e0def4", - "panelTitle.inactiveForeground": "#908caa", - "peekView.border": "#393552", - "peekViewEditor.background": "#2a273f", - "peekViewEditor.matchHighlightBackground": "#817c9c4d", - "peekViewResult.background": "#2a273f", - "peekViewResult.fileForeground": "#908caa", - "peekViewResult.lineForeground": "#908caa", - "peekViewResult.matchHighlightBackground": "#817c9c4d", - "peekViewResult.selectionBackground": "#817c9c26", - "peekViewResult.selectionForeground": "#e0def4", - "peekViewTitle.background": "#393552", - "peekViewTitleDescription.foreground": "#908caa", - "pickerGroup.border": "#817c9c4d", - "pickerGroup.foreground": "#c4a7e7", - "ports.iconRunningProcessForeground": "#ea9a97", - "problemsErrorIcon.foreground": "#eb6f92", - "problemsInfoIcon.foreground": "#9ccfd8", - "problemsWarningIcon.foreground": "#f6c177", - "progressBar.background": "#ea9a97", - "quickInput.background": "#2a273f", - "quickInput.foreground": "#908caa", - "quickInputList.focusBackground": "#817c9c26", - "quickInputList.focusForeground": "#e0def4", - "quickInputList.focusIconForeground": "#e0def4", - "scrollbar.shadow": "#2a273f4d", - "scrollbarSlider.activeBackground": "#3e8fb080", - "scrollbarSlider.background": "#817c9c26", - "scrollbarSlider.hoverBackground": "#817c9c4d", - "searchEditor.findMatchBackground": "#817c9c26", - "selection.background": "#817c9c4d", - "settings.focusedRowBackground": "#2a273f", - "settings.headerForeground": "#e0def4", - "settings.modifiedItemIndicator": "#ea9a97", - "settings.focusedRowBorder": "#817c9c26", - "settings.rowHoverBackground": "#2a273f", - "sideBar.background": "#232136", - "sideBar.dropBackground": "#2a273f", - "sideBar.foreground": "#908caa", - "sideBarSectionHeader.background": "#000000", - "sideBarSectionHeader.border": "#817c9c26", - "statusBar.background": "#232136", - "statusBar.debuggingBackground": "#c4a7e7", - "statusBar.debuggingForeground": "#232136", - "statusBar.foreground": "#908caa", - "statusBar.noFolderBackground": "#232136", - "statusBar.noFolderForeground": "#908caa", - "statusBarItem.activeBackground": "#817c9c4d", - "statusBarItem.hoverBackground": "#817c9c26", - "statusBarItem.prominentBackground": "#393552", - "statusBarItem.prominentForeground": "#e0def4", - "statusBarItem.prominentHoverBackground": "#817c9c26", - "statusBarItem.remoteBackground": "#232136", - "statusBarItem.remoteForeground": "#f6c177", - "statusBarItem.errorBackground": "#232136", - "statusBarItem.errorForeground": "#eb6f92", - "symbolIcon.arrayForeground": "#908caa", - "symbolIcon.classForeground": "#908caa", - "symbolIcon.colorForeground": "#908caa", - "symbolIcon.constantForeground": "#908caa", - "symbolIcon.constructorForeground": "#908caa", - "symbolIcon.enumeratorForeground": "#908caa", - "symbolIcon.enumeratorMemberForeground": "#908caa", - "symbolIcon.eventForeground": "#908caa", - "symbolIcon.fieldForeground": "#908caa", - "symbolIcon.fileForeground": "#908caa", - "symbolIcon.folderForeground": "#908caa", - "symbolIcon.functionForeground": "#908caa", - "symbolIcon.interfaceForeground": "#908caa", - "symbolIcon.keyForeground": "#908caa", - "symbolIcon.keywordForeground": "#908caa", - "symbolIcon.methodForeground": "#908caa", - "symbolIcon.moduleForeground": "#908caa", - "symbolIcon.namespaceForeground": "#908caa", - "symbolIcon.nullForeground": "#908caa", - "symbolIcon.numberForeground": "#908caa", - "symbolIcon.objectForeground": "#908caa", - "symbolIcon.operatorForeground": "#908caa", - "symbolIcon.packageForeground": "#908caa", - "symbolIcon.propertyForeground": "#908caa", - "symbolIcon.referenceForeground": "#908caa", - "symbolIcon.snippetForeground": "#908caa", - "symbolIcon.stringForeground": "#908caa", - "symbolIcon.structForeground": "#908caa", - "symbolIcon.textForeground": "#908caa", - "symbolIcon.typeParameterForeground": "#908caa", - "symbolIcon.unitForeground": "#908caa", - "symbolIcon.variableForeground": "#908caa", - "tab.activeBackground": "#817c9c14", - "tab.activeForeground": "#e0def4", - "tab.activeModifiedBorder": "#9ccfd8", - "tab.border": "#000000", - "tab.hoverBackground": "#817c9c26", - "tab.inactiveBackground": "#000000", - "tab.inactiveForeground": "#908caa", - "tab.inactiveModifiedBorder": "#9ccfd880", - "tab.lastPinnedBorder": "#6e6a86", - "tab.unfocusedActiveBackground": "#000000", - "tab.unfocusedHoverBackground": "#000000", - "tab.unfocusedInactiveBackground": "#000000", - "tab.unfocusedInactiveModifiedBorder": "#9ccfd880", - "terminal.ansiBlack": "#393552", - "terminal.ansiBlue": "#9ccfd8", - "terminal.ansiBrightBlack": "#908caa", - "terminal.ansiBrightBlue": "#9ccfd8", - "terminal.ansiBrightCyan": "#ea9a97", - "terminal.ansiBrightGreen": "#3e8fb0", - "terminal.ansiBrightMagenta": "#c4a7e7", - "terminal.ansiBrightRed": "#eb6f92", - "terminal.ansiBrightWhite": "#e0def4", - "terminal.ansiBrightYellow": "#f6c177", - "terminal.ansiCyan": "#ea9a97", - "terminal.ansiGreen": "#3e8fb0", - "terminal.ansiMagenta": "#c4a7e7", - "terminal.ansiRed": "#eb6f92", - "terminal.ansiWhite": "#e0def4", - "terminal.ansiYellow": "#f6c177", - "terminal.dropBackground": "#817c9c26", - "terminal.foreground": "#e0def4", - "terminal.selectionBackground": "#817c9c26", - "terminal.tab.activeBorder": "#e0def4", - "terminalCursor.background": "#e0def4", - "terminalCursor.foreground": "#6e6a86", - "textBlockQuote.background": "#2a273f", - "textBlockQuote.border": "#817c9c26", - "textCodeBlock.background": "#2a273f", - "textLink.activeForeground": "#c4a7e7e6", - "textLink.foreground": "#c4a7e7", - "textPreformat.foreground": "#f6c177", - "textSeparator.foreground": "#908caa", - "titleBar.activeBackground": "#232136", - "titleBar.activeForeground": "#908caa", - "titleBar.inactiveBackground": "#2a273f", - "titleBar.inactiveForeground": "#908caa", - "toolbar.activeBackground": "#817c9c4d", - "toolbar.hoverBackground": "#817c9c26", - "tree.indentGuidesStroke": "#908caa", - "walkThrough.embeddedEditorBackground": "#232136", - "welcomePage.background": "#232136", - "welcomePage.buttonBackground": "#2a273f", - "welcomePage.buttonHoverBackground": "#393552", - "widget.shadow": "#2a273f4d", - "window.activeBorder": "#2a273f", - "window.inactiveBorder": "#2a273f" - }, - "tokenColors": [ - { - "scope": ["comment"], - "settings": { - "foreground": "#6e6a86", - "fontStyle": "italic" - } - }, - { - "scope": ["constant"], - "settings": { - "foreground": "#3e8fb0" - } - }, - { - "scope": ["constant.numeric", "constant.language"], - "settings": { - "foreground": "#ea9a97" - } - }, - { - "scope": ["entity.name"], - "settings": { - "foreground": "#ea9a97" - } - }, - { - "scope": [ - "entity.name.section", - "entity.name.tag", - "entity.name.namespace", - "entity.name.type" - ], - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": ["entity.other.attribute-name", "entity.other.inherited-class"], - "settings": { - "foreground": "#c4a7e7", - "fontStyle": "italic" - } - }, - { - "scope": ["invalid"], - "settings": { - "foreground": "#eb6f92" - } - }, - { - "scope": ["invalid.deprecated"], - "settings": { - "foreground": "#908caa" - } - }, - { - "scope": ["keyword"], - "settings": { - "foreground": "#3e8fb0" - } - }, - { - "scope": ["markup.inserted.diff"], - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": ["markup.deleted.diff"], - "settings": { - "foreground": "#eb6f92" - } - }, - { - "scope": "markup.heading", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "markup.bold.markdown", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "markup.italic.markdown", - "settings": { - "fontStyle": "italic" - } - }, - { - "scope": ["meta.diff.range"], - "settings": { - "foreground": "#c4a7e7" - } - }, - { - "scope": ["meta.tag", "meta.brace"], - "settings": { - "foreground": "#e0def4" - } - }, - { - "scope": ["meta.import", "meta.export"], - "settings": { - "foreground": "#3e8fb0" - } - }, - { - "scope": "meta.directive.vue", - "settings": { - "foreground": "#c4a7e7", - "fontStyle": "italic" - } - }, - { - "scope": "meta.property-name.css", - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": "meta.property-value.css", - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": "meta.tag.other.html", - "settings": { - "foreground": "#908caa" - } - }, - { - "scope": ["punctuation"], - "settings": { - "foreground": "#908caa" - } - }, - { - "scope": ["punctuation.accessor"], - "settings": { - "foreground": "#3e8fb0" - } - }, - { - "scope": ["punctuation.definition.string"], - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": ["punctuation.definition.tag"], - "settings": { - "foreground": "#6e6a86" - } - }, - { - "scope": ["storage.type", "storage.modifier"], - "settings": { - "foreground": "#3e8fb0" - } - }, - { - "scope": ["string"], - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": ["support"], - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": ["support.constant"], - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": ["support.function"], - "settings": { - "foreground": "#eb6f92", - "fontStyle": "italic" - } - }, - { - "scope": ["variable"], - "settings": { - "foreground": "#ea9a97", - "fontStyle": "italic" - } - }, - { - "scope": [ - "variable.other", - "variable.language", - "variable.function", - "variable.argument" - ], - "settings": { - "foreground": "#e0def4" - } - }, - { - "scope": ["variable.parameter"], - "settings": { - "foreground": "#c4a7e7" - } - } - ] + "name": "Rosé Pine Moon", + "type": "dark", + "colors": { + "activityBar.activeBorder": "#e0def4", + "activityBar.background": "#232136", + "activityBar.dropBorder": "#393552", + "activityBar.foreground": "#e0def4", + "activityBar.inactiveForeground": "#908caa", + "activityBarBadge.background": "#ea9a97", + "activityBarBadge.foreground": "#232136", + "badge.background": "#ea9a97", + "badge.foreground": "#232136", + "banner.background": "#2a273f", + "banner.foreground": "#e0def4", + "banner.iconForeground": "#908caa", + "breadcrumb.activeSelectionForeground": "#ea9a97", + "breadcrumb.background": "#232136", + "breadcrumb.focusForeground": "#908caa", + "breadcrumb.foreground": "#6e6a86", + "breadcrumbPicker.background": "#2a273f", + "button.background": "#ea9a97", + "button.foreground": "#232136", + "button.hoverBackground": "#ea9a97e6", + "button.secondaryBackground": "#2a273f", + "button.secondaryForeground": "#e0def4", + "button.secondaryHoverBackground": "#393552", + "charts.blue": "#9ccfd8", + "charts.foreground": "#e0def4", + "charts.green": "#3e8fb0", + "charts.lines": "#908caa", + "charts.orange": "#ea9a97", + "charts.purple": "#c4a7e7", + "charts.red": "#eb6f92", + "charts.yellow": "#f6c177", + "checkbox.background": "#2a273f", + "checkbox.border": "#817c9c26", + "checkbox.foreground": "#e0def4", + "debugExceptionWidget.background": "#2a273f", + "debugExceptionWidget.border": "#817c9c26", + "debugIcon.breakpointCurrentStackframeForeground": "#908caa", + "debugIcon.breakpointDisabledForeground": "#908caa", + "debugIcon.breakpointForeground": "#908caa", + "debugIcon.breakpointStackframeForeground": "#908caa", + "debugIcon.breakpointUnverifiedForeground": "#908caa", + "debugIcon.continueForeground": "#908caa", + "debugIcon.disconnectForeground": "#908caa", + "debugIcon.pauseForeground": "#908caa", + "debugIcon.restartForeground": "#908caa", + "debugIcon.startForeground": "#908caa", + "debugIcon.stepBackForeground": "#908caa", + "debugIcon.stepIntoForeground": "#908caa", + "debugIcon.stepOutForeground": "#908caa", + "debugIcon.stepOverForeground": "#908caa", + "debugIcon.stopForeground": "#eb6f92", + "debugToolBar.background": "#2a273f", + "debugToolBar.border": "#393552", + "descriptionForeground": "#908caa", + "diffEditor.border": "#393552", + "diffEditor.diagonalFill": "#817c9c4d", + "diffEditor.insertedLineBackground": "#9ccfd826", + "diffEditor.insertedTextBackground": "#9ccfd826", + "diffEditor.removedLineBackground": "#eb6f9226", + "diffEditor.removedTextBackground": "#eb6f9226", + "diffEditorOverview.insertedForeground": "#9ccfd880", + "diffEditorOverview.removedForeground": "#eb6f9280", + "dropdown.background": "#2a273f", + "dropdown.border": "#817c9c26", + "dropdown.foreground": "#e0def4", + "dropdown.listBackground": "#2a273f", + "editor.background": "#232136", + "editor.findMatchBackground": "#817c9c4d", + "editor.findMatchHighlightBackground": "#817c9c4d", + "editor.findRangeHighlightBackground": "#817c9c4d", + "editor.findRangeHighlightBorder": "#0000", + "editor.focusedStackFrameHighlightBackground": "#817c9c26", + "editor.foldBackground": "#2a273f", + "editor.foreground": "#e0def4", + "editor.hoverHighlightBackground": "#0000", + "editor.inactiveSelectionBackground": "#817c9c14", + "editor.inlineValuesBackground": "#0000", + "editor.inlineValuesForeground": "#908caa", + "editor.lineHighlightBackground": "#817c9c14", + "editor.lineHighlightBorder": "#0000", + "editor.linkedEditingBackground": "#2a273f", + "editor.rangeHighlightBackground": "#817c9c14", + "editor.selectionBackground": "#817c9c26", + "editor.selectionForeground": "#e0def4", + "editor.selectionHighlightBackground": "#817c9c26", + "editor.selectionHighlightBorder": "#232136", + "editor.snippetFinalTabstopHighlightBackground": "#817c9c26", + "editor.snippetFinalTabstopHighlightBorder": "#2a273f", + "editor.snippetTabstopHighlightBackground": "#817c9c26", + "editor.snippetTabstopHighlightBorder": "#2a273f", + "editor.stackFrameHighlightBackground": "#817c9c26", + "editor.symbolHighlightBackground": "#817c9c26", + "editor.symbolHighlightBorder": "#0000", + "editor.wordHighlightBackground": "#817c9c26", + "editor.wordHighlightBorder": "#0000", + "editor.wordHighlightStrongBackground": "#817c9c26", + "editor.wordHighlightStrongBorder": "#817c9c26", + "editorBracketHighlight.foreground1": "#eb6f9280", + "editorBracketHighlight.foreground2": "#3e8fb080", + "editorBracketHighlight.foreground3": "#f6c17780", + "editorBracketHighlight.foreground4": "#9ccfd880", + "editorBracketHighlight.foreground5": "#ea9a9780", + "editorBracketHighlight.foreground6": "#c4a7e780", + "editorBracketMatch.background": "#0000", + "editorBracketMatch.border": "#908caa", + "editorBracketPairGuide.activeBackground1": "#3e8fb0", + "editorBracketPairGuide.activeBackground2": "#ea9a97", + "editorBracketPairGuide.activeBackground3": "#c4a7e7", + "editorBracketPairGuide.activeBackground4": "#9ccfd8", + "editorBracketPairGuide.activeBackground5": "#f6c177", + "editorBracketPairGuide.activeBackground6": "#eb6f92", + "editorBracketPairGuide.background1": "#3e8fb080", + "editorBracketPairGuide.background2": "#ea9a9780", + "editorBracketPairGuide.background3": "#c4a7e780", + "editorBracketPairGuide.background4": "#9ccfd880", + "editorBracketPairGuide.background5": "#f6c17780", + "editorBracketPairGuide.background6": "#eb6f9280", + "editorCodeLens.foreground": "#ea9a97", + "editorCursor.background": "#e0def4", + "editorCursor.foreground": "#6e6a86", + "editorError.border": "#0000", + "editorError.foreground": "#eb6f92", + "editorGhostText.foreground": "#908caa", + "editorGroup.border": "#0000", + "editorGroup.dropBackground": "#2a273f", + "editorGroup.emptyBackground": "#0000", + "editorGroup.focusedEmptyBorder": "#0000", + "editorGroupHeader.noTabsBackground": "#0000", + "editorGroupHeader.tabsBackground": "#0000", + "editorGroupHeader.tabsBorder": "#0000", + "editorGutter.addedBackground": "#9ccfd8", + "editorGutter.background": "#232136", + "editorGutter.commentRangeForeground": "#908caa", + "editorGutter.deletedBackground": "#eb6f92", + "editorGutter.foldingControlForeground": "#c4a7e7", + "editorGutter.modifiedBackground": "#ea9a97", + "editorHint.border": "#0000", + "editorHint.foreground": "#908caa", + "editorHoverWidget.background": "#2a273f", + "editorHoverWidget.border": "#6e6a8680", + "editorHoverWidget.foreground": "#908caa", + "editorHoverWidget.highlightForeground": "#e0def4", + "editorHoverWidget.statusBarBackground": "#0000", + "editorIndentGuide.activeBackground": "#6e6a86", + "editorIndentGuide.background": "#817c9c4d", + "editorInfo.border": "#393552", + "editorInfo.foreground": "#9ccfd8", + "editorInlayHint.background": "#393552", + "editorInlayHint.foreground": "#908caa", + "editorInlayHint.parameterBackground": "#393552", + "editorInlayHint.parameterForeground": "#c4a7e7", + "editorInlayHint.typeBackground": "#393552", + "editorInlayHint.typeForeground": "#9ccfd8", + "editorLightBulb.foreground": "#3e8fb0", + "editorLightBulbAutoFix.foreground": "#ea9a97", + "editorLineNumber.activeForeground": "#e0def4", + "editorLineNumber.foreground": "#908caa", + "editorLink.activeForeground": "#ea9a97", + "editorMarkerNavigation.background": "#2a273f", + "editorMarkerNavigationError.background": "#2a273f", + "editorMarkerNavigationInfo.background": "#2a273f", + "editorMarkerNavigationWarning.background": "#2a273f", + "editorOverviewRuler.addedForeground": "#9ccfd880", + "editorOverviewRuler.background": "#232136", + "editorOverviewRuler.border": "#817c9c4d", + "editorOverviewRuler.bracketMatchForeground": "#908caa", + "editorOverviewRuler.commonContentForeground": "#817c9c14", + "editorOverviewRuler.currentContentForeground": "#817c9c26", + "editorOverviewRuler.deletedForeground": "#eb6f9280", + "editorOverviewRuler.errorForeground": "#eb6f9280", + "editorOverviewRuler.findMatchForeground": "#817c9c4d", + "editorOverviewRuler.incomingContentForeground": "#c4a7e780", + "editorOverviewRuler.infoForeground": "#9ccfd880", + "editorOverviewRuler.modifiedForeground": "#ea9a9780", + "editorOverviewRuler.rangeHighlightForeground": "#817c9c4d", + "editorOverviewRuler.selectionHighlightForeground": "#817c9c4d", + "editorOverviewRuler.warningForeground": "#f6c17780", + "editorOverviewRuler.wordHighlightForeground": "#817c9c26", + "editorOverviewRuler.wordHighlightStrongForeground": "#817c9c4d", + "editorPane.background": "#0000", + "editorRuler.foreground": "#817c9c4d", + "editorSuggestWidget.background": "#2a273f", + "editorSuggestWidget.border": "#0000", + "editorSuggestWidget.focusHighlightForeground": "#ea9a97", + "editorSuggestWidget.foreground": "#908caa", + "editorSuggestWidget.highlightForeground": "#ea9a97", + "editorSuggestWidget.selectedBackground": "#817c9c26", + "editorSuggestWidget.selectedForeground": "#e0def4", + "editorSuggestWidget.selectedIconForeground": "#e0def4", + "editorUnnecessaryCode.border": "#0000", + "editorUnnecessaryCode.opacity": "#e0def480", + "editorWarning.border": "#0000", + "editorWarning.foreground": "#f6c177", + "editorWhitespace.foreground": "#6e6a86", + "editorWidget.background": "#2a273f", + "editorWidget.border": "#393552", + "editorWidget.foreground": "#908caa", + "editorWidget.resizeBorder": "#6e6a86", + "errorForeground": "#eb6f92", + "extensionBadge.remoteBackground": "#c4a7e7", + "extensionBadge.remoteForeground": "#232136", + "extensionButton.prominentBackground": "#ea9a97", + "extensionButton.prominentForeground": "#232136", + "extensionButton.prominentHoverBackground": "#ea9a97e6", + "extensionIcon.preReleaseForeground": "#3e8fb0", + "extensionIcon.starForeground": "#ea9a97", + "extensionIcon.verifiedForeground": "#c4a7e7", + "focusBorder": "#817c9c26", + "foreground": "#e0def4", + "gitDecoration.addedResourceForeground": "#9ccfd8", + "gitDecoration.conflictingResourceForeground": "#eb6f92", + "gitDecoration.deletedResourceForeground": "#908caa", + "gitDecoration.ignoredResourceForeground": "#6e6a86", + "gitDecoration.modifiedResourceForeground": "#ea9a97", + "gitDecoration.renamedResourceForeground": "#3e8fb0", + "gitDecoration.stageDeletedResourceForeground": "#eb6f92", + "gitDecoration.stageModifiedResourceForeground": "#c4a7e7", + "gitDecoration.submoduleResourceForeground": "#f6c177", + "gitDecoration.untrackedResourceForeground": "#f6c177", + "icon.foreground": "#908caa", + "input.background": "#39355280", + "input.border": "#817c9c26", + "input.foreground": "#e0def4", + "input.placeholderForeground": "#908caa", + "inputOption.activeBackground": "#ea9a9726", + "inputOption.activeForeground": "#ea9a97", + "inputValidation.errorBackground": "#2a273f", + "inputValidation.errorBorder": "#817c9c4d", + "inputValidation.errorForeground": "#eb6f92", + "inputValidation.infoBackground": "#2a273f", + "inputValidation.infoBorder": "#817c9c4d", + "inputValidation.infoForeground": "#9ccfd8", + "inputValidation.warningBackground": "#2a273f", + "inputValidation.warningBorder": "#817c9c4d", + "inputValidation.warningForeground": "#9ccfd880", + "keybindingLabel.background": "#393552", + "keybindingLabel.border": "#817c9c4d", + "keybindingLabel.bottomBorder": "#817c9c4d", + "keybindingLabel.foreground": "#c4a7e7", + "keybindingTable.headerBackground": "#393552", + "keybindingTable.rowsBackground": "#2a273f", + "list.activeSelectionBackground": "#817c9c26", + "list.activeSelectionForeground": "#e0def4", + "list.deemphasizedForeground": "#908caa", + "list.dropBackground": "#2a273f", + "list.errorForeground": "#eb6f92", + "list.filterMatchBackground": "#2a273f", + "list.filterMatchBorder": "#ea9a97", + "list.focusBackground": "#817c9c4d", + "list.focusForeground": "#e0def4", + "list.focusOutline": "#817c9c26", + "list.highlightForeground": "#ea9a97", + "list.hoverBackground": "#817c9c14", + "list.hoverForeground": "#e0def4", + "list.inactiveFocusBackground": "#817c9c14", + "list.inactiveSelectionBackground": "#2a273f", + "list.inactiveSelectionForeground": "#e0def4", + "list.invalidItemForeground": "#eb6f92", + "list.warningForeground": "#f6c177", + "listFilterWidget.background": "#2a273f", + "listFilterWidget.noMatchesOutline": "#eb6f92", + "listFilterWidget.outline": "#393552", + "menu.background": "#2a273f", + "menu.border": "#817c9c14", + "menu.foreground": "#e0def4", + "menu.selectionBackground": "#817c9c26", + "menu.selectionBorder": "#393552", + "menu.selectionForeground": "#e0def4", + "menu.separatorBackground": "#817c9c4d", + "menubar.selectionBackground": "#817c9c26", + "menubar.selectionBorder": "#817c9c14", + "menubar.selectionForeground": "#e0def4", + "merge.border": "#393552", + "merge.commonContentBackground": "#817c9c26", + "merge.commonHeaderBackground": "#817c9c26", + "merge.currentContentBackground": "#f6c17780", + "merge.currentHeaderBackground": "#f6c17780", + "merge.incomingContentBackground": "#9ccfd880", + "merge.incomingHeaderBackground": "#9ccfd880", + "minimap.background": "#2a273f", + "minimap.errorHighlight": "#eb6f9280", + "minimap.findMatchHighlight": "#817c9c26", + "minimap.selectionHighlight": "#817c9c26", + "minimap.warningHighlight": "#f6c17780", + "minimapGutter.addedBackground": "#9ccfd8", + "minimapGutter.deletedBackground": "#eb6f92", + "minimapGutter.modifiedBackground": "#ea9a97", + "minimapSlider.activeBackground": "#817c9c4d", + "minimapSlider.background": "#817c9c26", + "minimapSlider.hoverBackground": "#817c9c26", + "notebook.cellBorderColor": "#9ccfd880", + "notebook.cellEditorBackground": "#2a273f", + "notebook.cellHoverBackground": "#39355280", + "notebook.focusedCellBackground": "#817c9c14", + "notebook.focusedCellBorder": "#9ccfd8", + "notebook.outputContainerBackgroundColor": "#817c9c14", + "notificationCenter.border": "#817c9c26", + "notificationCenterHeader.background": "#2a273f", + "notificationCenterHeader.foreground": "#908caa", + "notificationLink.foreground": "#c4a7e7", + "notifications.background": "#2a273f", + "notifications.border": "#817c9c26", + "notifications.foreground": "#e0def4", + "notificationsErrorIcon.foreground": "#eb6f92", + "notificationsInfoIcon.foreground": "#9ccfd8", + "notificationsWarningIcon.foreground": "#f6c177", + "notificationToast.border": "#817c9c26", + "panel.background": "#2a273f", + "panel.border": "#0000", + "panel.dropBorder": "#393552", + "panelInput.border": "#2a273f", + "panelSection.dropBackground": "#817c9c26", + "panelSectionHeader.background": "#2a273f", + "panelSectionHeader.foreground": "#e0def4", + "panelTitle.activeBorder": "#817c9c4d", + "panelTitle.activeForeground": "#e0def4", + "panelTitle.inactiveForeground": "#908caa", + "peekView.border": "#393552", + "peekViewEditor.background": "#2a273f", + "peekViewEditor.matchHighlightBackground": "#817c9c4d", + "peekViewResult.background": "#2a273f", + "peekViewResult.fileForeground": "#908caa", + "peekViewResult.lineForeground": "#908caa", + "peekViewResult.matchHighlightBackground": "#817c9c4d", + "peekViewResult.selectionBackground": "#817c9c26", + "peekViewResult.selectionForeground": "#e0def4", + "peekViewTitle.background": "#393552", + "peekViewTitleDescription.foreground": "#908caa", + "pickerGroup.border": "#817c9c4d", + "pickerGroup.foreground": "#c4a7e7", + "ports.iconRunningProcessForeground": "#ea9a97", + "problemsErrorIcon.foreground": "#eb6f92", + "problemsInfoIcon.foreground": "#9ccfd8", + "problemsWarningIcon.foreground": "#f6c177", + "progressBar.background": "#ea9a97", + "quickInput.background": "#2a273f", + "quickInput.foreground": "#908caa", + "quickInputList.focusBackground": "#817c9c26", + "quickInputList.focusForeground": "#e0def4", + "quickInputList.focusIconForeground": "#e0def4", + "scrollbar.shadow": "#2a273f4d", + "scrollbarSlider.activeBackground": "#3e8fb080", + "scrollbarSlider.background": "#817c9c26", + "scrollbarSlider.hoverBackground": "#817c9c4d", + "searchEditor.findMatchBackground": "#817c9c26", + "selection.background": "#817c9c4d", + "settings.focusedRowBackground": "#2a273f", + "settings.headerForeground": "#e0def4", + "settings.modifiedItemIndicator": "#ea9a97", + "settings.focusedRowBorder": "#817c9c26", + "settings.rowHoverBackground": "#2a273f", + "sideBar.background": "#232136", + "sideBar.dropBackground": "#2a273f", + "sideBar.foreground": "#908caa", + "sideBarSectionHeader.background": "#0000", + "sideBarSectionHeader.border": "#817c9c26", + "statusBar.background": "#232136", + "statusBar.debuggingBackground": "#c4a7e7", + "statusBar.debuggingForeground": "#232136", + "statusBar.foreground": "#908caa", + "statusBar.noFolderBackground": "#232136", + "statusBar.noFolderForeground": "#908caa", + "statusBarItem.activeBackground": "#817c9c4d", + "statusBarItem.hoverBackground": "#817c9c26", + "statusBarItem.prominentBackground": "#393552", + "statusBarItem.prominentForeground": "#e0def4", + "statusBarItem.prominentHoverBackground": "#817c9c26", + "statusBarItem.remoteBackground": "#232136", + "statusBarItem.remoteForeground": "#f6c177", + "statusBarItem.errorBackground": "#232136", + "statusBarItem.errorForeground": "#eb6f92", + "symbolIcon.arrayForeground": "#908caa", + "symbolIcon.classForeground": "#908caa", + "symbolIcon.colorForeground": "#908caa", + "symbolIcon.constantForeground": "#908caa", + "symbolIcon.constructorForeground": "#908caa", + "symbolIcon.enumeratorForeground": "#908caa", + "symbolIcon.enumeratorMemberForeground": "#908caa", + "symbolIcon.eventForeground": "#908caa", + "symbolIcon.fieldForeground": "#908caa", + "symbolIcon.fileForeground": "#908caa", + "symbolIcon.folderForeground": "#908caa", + "symbolIcon.functionForeground": "#908caa", + "symbolIcon.interfaceForeground": "#908caa", + "symbolIcon.keyForeground": "#908caa", + "symbolIcon.keywordForeground": "#908caa", + "symbolIcon.methodForeground": "#908caa", + "symbolIcon.moduleForeground": "#908caa", + "symbolIcon.namespaceForeground": "#908caa", + "symbolIcon.nullForeground": "#908caa", + "symbolIcon.numberForeground": "#908caa", + "symbolIcon.objectForeground": "#908caa", + "symbolIcon.operatorForeground": "#908caa", + "symbolIcon.packageForeground": "#908caa", + "symbolIcon.propertyForeground": "#908caa", + "symbolIcon.referenceForeground": "#908caa", + "symbolIcon.snippetForeground": "#908caa", + "symbolIcon.stringForeground": "#908caa", + "symbolIcon.structForeground": "#908caa", + "symbolIcon.textForeground": "#908caa", + "symbolIcon.typeParameterForeground": "#908caa", + "symbolIcon.unitForeground": "#908caa", + "symbolIcon.variableForeground": "#908caa", + "tab.activeBackground": "#817c9c14", + "tab.activeForeground": "#e0def4", + "tab.activeModifiedBorder": "#9ccfd8", + "tab.border": "#0000", + "tab.hoverBackground": "#817c9c26", + "tab.inactiveBackground": "#0000", + "tab.inactiveForeground": "#908caa", + "tab.inactiveModifiedBorder": "#9ccfd880", + "tab.lastPinnedBorder": "#6e6a86", + "tab.unfocusedActiveBackground": "#0000", + "tab.unfocusedHoverBackground": "#0000", + "tab.unfocusedInactiveBackground": "#0000", + "tab.unfocusedInactiveModifiedBorder": "#9ccfd880", + "terminal.ansiBlack": "#393552", + "terminal.ansiBlue": "#9ccfd8", + "terminal.ansiBrightBlack": "#908caa", + "terminal.ansiBrightBlue": "#9ccfd8", + "terminal.ansiBrightCyan": "#ea9a97", + "terminal.ansiBrightGreen": "#3e8fb0", + "terminal.ansiBrightMagenta": "#c4a7e7", + "terminal.ansiBrightRed": "#eb6f92", + "terminal.ansiBrightWhite": "#e0def4", + "terminal.ansiBrightYellow": "#f6c177", + "terminal.ansiCyan": "#ea9a97", + "terminal.ansiGreen": "#3e8fb0", + "terminal.ansiMagenta": "#c4a7e7", + "terminal.ansiRed": "#eb6f92", + "terminal.ansiWhite": "#e0def4", + "terminal.ansiYellow": "#f6c177", + "terminal.dropBackground": "#817c9c26", + "terminal.foreground": "#e0def4", + "terminal.selectionBackground": "#817c9c26", + "terminal.tab.activeBorder": "#e0def4", + "terminalCursor.background": "#e0def4", + "terminalCursor.foreground": "#6e6a86", + "textBlockQuote.background": "#2a273f", + "textBlockQuote.border": "#817c9c26", + "textCodeBlock.background": "#2a273f", + "textLink.activeForeground": "#c4a7e7e6", + "textLink.foreground": "#c4a7e7", + "textPreformat.foreground": "#f6c177", + "textSeparator.foreground": "#908caa", + "titleBar.activeBackground": "#232136", + "titleBar.activeForeground": "#908caa", + "titleBar.inactiveBackground": "#2a273f", + "titleBar.inactiveForeground": "#908caa", + "toolbar.activeBackground": "#817c9c4d", + "toolbar.hoverBackground": "#817c9c26", + "tree.indentGuidesStroke": "#908caa", + "walkThrough.embeddedEditorBackground": "#232136", + "welcomePage.background": "#232136", + "welcomePage.buttonBackground": "#2a273f", + "welcomePage.buttonHoverBackground": "#393552", + "widget.shadow": "#2a273f4d", + "window.activeBorder": "#2a273f", + "window.inactiveBorder": "#2a273f" + }, + "tokenColors": [ + { + "scope": ["comment"], + "settings": { + "foreground": "#6e6a86", + "fontStyle": "italic" + } + }, + { + "scope": ["constant"], + "settings": { + "foreground": "#3e8fb0" + } + }, + { + "scope": ["constant.numeric", "constant.language"], + "settings": { + "foreground": "#ea9a97" + } + }, + { + "scope": ["entity.name"], + "settings": { + "foreground": "#ea9a97" + } + }, + { + "scope": [ + "entity.name.section", + "entity.name.tag", + "entity.name.namespace", + "entity.name.type" + ], + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": ["entity.other.attribute-name", "entity.other.inherited-class"], + "settings": { + "foreground": "#c4a7e7", + "fontStyle": "italic" + } + }, + { + "scope": ["invalid"], + "settings": { + "foreground": "#eb6f92" + } + }, + { + "scope": ["invalid.deprecated"], + "settings": { + "foreground": "#908caa" + } + }, + { + "scope": ["keyword"], + "settings": { + "foreground": "#3e8fb0" + } + }, + { + "scope": ["markup.inserted.diff"], + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": ["markup.deleted.diff"], + "settings": { + "foreground": "#eb6f92" + } + }, + { + "scope": "markup.heading", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.bold.markdown", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": ["meta.diff.range"], + "settings": { + "foreground": "#c4a7e7" + } + }, + { + "scope": ["meta.tag", "meta.brace"], + "settings": { + "foreground": "#e0def4" + } + }, + { + "scope": ["meta.import", "meta.export"], + "settings": { + "foreground": "#3e8fb0" + } + }, + { + "scope": "meta.directive.vue", + "settings": { + "foreground": "#c4a7e7", + "fontStyle": "italic" + } + }, + { + "scope": "meta.property-name.css", + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": "meta.property-value.css", + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": "meta.tag.other.html", + "settings": { + "foreground": "#908caa" + } + }, + { + "scope": ["punctuation"], + "settings": { + "foreground": "#908caa" + } + }, + { + "scope": ["punctuation.accessor"], + "settings": { + "foreground": "#3e8fb0" + } + }, + { + "scope": ["punctuation.definition.string"], + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": ["punctuation.definition.tag"], + "settings": { + "foreground": "#6e6a86" + } + }, + { + "scope": ["storage.type", "storage.modifier"], + "settings": { + "foreground": "#3e8fb0" + } + }, + { + "scope": ["string"], + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": ["support"], + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": ["support.constant"], + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": ["support.function"], + "settings": { + "foreground": "#eb6f92", + "fontStyle": "italic" + } + }, + { + "scope": ["variable"], + "settings": { + "foreground": "#ea9a97", + "fontStyle": "italic" + } + }, + { + "scope": [ + "variable.other", + "variable.language", + "variable.function", + "variable.argument" + ], + "settings": { + "foreground": "#e0def4" + } + }, + { + "scope": ["variable.parameter"], + "settings": { + "foreground": "#c4a7e7" + } + } + ] } diff --git a/assets/themes/src/vscode/rose-pine/rose-pine.json b/assets/themes/src/vscode/rose-pine/rose-pine.json index c2a0d23efc..167362ced4 100644 --- a/assets/themes/src/vscode/rose-pine/rose-pine.json +++ b/assets/themes/src/vscode/rose-pine/rose-pine.json @@ -1,680 +1,680 @@ { - "name": "Rosé Pine", - "type": "dark", - "colors": { - "activityBar.activeBorder": "#e0def4", - "activityBar.background": "#191724", - "activityBar.dropBorder": "#26233a", - "activityBar.foreground": "#e0def4", - "activityBar.inactiveForeground": "#908caa", - "activityBarBadge.background": "#ebbcba", - "activityBarBadge.foreground": "#191724", - "badge.background": "#ebbcba", - "badge.foreground": "#191724", - "banner.background": "#1f1d2e", - "banner.foreground": "#e0def4", - "banner.iconForeground": "#908caa", - "breadcrumb.activeSelectionForeground": "#ebbcba", - "breadcrumb.background": "#191724", - "breadcrumb.focusForeground": "#908caa", - "breadcrumb.foreground": "#6e6a86", - "breadcrumbPicker.background": "#1f1d2e", - "button.background": "#ebbcba", - "button.foreground": "#191724", - "button.hoverBackground": "#ebbcbae6", - "button.secondaryBackground": "#1f1d2e", - "button.secondaryForeground": "#e0def4", - "button.secondaryHoverBackground": "#26233a", - "charts.blue": "#9ccfd8", - "charts.foreground": "#e0def4", - "charts.green": "#31748f", - "charts.lines": "#908caa", - "charts.orange": "#ebbcba", - "charts.purple": "#c4a7e7", - "charts.red": "#eb6f92", - "charts.yellow": "#f6c177", - "checkbox.background": "#1f1d2e", - "checkbox.border": "#6e6a8633", - "checkbox.foreground": "#e0def4", - "debugExceptionWidget.background": "#1f1d2e", - "debugExceptionWidget.border": "#6e6a8633", - "debugIcon.breakpointCurrentStackframeForeground": "#908caa", - "debugIcon.breakpointDisabledForeground": "#908caa", - "debugIcon.breakpointForeground": "#908caa", - "debugIcon.breakpointStackframeForeground": "#908caa", - "debugIcon.breakpointUnverifiedForeground": "#908caa", - "debugIcon.continueForeground": "#908caa", - "debugIcon.disconnectForeground": "#908caa", - "debugIcon.pauseForeground": "#908caa", - "debugIcon.restartForeground": "#908caa", - "debugIcon.startForeground": "#908caa", - "debugIcon.stepBackForeground": "#908caa", - "debugIcon.stepIntoForeground": "#908caa", - "debugIcon.stepOutForeground": "#908caa", - "debugIcon.stepOverForeground": "#908caa", - "debugIcon.stopForeground": "#eb6f92", - "debugToolBar.background": "#1f1d2e", - "debugToolBar.border": "#26233a", - "descriptionForeground": "#908caa", - "diffEditor.border": "#26233a", - "diffEditor.diagonalFill": "#6e6a8666", - "diffEditor.insertedLineBackground": "#9ccfd826", - "diffEditor.insertedTextBackground": "#9ccfd826", - "diffEditor.removedLineBackground": "#eb6f9226", - "diffEditor.removedTextBackground": "#eb6f9226", - "diffEditorOverview.insertedForeground": "#9ccfd880", - "diffEditorOverview.removedForeground": "#eb6f9280", - "dropdown.background": "#1f1d2e", - "dropdown.border": "#6e6a8633", - "dropdown.foreground": "#e0def4", - "dropdown.listBackground": "#1f1d2e", - "editor.background": "#191724", - "editor.findMatchBackground": "#6e6a8666", - "editor.findMatchHighlightBackground": "#6e6a8666", - "editor.findRangeHighlightBackground": "#6e6a8666", - "editor.findRangeHighlightBorder": "#000000", - "editor.focusedStackFrameHighlightBackground": "#6e6a8633", - "editor.foldBackground": "#1f1d2e", - "editor.foreground": "#e0def4", - "editor.hoverHighlightBackground": "#000000", - "editor.inactiveSelectionBackground": "#6e6a861a", - "editor.inlineValuesBackground": "#000000", - "editor.inlineValuesForeground": "#908caa", - "editor.lineHighlightBackground": "#6e6a861a", - "editor.lineHighlightBorder": "#000000", - "editor.linkedEditingBackground": "#1f1d2e", - "editor.rangeHighlightBackground": "#6e6a861a", - "editor.selectionBackground": "#6e6a8633", - "editor.selectionForeground": "#e0def4", - "editor.selectionHighlightBackground": "#6e6a8633", - "editor.selectionHighlightBorder": "#191724", - "editor.snippetFinalTabstopHighlightBackground": "#6e6a8633", - "editor.snippetFinalTabstopHighlightBorder": "#1f1d2e", - "editor.snippetTabstopHighlightBackground": "#6e6a8633", - "editor.snippetTabstopHighlightBorder": "#1f1d2e", - "editor.stackFrameHighlightBackground": "#6e6a8633", - "editor.symbolHighlightBackground": "#6e6a8633", - "editor.symbolHighlightBorder": "#000000", - "editor.wordHighlightBackground": "#6e6a8633", - "editor.wordHighlightBorder": "#000000", - "editor.wordHighlightStrongBackground": "#6e6a8633", - "editor.wordHighlightStrongBorder": "#6e6a8633", - "editorBracketHighlight.foreground1": "#eb6f9280", - "editorBracketHighlight.foreground2": "#31748f80", - "editorBracketHighlight.foreground3": "#f6c17780", - "editorBracketHighlight.foreground4": "#9ccfd880", - "editorBracketHighlight.foreground5": "#ebbcba80", - "editorBracketHighlight.foreground6": "#c4a7e780", - "editorBracketMatch.background": "#000000", - "editorBracketMatch.border": "#908caa", - "editorBracketPairGuide.activeBackground1": "#31748f", - "editorBracketPairGuide.activeBackground2": "#ebbcba", - "editorBracketPairGuide.activeBackground3": "#c4a7e7", - "editorBracketPairGuide.activeBackground4": "#9ccfd8", - "editorBracketPairGuide.activeBackground5": "#f6c177", - "editorBracketPairGuide.activeBackground6": "#eb6f92", - "editorBracketPairGuide.background1": "#31748f80", - "editorBracketPairGuide.background2": "#ebbcba80", - "editorBracketPairGuide.background3": "#c4a7e780", - "editorBracketPairGuide.background4": "#9ccfd880", - "editorBracketPairGuide.background5": "#f6c17780", - "editorBracketPairGuide.background6": "#eb6f9280", - "editorCodeLens.foreground": "#ebbcba", - "editorCursor.background": "#e0def4", - "editorCursor.foreground": "#6e6a86", - "editorError.border": "#000000", - "editorError.foreground": "#eb6f92", - "editorGhostText.foreground": "#908caa", - "editorGroup.border": "#000000", - "editorGroup.dropBackground": "#1f1d2e", - "editorGroup.emptyBackground": "#000000", - "editorGroup.focusedEmptyBorder": "#000000", - "editorGroupHeader.noTabsBackground": "#000000", - "editorGroupHeader.tabsBackground": "#000000", - "editorGroupHeader.tabsBorder": "#000000", - "editorGutter.addedBackground": "#9ccfd8", - "editorGutter.background": "#191724", - "editorGutter.commentRangeForeground": "#908caa", - "editorGutter.deletedBackground": "#eb6f92", - "editorGutter.foldingControlForeground": "#c4a7e7", - "editorGutter.modifiedBackground": "#ebbcba", - "editorHint.border": "#000000", - "editorHint.foreground": "#908caa", - "editorHoverWidget.background": "#1f1d2e", - "editorHoverWidget.border": "#6e6a8680", - "editorHoverWidget.foreground": "#908caa", - "editorHoverWidget.highlightForeground": "#e0def4", - "editorHoverWidget.statusBarBackground": "#000000", - "editorIndentGuide.activeBackground": "#6e6a86", - "editorIndentGuide.background": "#6e6a8666", - "editorInfo.border": "#26233a", - "editorInfo.foreground": "#9ccfd8", - "editorInlayHint.background": "#26233a", - "editorInlayHint.foreground": "#908caa", - "editorInlayHint.parameterBackground": "#26233a", - "editorInlayHint.parameterForeground": "#c4a7e7", - "editorInlayHint.typeBackground": "#26233a", - "editorInlayHint.typeForeground": "#9ccfd8", - "editorLightBulb.foreground": "#31748f", - "editorLightBulbAutoFix.foreground": "#ebbcba", - "editorLineNumber.activeForeground": "#e0def4", - "editorLineNumber.foreground": "#908caa", - "editorLink.activeForeground": "#ebbcba", - "editorMarkerNavigation.background": "#1f1d2e", - "editorMarkerNavigationError.background": "#1f1d2e", - "editorMarkerNavigationInfo.background": "#1f1d2e", - "editorMarkerNavigationWarning.background": "#1f1d2e", - "editorOverviewRuler.addedForeground": "#9ccfd880", - "editorOverviewRuler.background": "#191724", - "editorOverviewRuler.border": "#6e6a8666", - "editorOverviewRuler.bracketMatchForeground": "#908caa", - "editorOverviewRuler.commonContentForeground": "#6e6a861a", - "editorOverviewRuler.currentContentForeground": "#6e6a8633", - "editorOverviewRuler.deletedForeground": "#eb6f9280", - "editorOverviewRuler.errorForeground": "#eb6f9280", - "editorOverviewRuler.findMatchForeground": "#6e6a8666", - "editorOverviewRuler.incomingContentForeground": "#c4a7e780", - "editorOverviewRuler.infoForeground": "#9ccfd880", - "editorOverviewRuler.modifiedForeground": "#ebbcba80", - "editorOverviewRuler.rangeHighlightForeground": "#6e6a8666", - "editorOverviewRuler.selectionHighlightForeground": "#6e6a8666", - "editorOverviewRuler.warningForeground": "#f6c17780", - "editorOverviewRuler.wordHighlightForeground": "#6e6a8633", - "editorOverviewRuler.wordHighlightStrongForeground": "#6e6a8666", - "editorPane.background": "#000000", - "editorRuler.foreground": "#6e6a8666", - "editorSuggestWidget.background": "#1f1d2e", - "editorSuggestWidget.border": "#000000", - "editorSuggestWidget.focusHighlightForeground": "#ebbcba", - "editorSuggestWidget.foreground": "#908caa", - "editorSuggestWidget.highlightForeground": "#ebbcba", - "editorSuggestWidget.selectedBackground": "#6e6a8633", - "editorSuggestWidget.selectedForeground": "#e0def4", - "editorSuggestWidget.selectedIconForeground": "#e0def4", - "editorUnnecessaryCode.border": "#000000", - "editorUnnecessaryCode.opacity": "#e0def480", - "editorWarning.border": "#000000", - "editorWarning.foreground": "#f6c177", - "editorWhitespace.foreground": "#6e6a86", - "editorWidget.background": "#1f1d2e", - "editorWidget.border": "#26233a", - "editorWidget.foreground": "#908caa", - "editorWidget.resizeBorder": "#6e6a86", - "errorForeground": "#eb6f92", - "extensionBadge.remoteBackground": "#c4a7e7", - "extensionBadge.remoteForeground": "#191724", - "extensionButton.prominentBackground": "#ebbcba", - "extensionButton.prominentForeground": "#191724", - "extensionButton.prominentHoverBackground": "#ebbcbae6", - "extensionIcon.preReleaseForeground": "#31748f", - "extensionIcon.starForeground": "#ebbcba", - "extensionIcon.verifiedForeground": "#c4a7e7", - "focusBorder": "#6e6a8633", - "foreground": "#e0def4", - "gitDecoration.addedResourceForeground": "#9ccfd8", - "gitDecoration.conflictingResourceForeground": "#eb6f92", - "gitDecoration.deletedResourceForeground": "#908caa", - "gitDecoration.ignoredResourceForeground": "#6e6a86", - "gitDecoration.modifiedResourceForeground": "#ebbcba", - "gitDecoration.renamedResourceForeground": "#31748f", - "gitDecoration.stageDeletedResourceForeground": "#eb6f92", - "gitDecoration.stageModifiedResourceForeground": "#c4a7e7", - "gitDecoration.submoduleResourceForeground": "#f6c177", - "gitDecoration.untrackedResourceForeground": "#f6c177", - "icon.foreground": "#908caa", - "input.background": "#26233a80", - "input.border": "#6e6a8633", - "input.foreground": "#e0def4", - "input.placeholderForeground": "#908caa", - "inputOption.activeBackground": "#ebbcba26", - "inputOption.activeForeground": "#ebbcba", - "inputValidation.errorBackground": "#1f1d2e", - "inputValidation.errorBorder": "#6e6a8666", - "inputValidation.errorForeground": "#eb6f92", - "inputValidation.infoBackground": "#1f1d2e", - "inputValidation.infoBorder": "#6e6a8666", - "inputValidation.infoForeground": "#9ccfd8", - "inputValidation.warningBackground": "#1f1d2e", - "inputValidation.warningBorder": "#6e6a8666", - "inputValidation.warningForeground": "#9ccfd880", - "keybindingLabel.background": "#26233a", - "keybindingLabel.border": "#6e6a8666", - "keybindingLabel.bottomBorder": "#6e6a8666", - "keybindingLabel.foreground": "#c4a7e7", - "keybindingTable.headerBackground": "#26233a", - "keybindingTable.rowsBackground": "#1f1d2e", - "list.activeSelectionBackground": "#6e6a8633", - "list.activeSelectionForeground": "#e0def4", - "list.deemphasizedForeground": "#908caa", - "list.dropBackground": "#1f1d2e", - "list.errorForeground": "#eb6f92", - "list.filterMatchBackground": "#1f1d2e", - "list.filterMatchBorder": "#ebbcba", - "list.focusBackground": "#6e6a8666", - "list.focusForeground": "#e0def4", - "list.focusOutline": "#6e6a8633", - "list.highlightForeground": "#ebbcba", - "list.hoverBackground": "#6e6a861a", - "list.hoverForeground": "#e0def4", - "list.inactiveFocusBackground": "#6e6a861a", - "list.inactiveSelectionBackground": "#1f1d2e", - "list.inactiveSelectionForeground": "#e0def4", - "list.invalidItemForeground": "#eb6f92", - "list.warningForeground": "#f6c177", - "listFilterWidget.background": "#1f1d2e", - "listFilterWidget.noMatchesOutline": "#eb6f92", - "listFilterWidget.outline": "#26233a", - "menu.background": "#1f1d2e", - "menu.border": "#6e6a861a", - "menu.foreground": "#e0def4", - "menu.selectionBackground": "#6e6a8633", - "menu.selectionBorder": "#26233a", - "menu.selectionForeground": "#e0def4", - "menu.separatorBackground": "#6e6a8666", - "menubar.selectionBackground": "#6e6a8633", - "menubar.selectionBorder": "#6e6a861a", - "menubar.selectionForeground": "#e0def4", - "merge.border": "#26233a", - "merge.commonContentBackground": "#6e6a8633", - "merge.commonHeaderBackground": "#6e6a8633", - "merge.currentContentBackground": "#f6c17780", - "merge.currentHeaderBackground": "#f6c17780", - "merge.incomingContentBackground": "#9ccfd880", - "merge.incomingHeaderBackground": "#9ccfd880", - "minimap.background": "#1f1d2e", - "minimap.errorHighlight": "#eb6f9280", - "minimap.findMatchHighlight": "#6e6a8633", - "minimap.selectionHighlight": "#6e6a8633", - "minimap.warningHighlight": "#f6c17780", - "minimapGutter.addedBackground": "#9ccfd8", - "minimapGutter.deletedBackground": "#eb6f92", - "minimapGutter.modifiedBackground": "#ebbcba", - "minimapSlider.activeBackground": "#6e6a8666", - "minimapSlider.background": "#6e6a8633", - "minimapSlider.hoverBackground": "#6e6a8633", - "notebook.cellBorderColor": "#9ccfd880", - "notebook.cellEditorBackground": "#1f1d2e", - "notebook.cellHoverBackground": "#26233a80", - "notebook.focusedCellBackground": "#6e6a861a", - "notebook.focusedCellBorder": "#9ccfd8", - "notebook.outputContainerBackgroundColor": "#6e6a861a", - "notificationCenter.border": "#6e6a8633", - "notificationCenterHeader.background": "#1f1d2e", - "notificationCenterHeader.foreground": "#908caa", - "notificationLink.foreground": "#c4a7e7", - "notifications.background": "#1f1d2e", - "notifications.border": "#6e6a8633", - "notifications.foreground": "#e0def4", - "notificationsErrorIcon.foreground": "#eb6f92", - "notificationsInfoIcon.foreground": "#9ccfd8", - "notificationsWarningIcon.foreground": "#f6c177", - "notificationToast.border": "#6e6a8633", - "panel.background": "#1f1d2e", - "panel.border": "#000000", - "panel.dropBorder": "#26233a", - "panelInput.border": "#1f1d2e", - "panelSection.dropBackground": "#6e6a8633", - "panelSectionHeader.background": "#1f1d2e", - "panelSectionHeader.foreground": "#e0def4", - "panelTitle.activeBorder": "#6e6a8666", - "panelTitle.activeForeground": "#e0def4", - "panelTitle.inactiveForeground": "#908caa", - "peekView.border": "#26233a", - "peekViewEditor.background": "#1f1d2e", - "peekViewEditor.matchHighlightBackground": "#6e6a8666", - "peekViewResult.background": "#1f1d2e", - "peekViewResult.fileForeground": "#908caa", - "peekViewResult.lineForeground": "#908caa", - "peekViewResult.matchHighlightBackground": "#6e6a8666", - "peekViewResult.selectionBackground": "#6e6a8633", - "peekViewResult.selectionForeground": "#e0def4", - "peekViewTitle.background": "#26233a", - "peekViewTitleDescription.foreground": "#908caa", - "pickerGroup.border": "#6e6a8666", - "pickerGroup.foreground": "#c4a7e7", - "ports.iconRunningProcessForeground": "#ebbcba", - "problemsErrorIcon.foreground": "#eb6f92", - "problemsInfoIcon.foreground": "#9ccfd8", - "problemsWarningIcon.foreground": "#f6c177", - "progressBar.background": "#ebbcba", - "quickInput.background": "#1f1d2e", - "quickInput.foreground": "#908caa", - "quickInputList.focusBackground": "#6e6a8633", - "quickInputList.focusForeground": "#e0def4", - "quickInputList.focusIconForeground": "#e0def4", - "scrollbar.shadow": "#1f1d2e4d", - "scrollbarSlider.activeBackground": "#31748f80", - "scrollbarSlider.background": "#6e6a8633", - "scrollbarSlider.hoverBackground": "#6e6a8666", - "searchEditor.findMatchBackground": "#6e6a8633", - "selection.background": "#6e6a8666", - "settings.focusedRowBackground": "#1f1d2e", - "settings.headerForeground": "#e0def4", - "settings.modifiedItemIndicator": "#ebbcba", - "settings.focusedRowBorder": "#6e6a8633", - "settings.rowHoverBackground": "#1f1d2e", - "sideBar.background": "#191724", - "sideBar.dropBackground": "#1f1d2e", - "sideBar.foreground": "#908caa", - "sideBarSectionHeader.background": "#000000", - "sideBarSectionHeader.border": "#6e6a8633", - "statusBar.background": "#191724", - "statusBar.debuggingBackground": "#c4a7e7", - "statusBar.debuggingForeground": "#191724", - "statusBar.foreground": "#908caa", - "statusBar.noFolderBackground": "#191724", - "statusBar.noFolderForeground": "#908caa", - "statusBarItem.activeBackground": "#6e6a8666", - "statusBarItem.hoverBackground": "#6e6a8633", - "statusBarItem.prominentBackground": "#26233a", - "statusBarItem.prominentForeground": "#e0def4", - "statusBarItem.prominentHoverBackground": "#6e6a8633", - "statusBarItem.remoteBackground": "#191724", - "statusBarItem.remoteForeground": "#f6c177", - "statusBarItem.errorBackground": "#191724", - "statusBarItem.errorForeground": "#eb6f92", - "symbolIcon.arrayForeground": "#908caa", - "symbolIcon.classForeground": "#908caa", - "symbolIcon.colorForeground": "#908caa", - "symbolIcon.constantForeground": "#908caa", - "symbolIcon.constructorForeground": "#908caa", - "symbolIcon.enumeratorForeground": "#908caa", - "symbolIcon.enumeratorMemberForeground": "#908caa", - "symbolIcon.eventForeground": "#908caa", - "symbolIcon.fieldForeground": "#908caa", - "symbolIcon.fileForeground": "#908caa", - "symbolIcon.folderForeground": "#908caa", - "symbolIcon.functionForeground": "#908caa", - "symbolIcon.interfaceForeground": "#908caa", - "symbolIcon.keyForeground": "#908caa", - "symbolIcon.keywordForeground": "#908caa", - "symbolIcon.methodForeground": "#908caa", - "symbolIcon.moduleForeground": "#908caa", - "symbolIcon.namespaceForeground": "#908caa", - "symbolIcon.nullForeground": "#908caa", - "symbolIcon.numberForeground": "#908caa", - "symbolIcon.objectForeground": "#908caa", - "symbolIcon.operatorForeground": "#908caa", - "symbolIcon.packageForeground": "#908caa", - "symbolIcon.propertyForeground": "#908caa", - "symbolIcon.referenceForeground": "#908caa", - "symbolIcon.snippetForeground": "#908caa", - "symbolIcon.stringForeground": "#908caa", - "symbolIcon.structForeground": "#908caa", - "symbolIcon.textForeground": "#908caa", - "symbolIcon.typeParameterForeground": "#908caa", - "symbolIcon.unitForeground": "#908caa", - "symbolIcon.variableForeground": "#908caa", - "tab.activeBackground": "#6e6a861a", - "tab.activeForeground": "#e0def4", - "tab.activeModifiedBorder": "#9ccfd8", - "tab.border": "#000000", - "tab.hoverBackground": "#6e6a8633", - "tab.inactiveBackground": "#000000", - "tab.inactiveForeground": "#908caa", - "tab.inactiveModifiedBorder": "#9ccfd880", - "tab.lastPinnedBorder": "#6e6a86", - "tab.unfocusedActiveBackground": "#000000", - "tab.unfocusedHoverBackground": "#000000", - "tab.unfocusedInactiveBackground": "#000000", - "tab.unfocusedInactiveModifiedBorder": "#9ccfd880", - "terminal.ansiBlack": "#26233a", - "terminal.ansiBlue": "#9ccfd8", - "terminal.ansiBrightBlack": "#908caa", - "terminal.ansiBrightBlue": "#9ccfd8", - "terminal.ansiBrightCyan": "#ebbcba", - "terminal.ansiBrightGreen": "#31748f", - "terminal.ansiBrightMagenta": "#c4a7e7", - "terminal.ansiBrightRed": "#eb6f92", - "terminal.ansiBrightWhite": "#e0def4", - "terminal.ansiBrightYellow": "#f6c177", - "terminal.ansiCyan": "#ebbcba", - "terminal.ansiGreen": "#31748f", - "terminal.ansiMagenta": "#c4a7e7", - "terminal.ansiRed": "#eb6f92", - "terminal.ansiWhite": "#e0def4", - "terminal.ansiYellow": "#f6c177", - "terminal.dropBackground": "#6e6a8633", - "terminal.foreground": "#e0def4", - "terminal.selectionBackground": "#6e6a8633", - "terminal.tab.activeBorder": "#e0def4", - "terminalCursor.background": "#e0def4", - "terminalCursor.foreground": "#6e6a86", - "textBlockQuote.background": "#1f1d2e", - "textBlockQuote.border": "#6e6a8633", - "textCodeBlock.background": "#1f1d2e", - "textLink.activeForeground": "#c4a7e7e6", - "textLink.foreground": "#c4a7e7", - "textPreformat.foreground": "#f6c177", - "textSeparator.foreground": "#908caa", - "titleBar.activeBackground": "#191724", - "titleBar.activeForeground": "#908caa", - "titleBar.inactiveBackground": "#1f1d2e", - "titleBar.inactiveForeground": "#908caa", - "toolbar.activeBackground": "#6e6a8666", - "toolbar.hoverBackground": "#6e6a8633", - "tree.indentGuidesStroke": "#908caa", - "walkThrough.embeddedEditorBackground": "#191724", - "welcomePage.background": "#191724", - "welcomePage.buttonBackground": "#1f1d2e", - "welcomePage.buttonHoverBackground": "#26233a", - "widget.shadow": "#1f1d2e4d", - "window.activeBorder": "#1f1d2e", - "window.inactiveBorder": "#1f1d2e" - }, - "tokenColors": [ - { - "scope": ["comment"], - "settings": { - "foreground": "#6e6a86", - "fontStyle": "italic" - } - }, - { - "scope": ["constant"], - "settings": { - "foreground": "#31748f" - } - }, - { - "scope": ["constant.numeric", "constant.language"], - "settings": { - "foreground": "#ebbcba" - } - }, - { - "scope": ["entity.name"], - "settings": { - "foreground": "#ebbcba" - } - }, - { - "scope": [ - "entity.name.section", - "entity.name.tag", - "entity.name.namespace", - "entity.name.type" - ], - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": ["entity.other.attribute-name", "entity.other.inherited-class"], - "settings": { - "foreground": "#c4a7e7", - "fontStyle": "italic" - } - }, - { - "scope": ["invalid"], - "settings": { - "foreground": "#eb6f92" - } - }, - { - "scope": ["invalid.deprecated"], - "settings": { - "foreground": "#908caa" - } - }, - { - "scope": ["keyword"], - "settings": { - "foreground": "#31748f" - } - }, - { - "scope": ["markup.inserted.diff"], - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": ["markup.deleted.diff"], - "settings": { - "foreground": "#eb6f92" - } - }, - { - "scope": "markup.heading", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "markup.bold.markdown", - "settings": { - "fontStyle": "bold" - } - }, - { - "scope": "markup.italic.markdown", - "settings": { - "fontStyle": "italic" - } - }, - { - "scope": ["meta.diff.range"], - "settings": { - "foreground": "#c4a7e7" - } - }, - { - "scope": ["meta.tag", "meta.brace"], - "settings": { - "foreground": "#e0def4" - } - }, - { - "scope": ["meta.import", "meta.export"], - "settings": { - "foreground": "#31748f" - } - }, - { - "scope": "meta.directive.vue", - "settings": { - "foreground": "#c4a7e7", - "fontStyle": "italic" - } - }, - { - "scope": "meta.property-name.css", - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": "meta.property-value.css", - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": "meta.tag.other.html", - "settings": { - "foreground": "#908caa" - } - }, - { - "scope": ["punctuation"], - "settings": { - "foreground": "#908caa" - } - }, - { - "scope": ["punctuation.accessor"], - "settings": { - "foreground": "#31748f" - } - }, - { - "scope": ["punctuation.definition.string"], - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": ["punctuation.definition.tag"], - "settings": { - "foreground": "#6e6a86" - } - }, - { - "scope": ["storage.type", "storage.modifier"], - "settings": { - "foreground": "#31748f" - } - }, - { - "scope": ["string"], - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": ["support"], - "settings": { - "foreground": "#9ccfd8" - } - }, - { - "scope": ["support.constant"], - "settings": { - "foreground": "#f6c177" - } - }, - { - "scope": ["support.function"], - "settings": { - "foreground": "#eb6f92", - "fontStyle": "italic" - } - }, - { - "scope": ["variable"], - "settings": { - "foreground": "#ebbcba", - "fontStyle": "italic" - } - }, - { - "scope": [ - "variable.other", - "variable.language", - "variable.function", - "variable.argument" - ], - "settings": { - "foreground": "#e0def4" - } - }, - { - "scope": ["variable.parameter"], - "settings": { - "foreground": "#c4a7e7" - } - } - ] + "name": "Rosé Pine", + "type": "dark", + "colors": { + "activityBar.activeBorder": "#e0def4", + "activityBar.background": "#191724", + "activityBar.dropBorder": "#26233a", + "activityBar.foreground": "#e0def4", + "activityBar.inactiveForeground": "#908caa", + "activityBarBadge.background": "#ebbcba", + "activityBarBadge.foreground": "#191724", + "badge.background": "#ebbcba", + "badge.foreground": "#191724", + "banner.background": "#1f1d2e", + "banner.foreground": "#e0def4", + "banner.iconForeground": "#908caa", + "breadcrumb.activeSelectionForeground": "#ebbcba", + "breadcrumb.background": "#191724", + "breadcrumb.focusForeground": "#908caa", + "breadcrumb.foreground": "#6e6a86", + "breadcrumbPicker.background": "#1f1d2e", + "button.background": "#ebbcba", + "button.foreground": "#191724", + "button.hoverBackground": "#ebbcbae6", + "button.secondaryBackground": "#1f1d2e", + "button.secondaryForeground": "#e0def4", + "button.secondaryHoverBackground": "#26233a", + "charts.blue": "#9ccfd8", + "charts.foreground": "#e0def4", + "charts.green": "#31748f", + "charts.lines": "#908caa", + "charts.orange": "#ebbcba", + "charts.purple": "#c4a7e7", + "charts.red": "#eb6f92", + "charts.yellow": "#f6c177", + "checkbox.background": "#1f1d2e", + "checkbox.border": "#6e6a8633", + "checkbox.foreground": "#e0def4", + "debugExceptionWidget.background": "#1f1d2e", + "debugExceptionWidget.border": "#6e6a8633", + "debugIcon.breakpointCurrentStackframeForeground": "#908caa", + "debugIcon.breakpointDisabledForeground": "#908caa", + "debugIcon.breakpointForeground": "#908caa", + "debugIcon.breakpointStackframeForeground": "#908caa", + "debugIcon.breakpointUnverifiedForeground": "#908caa", + "debugIcon.continueForeground": "#908caa", + "debugIcon.disconnectForeground": "#908caa", + "debugIcon.pauseForeground": "#908caa", + "debugIcon.restartForeground": "#908caa", + "debugIcon.startForeground": "#908caa", + "debugIcon.stepBackForeground": "#908caa", + "debugIcon.stepIntoForeground": "#908caa", + "debugIcon.stepOutForeground": "#908caa", + "debugIcon.stepOverForeground": "#908caa", + "debugIcon.stopForeground": "#eb6f92", + "debugToolBar.background": "#1f1d2e", + "debugToolBar.border": "#26233a", + "descriptionForeground": "#908caa", + "diffEditor.border": "#26233a", + "diffEditor.diagonalFill": "#6e6a8666", + "diffEditor.insertedLineBackground": "#9ccfd826", + "diffEditor.insertedTextBackground": "#9ccfd826", + "diffEditor.removedLineBackground": "#eb6f9226", + "diffEditor.removedTextBackground": "#eb6f9226", + "diffEditorOverview.insertedForeground": "#9ccfd880", + "diffEditorOverview.removedForeground": "#eb6f9280", + "dropdown.background": "#1f1d2e", + "dropdown.border": "#6e6a8633", + "dropdown.foreground": "#e0def4", + "dropdown.listBackground": "#1f1d2e", + "editor.background": "#191724", + "editor.findMatchBackground": "#6e6a8666", + "editor.findMatchHighlightBackground": "#6e6a8666", + "editor.findRangeHighlightBackground": "#6e6a8666", + "editor.findRangeHighlightBorder": "#0000", + "editor.focusedStackFrameHighlightBackground": "#6e6a8633", + "editor.foldBackground": "#1f1d2e", + "editor.foreground": "#e0def4", + "editor.hoverHighlightBackground": "#0000", + "editor.inactiveSelectionBackground": "#6e6a861a", + "editor.inlineValuesBackground": "#0000", + "editor.inlineValuesForeground": "#908caa", + "editor.lineHighlightBackground": "#6e6a861a", + "editor.lineHighlightBorder": "#0000", + "editor.linkedEditingBackground": "#1f1d2e", + "editor.rangeHighlightBackground": "#6e6a861a", + "editor.selectionBackground": "#6e6a8633", + "editor.selectionForeground": "#e0def4", + "editor.selectionHighlightBackground": "#6e6a8633", + "editor.selectionHighlightBorder": "#191724", + "editor.snippetFinalTabstopHighlightBackground": "#6e6a8633", + "editor.snippetFinalTabstopHighlightBorder": "#1f1d2e", + "editor.snippetTabstopHighlightBackground": "#6e6a8633", + "editor.snippetTabstopHighlightBorder": "#1f1d2e", + "editor.stackFrameHighlightBackground": "#6e6a8633", + "editor.symbolHighlightBackground": "#6e6a8633", + "editor.symbolHighlightBorder": "#0000", + "editor.wordHighlightBackground": "#6e6a8633", + "editor.wordHighlightBorder": "#0000", + "editor.wordHighlightStrongBackground": "#6e6a8633", + "editor.wordHighlightStrongBorder": "#6e6a8633", + "editorBracketHighlight.foreground1": "#eb6f9280", + "editorBracketHighlight.foreground2": "#31748f80", + "editorBracketHighlight.foreground3": "#f6c17780", + "editorBracketHighlight.foreground4": "#9ccfd880", + "editorBracketHighlight.foreground5": "#ebbcba80", + "editorBracketHighlight.foreground6": "#c4a7e780", + "editorBracketMatch.background": "#0000", + "editorBracketMatch.border": "#908caa", + "editorBracketPairGuide.activeBackground1": "#31748f", + "editorBracketPairGuide.activeBackground2": "#ebbcba", + "editorBracketPairGuide.activeBackground3": "#c4a7e7", + "editorBracketPairGuide.activeBackground4": "#9ccfd8", + "editorBracketPairGuide.activeBackground5": "#f6c177", + "editorBracketPairGuide.activeBackground6": "#eb6f92", + "editorBracketPairGuide.background1": "#31748f80", + "editorBracketPairGuide.background2": "#ebbcba80", + "editorBracketPairGuide.background3": "#c4a7e780", + "editorBracketPairGuide.background4": "#9ccfd880", + "editorBracketPairGuide.background5": "#f6c17780", + "editorBracketPairGuide.background6": "#eb6f9280", + "editorCodeLens.foreground": "#ebbcba", + "editorCursor.background": "#e0def4", + "editorCursor.foreground": "#6e6a86", + "editorError.border": "#0000", + "editorError.foreground": "#eb6f92", + "editorGhostText.foreground": "#908caa", + "editorGroup.border": "#0000", + "editorGroup.dropBackground": "#1f1d2e", + "editorGroup.emptyBackground": "#0000", + "editorGroup.focusedEmptyBorder": "#0000", + "editorGroupHeader.noTabsBackground": "#0000", + "editorGroupHeader.tabsBackground": "#0000", + "editorGroupHeader.tabsBorder": "#0000", + "editorGutter.addedBackground": "#9ccfd8", + "editorGutter.background": "#191724", + "editorGutter.commentRangeForeground": "#908caa", + "editorGutter.deletedBackground": "#eb6f92", + "editorGutter.foldingControlForeground": "#c4a7e7", + "editorGutter.modifiedBackground": "#ebbcba", + "editorHint.border": "#0000", + "editorHint.foreground": "#908caa", + "editorHoverWidget.background": "#1f1d2e", + "editorHoverWidget.border": "#6e6a8680", + "editorHoverWidget.foreground": "#908caa", + "editorHoverWidget.highlightForeground": "#e0def4", + "editorHoverWidget.statusBarBackground": "#0000", + "editorIndentGuide.activeBackground": "#6e6a86", + "editorIndentGuide.background": "#6e6a8666", + "editorInfo.border": "#26233a", + "editorInfo.foreground": "#9ccfd8", + "editorInlayHint.background": "#26233a", + "editorInlayHint.foreground": "#908caa", + "editorInlayHint.parameterBackground": "#26233a", + "editorInlayHint.parameterForeground": "#c4a7e7", + "editorInlayHint.typeBackground": "#26233a", + "editorInlayHint.typeForeground": "#9ccfd8", + "editorLightBulb.foreground": "#31748f", + "editorLightBulbAutoFix.foreground": "#ebbcba", + "editorLineNumber.activeForeground": "#e0def4", + "editorLineNumber.foreground": "#908caa", + "editorLink.activeForeground": "#ebbcba", + "editorMarkerNavigation.background": "#1f1d2e", + "editorMarkerNavigationError.background": "#1f1d2e", + "editorMarkerNavigationInfo.background": "#1f1d2e", + "editorMarkerNavigationWarning.background": "#1f1d2e", + "editorOverviewRuler.addedForeground": "#9ccfd880", + "editorOverviewRuler.background": "#191724", + "editorOverviewRuler.border": "#6e6a8666", + "editorOverviewRuler.bracketMatchForeground": "#908caa", + "editorOverviewRuler.commonContentForeground": "#6e6a861a", + "editorOverviewRuler.currentContentForeground": "#6e6a8633", + "editorOverviewRuler.deletedForeground": "#eb6f9280", + "editorOverviewRuler.errorForeground": "#eb6f9280", + "editorOverviewRuler.findMatchForeground": "#6e6a8666", + "editorOverviewRuler.incomingContentForeground": "#c4a7e780", + "editorOverviewRuler.infoForeground": "#9ccfd880", + "editorOverviewRuler.modifiedForeground": "#ebbcba80", + "editorOverviewRuler.rangeHighlightForeground": "#6e6a8666", + "editorOverviewRuler.selectionHighlightForeground": "#6e6a8666", + "editorOverviewRuler.warningForeground": "#f6c17780", + "editorOverviewRuler.wordHighlightForeground": "#6e6a8633", + "editorOverviewRuler.wordHighlightStrongForeground": "#6e6a8666", + "editorPane.background": "#0000", + "editorRuler.foreground": "#6e6a8666", + "editorSuggestWidget.background": "#1f1d2e", + "editorSuggestWidget.border": "#0000", + "editorSuggestWidget.focusHighlightForeground": "#ebbcba", + "editorSuggestWidget.foreground": "#908caa", + "editorSuggestWidget.highlightForeground": "#ebbcba", + "editorSuggestWidget.selectedBackground": "#6e6a8633", + "editorSuggestWidget.selectedForeground": "#e0def4", + "editorSuggestWidget.selectedIconForeground": "#e0def4", + "editorUnnecessaryCode.border": "#0000", + "editorUnnecessaryCode.opacity": "#e0def480", + "editorWarning.border": "#0000", + "editorWarning.foreground": "#f6c177", + "editorWhitespace.foreground": "#6e6a86", + "editorWidget.background": "#1f1d2e", + "editorWidget.border": "#26233a", + "editorWidget.foreground": "#908caa", + "editorWidget.resizeBorder": "#6e6a86", + "errorForeground": "#eb6f92", + "extensionBadge.remoteBackground": "#c4a7e7", + "extensionBadge.remoteForeground": "#191724", + "extensionButton.prominentBackground": "#ebbcba", + "extensionButton.prominentForeground": "#191724", + "extensionButton.prominentHoverBackground": "#ebbcbae6", + "extensionIcon.preReleaseForeground": "#31748f", + "extensionIcon.starForeground": "#ebbcba", + "extensionIcon.verifiedForeground": "#c4a7e7", + "focusBorder": "#6e6a8633", + "foreground": "#e0def4", + "gitDecoration.addedResourceForeground": "#9ccfd8", + "gitDecoration.conflictingResourceForeground": "#eb6f92", + "gitDecoration.deletedResourceForeground": "#908caa", + "gitDecoration.ignoredResourceForeground": "#6e6a86", + "gitDecoration.modifiedResourceForeground": "#ebbcba", + "gitDecoration.renamedResourceForeground": "#31748f", + "gitDecoration.stageDeletedResourceForeground": "#eb6f92", + "gitDecoration.stageModifiedResourceForeground": "#c4a7e7", + "gitDecoration.submoduleResourceForeground": "#f6c177", + "gitDecoration.untrackedResourceForeground": "#f6c177", + "icon.foreground": "#908caa", + "input.background": "#26233a80", + "input.border": "#6e6a8633", + "input.foreground": "#e0def4", + "input.placeholderForeground": "#908caa", + "inputOption.activeBackground": "#ebbcba26", + "inputOption.activeForeground": "#ebbcba", + "inputValidation.errorBackground": "#1f1d2e", + "inputValidation.errorBorder": "#6e6a8666", + "inputValidation.errorForeground": "#eb6f92", + "inputValidation.infoBackground": "#1f1d2e", + "inputValidation.infoBorder": "#6e6a8666", + "inputValidation.infoForeground": "#9ccfd8", + "inputValidation.warningBackground": "#1f1d2e", + "inputValidation.warningBorder": "#6e6a8666", + "inputValidation.warningForeground": "#9ccfd880", + "keybindingLabel.background": "#26233a", + "keybindingLabel.border": "#6e6a8666", + "keybindingLabel.bottomBorder": "#6e6a8666", + "keybindingLabel.foreground": "#c4a7e7", + "keybindingTable.headerBackground": "#26233a", + "keybindingTable.rowsBackground": "#1f1d2e", + "list.activeSelectionBackground": "#6e6a8633", + "list.activeSelectionForeground": "#e0def4", + "list.deemphasizedForeground": "#908caa", + "list.dropBackground": "#1f1d2e", + "list.errorForeground": "#eb6f92", + "list.filterMatchBackground": "#1f1d2e", + "list.filterMatchBorder": "#ebbcba", + "list.focusBackground": "#6e6a8666", + "list.focusForeground": "#e0def4", + "list.focusOutline": "#6e6a8633", + "list.highlightForeground": "#ebbcba", + "list.hoverBackground": "#6e6a861a", + "list.hoverForeground": "#e0def4", + "list.inactiveFocusBackground": "#6e6a861a", + "list.inactiveSelectionBackground": "#1f1d2e", + "list.inactiveSelectionForeground": "#e0def4", + "list.invalidItemForeground": "#eb6f92", + "list.warningForeground": "#f6c177", + "listFilterWidget.background": "#1f1d2e", + "listFilterWidget.noMatchesOutline": "#eb6f92", + "listFilterWidget.outline": "#26233a", + "menu.background": "#1f1d2e", + "menu.border": "#6e6a861a", + "menu.foreground": "#e0def4", + "menu.selectionBackground": "#6e6a8633", + "menu.selectionBorder": "#26233a", + "menu.selectionForeground": "#e0def4", + "menu.separatorBackground": "#6e6a8666", + "menubar.selectionBackground": "#6e6a8633", + "menubar.selectionBorder": "#6e6a861a", + "menubar.selectionForeground": "#e0def4", + "merge.border": "#26233a", + "merge.commonContentBackground": "#6e6a8633", + "merge.commonHeaderBackground": "#6e6a8633", + "merge.currentContentBackground": "#f6c17780", + "merge.currentHeaderBackground": "#f6c17780", + "merge.incomingContentBackground": "#9ccfd880", + "merge.incomingHeaderBackground": "#9ccfd880", + "minimap.background": "#1f1d2e", + "minimap.errorHighlight": "#eb6f9280", + "minimap.findMatchHighlight": "#6e6a8633", + "minimap.selectionHighlight": "#6e6a8633", + "minimap.warningHighlight": "#f6c17780", + "minimapGutter.addedBackground": "#9ccfd8", + "minimapGutter.deletedBackground": "#eb6f92", + "minimapGutter.modifiedBackground": "#ebbcba", + "minimapSlider.activeBackground": "#6e6a8666", + "minimapSlider.background": "#6e6a8633", + "minimapSlider.hoverBackground": "#6e6a8633", + "notebook.cellBorderColor": "#9ccfd880", + "notebook.cellEditorBackground": "#1f1d2e", + "notebook.cellHoverBackground": "#26233a80", + "notebook.focusedCellBackground": "#6e6a861a", + "notebook.focusedCellBorder": "#9ccfd8", + "notebook.outputContainerBackgroundColor": "#6e6a861a", + "notificationCenter.border": "#6e6a8633", + "notificationCenterHeader.background": "#1f1d2e", + "notificationCenterHeader.foreground": "#908caa", + "notificationLink.foreground": "#c4a7e7", + "notifications.background": "#1f1d2e", + "notifications.border": "#6e6a8633", + "notifications.foreground": "#e0def4", + "notificationsErrorIcon.foreground": "#eb6f92", + "notificationsInfoIcon.foreground": "#9ccfd8", + "notificationsWarningIcon.foreground": "#f6c177", + "notificationToast.border": "#6e6a8633", + "panel.background": "#1f1d2e", + "panel.border": "#0000", + "panel.dropBorder": "#26233a", + "panelInput.border": "#1f1d2e", + "panelSection.dropBackground": "#6e6a8633", + "panelSectionHeader.background": "#1f1d2e", + "panelSectionHeader.foreground": "#e0def4", + "panelTitle.activeBorder": "#6e6a8666", + "panelTitle.activeForeground": "#e0def4", + "panelTitle.inactiveForeground": "#908caa", + "peekView.border": "#26233a", + "peekViewEditor.background": "#1f1d2e", + "peekViewEditor.matchHighlightBackground": "#6e6a8666", + "peekViewResult.background": "#1f1d2e", + "peekViewResult.fileForeground": "#908caa", + "peekViewResult.lineForeground": "#908caa", + "peekViewResult.matchHighlightBackground": "#6e6a8666", + "peekViewResult.selectionBackground": "#6e6a8633", + "peekViewResult.selectionForeground": "#e0def4", + "peekViewTitle.background": "#26233a", + "peekViewTitleDescription.foreground": "#908caa", + "pickerGroup.border": "#6e6a8666", + "pickerGroup.foreground": "#c4a7e7", + "ports.iconRunningProcessForeground": "#ebbcba", + "problemsErrorIcon.foreground": "#eb6f92", + "problemsInfoIcon.foreground": "#9ccfd8", + "problemsWarningIcon.foreground": "#f6c177", + "progressBar.background": "#ebbcba", + "quickInput.background": "#1f1d2e", + "quickInput.foreground": "#908caa", + "quickInputList.focusBackground": "#6e6a8633", + "quickInputList.focusForeground": "#e0def4", + "quickInputList.focusIconForeground": "#e0def4", + "scrollbar.shadow": "#1f1d2e4d", + "scrollbarSlider.activeBackground": "#31748f80", + "scrollbarSlider.background": "#6e6a8633", + "scrollbarSlider.hoverBackground": "#6e6a8666", + "searchEditor.findMatchBackground": "#6e6a8633", + "selection.background": "#6e6a8666", + "settings.focusedRowBackground": "#1f1d2e", + "settings.headerForeground": "#e0def4", + "settings.modifiedItemIndicator": "#ebbcba", + "settings.focusedRowBorder": "#6e6a8633", + "settings.rowHoverBackground": "#1f1d2e", + "sideBar.background": "#191724", + "sideBar.dropBackground": "#1f1d2e", + "sideBar.foreground": "#908caa", + "sideBarSectionHeader.background": "#0000", + "sideBarSectionHeader.border": "#6e6a8633", + "statusBar.background": "#191724", + "statusBar.debuggingBackground": "#c4a7e7", + "statusBar.debuggingForeground": "#191724", + "statusBar.foreground": "#908caa", + "statusBar.noFolderBackground": "#191724", + "statusBar.noFolderForeground": "#908caa", + "statusBarItem.activeBackground": "#6e6a8666", + "statusBarItem.hoverBackground": "#6e6a8633", + "statusBarItem.prominentBackground": "#26233a", + "statusBarItem.prominentForeground": "#e0def4", + "statusBarItem.prominentHoverBackground": "#6e6a8633", + "statusBarItem.remoteBackground": "#191724", + "statusBarItem.remoteForeground": "#f6c177", + "statusBarItem.errorBackground": "#191724", + "statusBarItem.errorForeground": "#eb6f92", + "symbolIcon.arrayForeground": "#908caa", + "symbolIcon.classForeground": "#908caa", + "symbolIcon.colorForeground": "#908caa", + "symbolIcon.constantForeground": "#908caa", + "symbolIcon.constructorForeground": "#908caa", + "symbolIcon.enumeratorForeground": "#908caa", + "symbolIcon.enumeratorMemberForeground": "#908caa", + "symbolIcon.eventForeground": "#908caa", + "symbolIcon.fieldForeground": "#908caa", + "symbolIcon.fileForeground": "#908caa", + "symbolIcon.folderForeground": "#908caa", + "symbolIcon.functionForeground": "#908caa", + "symbolIcon.interfaceForeground": "#908caa", + "symbolIcon.keyForeground": "#908caa", + "symbolIcon.keywordForeground": "#908caa", + "symbolIcon.methodForeground": "#908caa", + "symbolIcon.moduleForeground": "#908caa", + "symbolIcon.namespaceForeground": "#908caa", + "symbolIcon.nullForeground": "#908caa", + "symbolIcon.numberForeground": "#908caa", + "symbolIcon.objectForeground": "#908caa", + "symbolIcon.operatorForeground": "#908caa", + "symbolIcon.packageForeground": "#908caa", + "symbolIcon.propertyForeground": "#908caa", + "symbolIcon.referenceForeground": "#908caa", + "symbolIcon.snippetForeground": "#908caa", + "symbolIcon.stringForeground": "#908caa", + "symbolIcon.structForeground": "#908caa", + "symbolIcon.textForeground": "#908caa", + "symbolIcon.typeParameterForeground": "#908caa", + "symbolIcon.unitForeground": "#908caa", + "symbolIcon.variableForeground": "#908caa", + "tab.activeBackground": "#6e6a861a", + "tab.activeForeground": "#e0def4", + "tab.activeModifiedBorder": "#9ccfd8", + "tab.border": "#0000", + "tab.hoverBackground": "#6e6a8633", + "tab.inactiveBackground": "#0000", + "tab.inactiveForeground": "#908caa", + "tab.inactiveModifiedBorder": "#9ccfd880", + "tab.lastPinnedBorder": "#6e6a86", + "tab.unfocusedActiveBackground": "#0000", + "tab.unfocusedHoverBackground": "#0000", + "tab.unfocusedInactiveBackground": "#0000", + "tab.unfocusedInactiveModifiedBorder": "#9ccfd880", + "terminal.ansiBlack": "#26233a", + "terminal.ansiBlue": "#9ccfd8", + "terminal.ansiBrightBlack": "#908caa", + "terminal.ansiBrightBlue": "#9ccfd8", + "terminal.ansiBrightCyan": "#ebbcba", + "terminal.ansiBrightGreen": "#31748f", + "terminal.ansiBrightMagenta": "#c4a7e7", + "terminal.ansiBrightRed": "#eb6f92", + "terminal.ansiBrightWhite": "#e0def4", + "terminal.ansiBrightYellow": "#f6c177", + "terminal.ansiCyan": "#ebbcba", + "terminal.ansiGreen": "#31748f", + "terminal.ansiMagenta": "#c4a7e7", + "terminal.ansiRed": "#eb6f92", + "terminal.ansiWhite": "#e0def4", + "terminal.ansiYellow": "#f6c177", + "terminal.dropBackground": "#6e6a8633", + "terminal.foreground": "#e0def4", + "terminal.selectionBackground": "#6e6a8633", + "terminal.tab.activeBorder": "#e0def4", + "terminalCursor.background": "#e0def4", + "terminalCursor.foreground": "#6e6a86", + "textBlockQuote.background": "#1f1d2e", + "textBlockQuote.border": "#6e6a8633", + "textCodeBlock.background": "#1f1d2e", + "textLink.activeForeground": "#c4a7e7e6", + "textLink.foreground": "#c4a7e7", + "textPreformat.foreground": "#f6c177", + "textSeparator.foreground": "#908caa", + "titleBar.activeBackground": "#191724", + "titleBar.activeForeground": "#908caa", + "titleBar.inactiveBackground": "#1f1d2e", + "titleBar.inactiveForeground": "#908caa", + "toolbar.activeBackground": "#6e6a8666", + "toolbar.hoverBackground": "#6e6a8633", + "tree.indentGuidesStroke": "#908caa", + "walkThrough.embeddedEditorBackground": "#191724", + "welcomePage.background": "#191724", + "welcomePage.buttonBackground": "#1f1d2e", + "welcomePage.buttonHoverBackground": "#26233a", + "widget.shadow": "#1f1d2e4d", + "window.activeBorder": "#1f1d2e", + "window.inactiveBorder": "#1f1d2e" + }, + "tokenColors": [ + { + "scope": ["comment"], + "settings": { + "foreground": "#6e6a86", + "fontStyle": "italic" + } + }, + { + "scope": ["constant"], + "settings": { + "foreground": "#31748f" + } + }, + { + "scope": ["constant.numeric", "constant.language"], + "settings": { + "foreground": "#ebbcba" + } + }, + { + "scope": ["entity.name"], + "settings": { + "foreground": "#ebbcba" + } + }, + { + "scope": [ + "entity.name.section", + "entity.name.tag", + "entity.name.namespace", + "entity.name.type" + ], + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": ["entity.other.attribute-name", "entity.other.inherited-class"], + "settings": { + "foreground": "#c4a7e7", + "fontStyle": "italic" + } + }, + { + "scope": ["invalid"], + "settings": { + "foreground": "#eb6f92" + } + }, + { + "scope": ["invalid.deprecated"], + "settings": { + "foreground": "#908caa" + } + }, + { + "scope": ["keyword"], + "settings": { + "foreground": "#31748f" + } + }, + { + "scope": ["markup.inserted.diff"], + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": ["markup.deleted.diff"], + "settings": { + "foreground": "#eb6f92" + } + }, + { + "scope": "markup.heading", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.bold.markdown", + "settings": { + "fontStyle": "bold" + } + }, + { + "scope": "markup.italic.markdown", + "settings": { + "fontStyle": "italic" + } + }, + { + "scope": ["meta.diff.range"], + "settings": { + "foreground": "#c4a7e7" + } + }, + { + "scope": ["meta.tag", "meta.brace"], + "settings": { + "foreground": "#e0def4" + } + }, + { + "scope": ["meta.import", "meta.export"], + "settings": { + "foreground": "#31748f" + } + }, + { + "scope": "meta.directive.vue", + "settings": { + "foreground": "#c4a7e7", + "fontStyle": "italic" + } + }, + { + "scope": "meta.property-name.css", + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": "meta.property-value.css", + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": "meta.tag.other.html", + "settings": { + "foreground": "#908caa" + } + }, + { + "scope": ["punctuation"], + "settings": { + "foreground": "#908caa" + } + }, + { + "scope": ["punctuation.accessor"], + "settings": { + "foreground": "#31748f" + } + }, + { + "scope": ["punctuation.definition.string"], + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": ["punctuation.definition.tag"], + "settings": { + "foreground": "#6e6a86" + } + }, + { + "scope": ["storage.type", "storage.modifier"], + "settings": { + "foreground": "#31748f" + } + }, + { + "scope": ["string"], + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": ["support"], + "settings": { + "foreground": "#9ccfd8" + } + }, + { + "scope": ["support.constant"], + "settings": { + "foreground": "#f6c177" + } + }, + { + "scope": ["support.function"], + "settings": { + "foreground": "#eb6f92", + "fontStyle": "italic" + } + }, + { + "scope": ["variable"], + "settings": { + "foreground": "#ebbcba", + "fontStyle": "italic" + } + }, + { + "scope": [ + "variable.other", + "variable.language", + "variable.function", + "variable.argument" + ], + "settings": { + "foreground": "#e0def4" + } + }, + { + "scope": ["variable.parameter"], + "settings": { + "foreground": "#c4a7e7" + } + } + ] } diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 460903e2e5..2e5cf835ab 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -19,12 +19,12 @@ pub fn rose_pine() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x000000ff).into()), - border_variant: Some(rgba(0x000000ff).into()), + border: Some(rgba(0x00000000).into()), + border_variant: Some(rgba(0x00000000).into()), border_focused: Some(rgba(0x6e6a8633).into()), - border_selected: Some(rgba(0x000000ff).into()), - border_transparent: Some(rgba(0x000000ff).into()), - border_disabled: Some(rgba(0x000000ff).into()), + border_selected: Some(rgba(0x00000000).into()), + border_transparent: Some(rgba(0x00000000).into()), + border_disabled: Some(rgba(0x00000000).into()), elevated_surface_background: Some(rgba(0x1f1d2eff).into()), surface_background: Some(rgba(0x1f1d2eff).into()), background: Some(rgba(0x191724ff).into()), @@ -38,7 +38,7 @@ pub fn rose_pine() -> UserThemeFamily { title_bar_background: Some(rgba(0x191724ff).into()), toolbar_background: Some(rgba(0x1f1d2eff).into()), tab_bar_background: Some(rgba(0x1f1d2eff).into()), - tab_inactive_background: Some(rgba(0x000000ff).into()), + tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), editor_background: Some(rgba(0x191724ff).into()), editor_gutter_background: Some(rgba(0x191724ff).into()), @@ -266,12 +266,12 @@ pub fn rose_pine() -> UserThemeFamily { appearance: Appearance::Dark, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x000000ff).into()), - border_variant: Some(rgba(0x000000ff).into()), + border: Some(rgba(0x00000000).into()), + border_variant: Some(rgba(0x00000000).into()), border_focused: Some(rgba(0x817c9c26).into()), - border_selected: Some(rgba(0x000000ff).into()), - border_transparent: Some(rgba(0x000000ff).into()), - border_disabled: Some(rgba(0x000000ff).into()), + border_selected: Some(rgba(0x00000000).into()), + border_transparent: Some(rgba(0x00000000).into()), + border_disabled: Some(rgba(0x00000000).into()), elevated_surface_background: Some(rgba(0x2a273fff).into()), surface_background: Some(rgba(0x2a273fff).into()), background: Some(rgba(0x232136ff).into()), @@ -285,7 +285,7 @@ pub fn rose_pine() -> UserThemeFamily { title_bar_background: Some(rgba(0x232136ff).into()), toolbar_background: Some(rgba(0x2a273fff).into()), tab_bar_background: Some(rgba(0x2a273fff).into()), - tab_inactive_background: Some(rgba(0x000000ff).into()), + tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x817c9c14).into()), editor_background: Some(rgba(0x232136ff).into()), editor_gutter_background: Some(rgba(0x232136ff).into()), @@ -513,12 +513,12 @@ pub fn rose_pine() -> UserThemeFamily { appearance: Appearance::Light, styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { - border: Some(rgba(0x000000ff).into()), - border_variant: Some(rgba(0x000000ff).into()), + border: Some(rgba(0x00000000).into()), + border_variant: Some(rgba(0x00000000).into()), border_focused: Some(rgba(0x6e6a8614).into()), - border_selected: Some(rgba(0x000000ff).into()), - border_transparent: Some(rgba(0x000000ff).into()), - border_disabled: Some(rgba(0x000000ff).into()), + border_selected: Some(rgba(0x00000000).into()), + border_transparent: Some(rgba(0x00000000).into()), + border_disabled: Some(rgba(0x00000000).into()), elevated_surface_background: Some(rgba(0xfffaf3ff).into()), surface_background: Some(rgba(0xfffaf3ff).into()), background: Some(rgba(0xfaf4edff).into()), @@ -532,7 +532,7 @@ pub fn rose_pine() -> UserThemeFamily { title_bar_background: Some(rgba(0xfaf4edff).into()), toolbar_background: Some(rgba(0xfffaf3ff).into()), tab_bar_background: Some(rgba(0xfffaf3ff).into()), - tab_inactive_background: Some(rgba(0x000000ff).into()), + tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), editor_background: Some(rgba(0xfaf4edff).into()), editor_gutter_background: Some(rgba(0xfaf4edff).into()), From a283cbaf8f5a3a1d1d2ac881c259d82bbc6e9bc1 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Fri, 8 Dec 2023 17:59:52 +0100 Subject: [PATCH 053/110] Re-enable navigation with mouse navigation buttons --- crates/workspace2/src/pane.rs | 349 +++++++++++++++++----------------- 1 file changed, 170 insertions(+), 179 deletions(-) diff --git a/crates/workspace2/src/pane.rs b/crates/workspace2/src/pane.rs index 3b1c00994f..713fa711ad 100644 --- a/crates/workspace2/src/pane.rs +++ b/crates/workspace2/src/pane.rs @@ -9,8 +9,8 @@ use collections::{HashMap, HashSet, VecDeque}; use gpui::{ actions, overlay, prelude::*, rems, Action, AnchorCorner, AnyWeakView, AppContext, AsyncWindowContext, DismissEvent, Div, EntityId, EventEmitter, FocusHandle, Focusable, - FocusableView, Model, Pixels, Point, PromptLevel, Render, Task, View, ViewContext, - VisualContext, WeakView, WindowContext, + FocusableView, Model, MouseButton, NavigationDirection, Pixels, Point, PromptLevel, Render, + Task, View, ViewContext, VisualContext, WeakView, WindowContext, }; use parking_lot::Mutex; use project::{Project, ProjectEntryId, ProjectPath}; @@ -2139,183 +2139,174 @@ impl Render for Pane { .justify_center() .child(Label::new("Open a file or project to get started.").color(Color::Muted)) }) - - // enum MouseNavigationHandler {} - - // MouseEventHandler::new::(0, cx, |_, cx| { - // let active_item_index = self.active_item_index; - - // if let Some(active_item) = self.active_item() { - // Flex::column() - // .with_child({ - // let theme = theme::current(cx).clone(); - - // let mut stack = Stack::new(); - - // enum TabBarEventHandler {} - // stack.add_child( - // MouseEventHandler::new::(0, cx, |_, _| { - // Empty::new() - // .contained() - // .with_style(theme.workspace.tab_bar.container) - // }) - // .on_down( - // MouseButton::Left, - // move |_, this, cx| { - // this.activate_item(active_item_index, true, true, cx); - // }, - // ), - // ); - // let tooltip_style = theme.tooltip.clone(); - // let tab_bar_theme = theme.workspace.tab_bar.clone(); - - // let nav_button_height = tab_bar_theme.height; - // let button_style = tab_bar_theme.nav_button; - // let border_for_nav_buttons = tab_bar_theme - // .tab_style(false, false) - // .container - // .border - // .clone(); - - // let mut tab_row = Flex::row() - // .with_child(nav_button( - // "icons/arrow_left.svg", - // button_style.clone(), - // nav_button_height, - // tooltip_style.clone(), - // self.can_navigate_backward(), - // { - // move |pane, cx| { - // if let Some(workspace) = pane.workspace.upgrade(cx) { - // let pane = cx.weak_handle(); - // cx.window_context().defer(move |cx| { - // workspace.update(cx, |workspace, cx| { - // workspace - // .go_back(pane, cx) - // .detach_and_log_err(cx) - // }) - // }) - // } - // } - // }, - // super::GoBack, - // "Go Back", - // cx, - // )) - // .with_child( - // nav_button( - // "icons/arrow_right.svg", - // button_style.clone(), - // nav_button_height, - // tooltip_style, - // self.can_navigate_forward(), - // { - // move |pane, cx| { - // if let Some(workspace) = pane.workspace.upgrade(cx) { - // let pane = cx.weak_handle(); - // cx.window_context().defer(move |cx| { - // workspace.update(cx, |workspace, cx| { - // workspace - // .go_forward(pane, cx) - // .detach_and_log_err(cx) - // }) - // }) - // } - // } - // }, - // super::GoForward, - // "Go Forward", - // cx, - // ) - // .contained() - // .with_border(border_for_nav_buttons), - // ) - // .with_child(self.render_tabs(cx).flex(1., true).into_any_named("tabs")); - - // if self.has_focus { - // let render_tab_bar_buttons = self.render_tab_bar_buttons.clone(); - // tab_row.add_child( - // (render_tab_bar_buttons)(self, cx) - // .contained() - // .with_style(theme.workspace.tab_bar.pane_button_container) - // .flex(1., false) - // .into_any(), - // ) - // } - - // stack.add_child(tab_row); - // stack - // .constrained() - // .with_height(theme.workspace.tab_bar.height) - // .flex(1., false) - // .into_any_named("tab bar") - // }) - // .with_child({ - // enum PaneContentTabDropTarget {} - // dragged_item_receiver::( - // self, - // 0, - // self.active_item_index + 1, - // !self.can_split, - // if self.can_split { Some(100.) } else { None }, - // cx, - // { - // let toolbar = self.toolbar.clone(); - // let toolbar_hidden = toolbar.read(cx).hidden(); - // move |_, cx| { - // Flex::column() - // .with_children( - // (!toolbar_hidden) - // .then(|| ChildView::new(&toolbar, cx).expanded()), - // ) - // .with_child( - // ChildView::new(active_item.as_any(), cx).flex(1., true), - // ) - // } - // }, - // ) - // .flex(1., true) - // }) - // .with_child(ChildView::new(&self.tab_context_menu, cx)) - // .into_any() - // } else { - // enum EmptyPane {} - // let theme = theme::current(cx).clone(); - - // dragged_item_receiver::(self, 0, 0, false, None, cx, |_, cx| { - // self.render_blank_pane(&theme, cx) - // }) - // .on_down(MouseButton::Left, |_, _, cx| { - // cx.focus_parent(); - // }) - // .into_any() - // } - // }) - // .on_down( - // MouseButton::Navigate(NavigationDirection::Back), - // move |_, pane, cx| { - // if let Some(workspace) = pane.workspace.upgrade(cx) { - // let pane = cx.weak_handle(); - // cx.window_context().defer(move |cx| { - // workspace.update(cx, |workspace, cx| { - // workspace.go_back(pane, cx).detach_and_log_err(cx) - // }) - // }) - // } - // }, - // ) - // .on_down(MouseButton::Navigate(NavigationDirection::Forward), { - // move |_, pane, cx| { - // if let Some(workspace) = pane.workspace.upgrade(cx) { - // let pane = cx.weak_handle(); - // cx.window_context().defer(move |cx| { - // workspace.update(cx, |workspace, cx| { - // workspace.go_forward(pane, cx).detach_and_log_err(cx) - // }) - // }) - // } - // } - // }) + // enum MouseNavigationHandler {} + // MouseEventHandler::new::(0, cx, |_, cx| { + // let active_item_index = self.active_item_index; + // if let Some(active_item) = self.active_item() { + // Flex::column() + // .with_child({ + // let theme = theme::current(cx).clone(); + // let mut stack = Stack::new(); + // enum TabBarEventHandler {} + // stack.add_child( + // MouseEventHandler::new::(0, cx, |_, _| { + // Empty::new() + // .contained() + // .with_style(theme.workspace.tab_bar.container) + // }) + // .on_down( + // MouseButton::Left, + // move |_, this, cx| { + // this.activate_item(active_item_index, true, true, cx); + // }, + // ), + // ); + // let tooltip_style = theme.tooltip.clone(); + // let tab_bar_theme = theme.workspace.tab_bar.clone(); + // let nav_button_height = tab_bar_theme.height; + // let button_style = tab_bar_theme.nav_button; + // let border_for_nav_buttons = tab_bar_theme + // .tab_style(false, false) + // .container + // .border + // .clone(); + // let mut tab_row = Flex::row() + // .with_child(nav_button( + // "icons/arrow_left.svg", + // button_style.clone(), + // nav_button_height, + // tooltip_style.clone(), + // self.can_navigate_backward(), + // { + // move |pane, cx| { + // if let Some(workspace) = pane.workspace.upgrade(cx) { + // let pane = cx.weak_handle(); + // cx.window_context().defer(move |cx| { + // workspace.update(cx, |workspace, cx| { + // workspace + // .go_back(pane, cx) + // .detach_and_log_err(cx) + // }) + // }) + // } + // } + // }, + // super::GoBack, + // "Go Back", + // cx, + // )) + // .with_child( + // nav_button( + // "icons/arrow_right.svg", + // button_style.clone(), + // nav_button_height, + // tooltip_style, + // self.can_navigate_forward(), + // { + // move |pane, cx| { + // if let Some(workspace) = pane.workspace.upgrade(cx) { + // let pane = cx.weak_handle(); + // cx.window_context().defer(move |cx| { + // workspace.update(cx, |workspace, cx| { + // workspace + // .go_forward(pane, cx) + // .detach_and_log_err(cx) + // }) + // }) + // } + // } + // }, + // super::GoForward, + // "Go Forward", + // cx, + // ) + // .contained() + // .with_border(border_for_nav_buttons), + // ) + // .with_child(self.render_tabs(cx).flex(1., true).into_any_named("tabs")); + // if self.has_focus { + // let render_tab_bar_buttons = self.render_tab_bar_buttons.clone(); + // tab_row.add_child( + // (render_tab_bar_buttons)(self, cx) + // .contained() + // .with_style(theme.workspace.tab_bar.pane_button_container) + // .flex(1., false) + // .into_any(), + // ) + // } + // stack.add_child(tab_row); + // stack + // .constrained() + // .with_height(theme.workspace.tab_bar.height) + // .flex(1., false) + // .into_any_named("tab bar") + // }) + // .with_child({ + // enum PaneContentTabDropTarget {} + // dragged_item_receiver::( + // self, + // 0, + // self.active_item_index + 1, + // !self.can_split, + // if self.can_split { Some(100.) } else { None }, + // cx, + // { + // let toolbar = self.toolbar.clone(); + // let toolbar_hidden = toolbar.read(cx).hidden(); + // move |_, cx| { + // Flex::column() + // .with_children( + // (!toolbar_hidden) + // .then(|| ChildView::new(&toolbar, cx).expanded()), + // ) + // .with_child( + // ChildView::new(active_item.as_any(), cx).flex(1., true), + // ) + // } + // }, + // ) + // .flex(1., true) + // }) + // .with_child(ChildView::new(&self.tab_context_menu, cx)) + // .into_any() + // } else { + // enum EmptyPane {} + // let theme = theme::current(cx).clone(); + // dragged_item_receiver::(self, 0, 0, false, None, cx, |_, cx| { + // self.render_blank_pane(&theme, cx) + // }) + // .on_down(MouseButton::Left, |_, _, cx| { + // cx.focus_parent(); + // }) + // .into_any() + // } + // }) + .on_mouse_down( + MouseButton::Navigate(NavigationDirection::Back), + cx.listener(|pane, _, cx| { + if let Some(workspace) = pane.workspace.upgrade() { + let pane = cx.view().downgrade(); + cx.window_context().defer(move |cx| { + workspace.update(cx, |workspace, cx| { + workspace.go_back(pane, cx).detach_and_log_err(cx) + }) + }) + } + }), + ) + .on_mouse_down( + MouseButton::Navigate(NavigationDirection::Forward), + cx.listener(|pane, _, cx| { + if let Some(workspace) = pane.workspace.upgrade() { + let pane = cx.view().downgrade(); + cx.window_context().defer(move |cx| { + workspace.update(cx, |workspace, cx| { + workspace.go_forward(pane, cx).detach_and_log_err(cx) + }) + }) + } + }), + ) // .into_any_named("pane") } From 970c7b89877fb12ca571fa1514e75bf7f29f417a Mon Sep 17 00:00:00 2001 From: Julia Date: Fri, 8 Dec 2023 12:02:31 -0500 Subject: [PATCH 054/110] zed2: Properly position terminal context menu & hide on dismiss --- crates/terminal_view2/src/terminal_view.rs | 42 ++++++++++++++-------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/crates/terminal_view2/src/terminal_view.rs b/crates/terminal_view2/src/terminal_view.rs index 5a81b494b3..c4f1512e8c 100644 --- a/crates/terminal_view2/src/terminal_view.rs +++ b/crates/terminal_view2/src/terminal_view.rs @@ -9,9 +9,10 @@ pub mod terminal_panel; // use crate::terminal_element::TerminalElement; use editor::{scroll::autoscroll::Autoscroll, Editor}; use gpui::{ - div, Action, AnyElement, AppContext, Div, EventEmitter, FocusEvent, FocusHandle, Focusable, - FocusableElement, FocusableView, KeyContext, KeyDownEvent, Keystroke, Model, MouseButton, - MouseDownEvent, Pixels, Render, Subscription, Task, View, VisualContext, WeakView, + div, overlay, Action, AnyElement, AppContext, DismissEvent, Div, EventEmitter, FocusEvent, + FocusHandle, Focusable, FocusableElement, FocusableView, KeyContext, KeyDownEvent, Keystroke, + Model, MouseButton, MouseDownEvent, Pixels, Render, Subscription, Task, View, VisualContext, + WeakView, }; use language::Bias; use persistence::TERMINAL_DB; @@ -81,7 +82,7 @@ pub struct TerminalView { has_new_content: bool, //Currently using iTerm bell, show bell emoji in tab until input is received has_bell: bool, - context_menu: Option>, + context_menu: Option<(View, gpui::Point, Subscription)>, blink_state: bool, blinking_on: bool, blinking_paused: bool, @@ -312,14 +313,24 @@ impl TerminalView { position: gpui::Point, cx: &mut ViewContext, ) { - self.context_menu = Some(ContextMenu::build(cx, |menu, cx| { + let context_menu = ContextMenu::build(cx, |menu, cx| { menu.action("Clear", Box::new(Clear)) .action("Close", Box::new(CloseActiveItem { save_intent: None })) - })); - // todo!(context menus) - // self.context_menu - // .show(position, AnchorCorner::TopLeft, menu_entries, cx); - // cx.notify(); + }); + + cx.focus_view(&context_menu); + let subscription = + cx.subscribe(&context_menu, |this, _, _: &DismissEvent, cx| { + if this.context_menu.as_ref().is_some_and(|context_menu| { + context_menu.0.focus_handle(cx).contains_focused(cx) + }) { + cx.focus_self(); + } + this.context_menu.take(); + cx.notify(); + }); + + self.context_menu = Some((context_menu, position, subscription)); } fn show_character_palette(&mut self, _: &ShowCharacterPalette, cx: &mut ViewContext) { @@ -658,11 +669,12 @@ impl Render for TerminalView { }), ), ) - .children( - self.context_menu - .clone() - .map(|context_menu| div().z_index(1).absolute().child(context_menu)), - ) + .children(self.context_menu.as_ref().map(|(menu, positon, _)| { + overlay() + .position(*positon) + .anchor(gpui::AnchorCorner::TopLeft) + .child(menu.clone()) + })) .track_focus(&self.focus_handle) .on_focus_in(cx.listener(Self::focus_in)) .on_focus_out(cx.listener(Self::focus_out)) From 8987b2205c5693a08b94cdc0e2865da4727d31a8 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 12:04:24 -0500 Subject: [PATCH 055/110] Fix line endings in Palenight source themes (#3554) This PR fixes the line endings in the Palenight source themes. Release Notes: - N/A --- .../palenight/palenight-mild-contrast.json | 3138 ++++++++-------- .../vscode/palenight/palenight-operator.json | 3280 ++++++++--------- .../src/vscode/palenight/palenight.json | 3138 ++++++++-------- 3 files changed, 4778 insertions(+), 4778 deletions(-) diff --git a/assets/themes/src/vscode/palenight/palenight-mild-contrast.json b/assets/themes/src/vscode/palenight/palenight-mild-contrast.json index 60164e29c7..7533d90ffd 100644 --- a/assets/themes/src/vscode/palenight/palenight-mild-contrast.json +++ b/assets/themes/src/vscode/palenight/palenight-mild-contrast.json @@ -1,1569 +1,1569 @@ -{ - "name": "Palenight (Mild Contrast)", - "author": "Olaolu Olawuyi", - "maintainers": ["Olaolu Olawuyi "], - "type": "dark", - "semanticClass": "palenight-mild-contrast", - "colors": { - "contrastActiveBorder": null, - "contrastBorder": "#2C2F40", - "focusBorder": "#2C2F40", - "foreground": "#ffffff", - "widget.shadow": "#232635", - "selection.background": "#7580B850", - "descriptionForeground": null, - "errorForeground": "#EF5350", - "button.background": "#7e57c2cc", - "button.foreground": "#ffffffcc", - "button.hoverBackground": "#7e57c2", - "dropdown.background": "#292D3E", - "dropdown.border": "#7e57c2", - "dropdown.foreground": "#ffffffcc", - "input.background": "#313850", - "input.border": "#7e57c2", - "input.foreground": "#ffffffcc", - "input.placeholderForeground": "#ffffffcc", - "inputOption.activeBorder": "#ffffffcc", - "inputValidation.errorBackground": "#ef5350f2", - "inputValidation.errorBorder": "#EF5350", - "inputValidation.infoBackground": "#64b5f6f2", - "inputValidation.infoBorder": "#64B5F6", - "inputValidation.warningBackground": "#ffca28f2", - "inputValidation.warningBorder": "#FFCA28", - "scrollbar.shadow": "#292D3E00", - "scrollbarSlider.activeBackground": "#694CA4cc", - "scrollbarSlider.background": "#694CA466", - "scrollbarSlider.hoverBackground": "#694CA4cc", - "badge.background": "#7e57c2", - "badge.foreground": "#ffffff", - "progress.background": "#7e57c2", - "list.activeSelectionBackground": "#7e57c2", - "list.activeSelectionForeground": "#ffffff", - "list.dropBackground": "#2E3245", - "list.focusBackground": "#0000002e", - "list.focusForeground": "#ffffff", - "list.highlightForeground": "#ffffff", - "list.hoverBackground": "#0000001a", - "list.hoverForeground": "#ffffff", - "list.inactiveSelectionBackground": "#929ac90d", - "list.inactiveSelectionForeground": "#929ac9", - "activityBar.background": "#242839", - "activityBar.dropBackground": "#7e57c2e3", - "activityBar.foreground": "#eeffff", - "activityBar.border": "#2E3243", - "activityBarBadge.background": "#7e57c2", - "activityBarBadge.foreground": "#ffffff", - "sideBar.background": "#25293A", - "sideBar.foreground": "#6C739A", - "sideBar.border": "#2C2F40", - "sideBarTitle.foreground": "#eeffff", - "sideBarSectionHeader.background": "#25293A", - "sideBarSectionHeader.foreground": "#eeffff", - "editorGroup.background": "#32374C", - "editorGroup.border": "#2E3245", - "editorGroup.dropBackground": "#7e57c273", - "editorGroupHeader.noTabsBackground": "#32374C", - "editorGroupHeader.tabsBackground": "#31364a", - "editorGroupHeader.tabsBorder": "#2C3041", - "tab.activeBackground": "#25293A", - "tab.activeForeground": "#eeffff", - "tab.border": "#272B3B", - "tab.activeBorder": "#2C3041", - "tab.unfocusedActiveBorder": "#2C3041", - "tab.inactiveBackground": "#31364A", - "tab.inactiveForeground": "#929ac9", - "tab.unfocusedActiveForeground": null, - "tab.unfocusedInactiveForeground": null, - "editor.background": "#292D3E", - "editor.foreground": "#BFC7D5", - "editorLineNumber.foreground": "#4c5374", - "editorLineNumber.activeForeground": "#eeffff", - "editorCursor.foreground": "#7e57c2", - "editorCursor.background": null, - "editor.selectionBackground": "#7580B850", - "editor.selectionHighlightBackground": "#383D51", - "editor.inactiveSelectionBackground": "#7e57c25a", - "editor.wordHighlightBackground": "#32374D", - "editor.wordHighlightStrongBackground": "#2E3250", - "editor.findMatchBackground": "#2e3248fc", - "editor.findMatchHighlightBackground": "#7e57c233", - "editor.findRangeHighlightBackground": null, - "editor.hoverHighlightBackground": "#7e57c25a", - "editor.lineHighlightBackground": "#0003", - "editor.lineHighlightBorder": null, - "editorLink.activeForeground": null, - "editor.rangeHighlightBackground": "#7e57c25a", - "editorWhitespace.foreground": null, - "editorIndentGuide.background": "#4E557980", - "editorRuler.foreground": "#4E557980", - "editorCodeLens.foreground": "#FFCA28", - "editorBracketMatch.background": null, - "editorBracketMatch.border": null, - "editorOverviewRuler.currentContentForeground": "#7e57c2", - "editorOverviewRuler.incomingContentForeground": "#7e57c2", - "editorOverviewRuler.commonContentForeground": "#7e57c2", - "editorError.foreground": "#EF5350", - "editorError.border": null, - "editorWarning.foreground": "#FFCA28", - "editorWarning.border": null, - "editorGutter.background": null, - "editorGutter.modifiedBackground": "#e2b93d", - "editorGutter.addedBackground": "#9CCC65", - "editorGutter.deletedBackground": "#EF5350", - "diffEditor.insertedTextBackground": "#99b76d23", - "diffEditor.removedTextBackground": "#ef535033", - "editorWidget.background": "#31364a", - "editorWidget.border": null, - "editorSuggestWidget.background": "#2C3043", - "editorSuggestWidget.border": "#2B2F40", - "editorSuggestWidget.foreground": "#bfc7d5", - "editorSuggestWidget.highlightForeground": "#ffffff", - "editorSuggestWidget.selectedBackground": "#7e57c2", - "editorHoverWidget.background": "#292D3E", - "editorHoverWidget.border": "#7e57c2", - "debugExceptionWidget.background": "#292D3E", - "debugExceptionWidget.border": "#7e57c2", - "editorMarkerNavigation.background": "#31364a", - "editorMarkerNavigationError.background": "#EF5350", - "editorMarkerNavigationWarning.background": "#FFCA28", - "peekView.border": "#7e57c2", - "peekViewEditor.background": "#232635", - "peekViewEditor.matchHighlightBackground": "#7e57c25a", - "peekViewResult.background": "#2E3245", - "peekViewResult.fileForeground": "#eeffff", - "peekViewResult.lineForeground": "#eeffff", - "peekViewResult.matchHighlightBackground": "#7e57c25a", - "peekViewResult.selectionBackground": "#2E3250", - "peekViewResult.selectionForeground": "#eeffff", - "peekViewTitle.background": "#292D3E", - "peekViewTitleDescription.foreground": "#697098", - "peekViewTitleLabel.foreground": "#eeffff", - "merge.currentHeaderBackground": "#7e57c25a", - "merge.currentContentBackground": null, - "merge.incomingHeaderBackground": "#7e57c25a", - "merge.incomingContentBackground": null, - "merge.border": null, - "panel.background": "#25293A", - "panel.border": "#2C2F40", - "panelTitle.activeBorder": "#7e57c2", - "panelTitle.activeForeground": "#eeffff", - "panelTitle.inactiveForeground": "#bfc7d580", - "statusBar.background": "#25293A", - "statusBar.foreground": "#676E95", - "statusBar.border": "#2C3041", - "statusBar.debuggingBackground": "#202431", - "statusBar.debuggingForeground": null, - "statusBar.debuggingBorder": "#1F2330", - "statusBar.noFolderForeground": null, - "statusBar.noFolderBackground": "#292D3E", - "statusBar.noFolderBorder": "#25293A", - "statusBarItem.activeBackground": "#202431", - "statusBarItem.hoverBackground": "#202431", - "statusBarItem.prominentBackground": "#202431", - "statusBarItem.prominentHoverBackground": "#202431", - "titleBar.activeBackground": "#25293A", - "titleBar.activeForeground": "#eeefff", - "titleBar.border": "#2C3041", - "titleBar.inactiveBackground": "#30364c", - "titleBar.inactiveForeground": null, - "notifications.background": "#292D3E", - "notifications.foreground": "#ffffffcc", - "notificationLink.foreground": "#80CBC4", - "extensionButton.prominentForeground": "#ffffffcc", - "extensionButton.prominentBackground": "#7e57c2cc", - "extensionButton.prominentHoverBackground": "#7e57c2", - "pickerGroup.foreground": "#d1aaff", - "pickerGroup.border": "#2E3245", - "terminal.ansiWhite": "#ffffff", - "terminal.ansiBlack": "#676E95", - "terminal.ansiBlue": "#82AAFF", - "terminal.ansiCyan": "#89DDFF", - "terminal.ansiGreen": "#a9c77d", - "terminal.ansiMagenta": "#C792EA", - "terminal.ansiRed": "#ff5572", - "terminal.ansiYellow": "#FFCB6B", - "terminal.ansiBrightWhite": "#ffffff", - "terminal.ansiBrightBlack": "#676E95", - "terminal.ansiBrightBlue": "#82AAFF", - "terminal.ansiBrightCyan": "#89DDFF", - "terminal.ansiBrightGreen": "#C3E88D", - "terminal.ansiBrightMagenta": "#C792EA", - "terminal.ansiBrightRed": "#ff5572", - "terminal.ansiBrightYellow": "#FFCB6B", - "debugToolBar.background": "#292D3E", - "welcomePage.buttonBackground": null, - "welcomePage.buttonHoverBackground": null, - "walkThrough.embeddedEditorBackground": "#232635", - "gitDecoration.modifiedResourceForeground": "#e2c08de6", - "gitDecoration.deletedResourceForeground": "#EF535090", - "gitDecoration.untrackedResourceForeground": "#a9c77dff", - "gitDecoration.ignoredResourceForeground": "#69709890", - "gitDecoration.conflictingResourceForeground": "#FFEB95CC", - "editorActiveLineNumber.foreground": "#eeffff", - "breadcrumb.foreground": "#6c739a", - "breadcrumb.focusForeground": "#bfc7d5", - "breadcrumb.activeSelectionForeground": "#eeffff", - "breadcrumbPicker.background": "#292D3E" - }, - "tokenColors": [ - { - "name": "Global settings", - "settings": { - "background": "#292D3E", - "foreground": "#bfc7d5" - } - }, - { - "name": "Comment", - "scope": "comment", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "String", - "scope": "string", - "settings": { - "foreground": "#C3E88D" - } - }, - { - "name": "String Quoted", - "scope": "string.quoted", - "settings": { - "foreground": "#C3E88D" - } - }, - { - "name": "String Unquoted", - "scope": "string.unquoted", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Support Constant Math", - "scope": "support.constant.math", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Number", - "scope": ["constant.numeric", "constant.character.numeric"], - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Built-in constant", - "scope": [ - "constant.language", - "punctuation.definition.constant", - "variable.other.constant" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "User-defined constant", - "scope": ["constant.character", "constant.other"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Constant Character Escape", - "scope": "constant.character.escape", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "RegExp String", - "scope": ["string.regexp", "string.regexp keyword.other"], - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Comma in functions", - "scope": "meta.function punctuation.separator.comma", - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "Variable", - "scope": "variable", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Keyword", - "scope": ["punctuation.accessor", "keyword"], - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Storage", - "scope": [ - "storage", - "storage.type", - "meta.var.expr storage.type", - "storage.type.property.js", - "storage.type.property.ts", - "storage.type.property.tsx", - "meta.class meta.method.declaration meta.var.expr storage.type.js" - ], - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Class name", - "scope": ["entity.name.class", "meta.class entity.name.type.class"], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Inherited class", - "scope": "entity.other.inherited-class", - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Function name", - "scope": "entity.name.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Function Parameters", - "scope": "variable.parameter", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "Meta Tag", - "scope": ["punctuation.definition.tag", "meta.tag"], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "HTML Tag names", - "scope": [ - "entity.name.tag support.class.component", - "meta.tag.other.html", - "meta.tag.other.js", - "meta.tag.other.tsx", - "entity.name.tag.tsx", - "entity.name.tag.js", - "entity.name.tag", - "meta.tag.js", - "meta.tag.tsx", - "meta.tag.html" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Tag attribute", - "scope": "entity.other.attribute-name", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Entity Name Tag Custom", - "scope": "entity.name.tag.custom", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Library (function & constant)", - "scope": ["support.function", "support.constant"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Support Constant Property Value meta", - "scope": "support.constant.meta.property-value", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Library class/type", - "scope": ["support.type", "support.class"], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Support Variable DOM", - "scope": "support.variable.dom", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Invalid", - "scope": "invalid", - "settings": { - "background": "#ff2c83", - "foreground": "#ffffff" - } - }, - { - "name": "Invalid deprecated", - "scope": "invalid.deprecated", - "settings": { - "foreground": "#ffffff", - "background": "#d3423e" - } - }, - { - "name": "Keyword Operator", - "scope": "keyword.operator", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Keyword Operator Relational", - "scope": "keyword.operator.relational", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Keyword Operator Assignment", - "scope": "keyword.operator.assignment", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Double-Slashed Comment", - "scope": "comment.line.double-slash", - "settings": { - "foreground": "#697098" - } - }, - { - "name": "Object", - "scope": "object", - "settings": { - "foreground": "#cdebf7" - } - }, - { - "name": "Null", - "scope": "constant.language.null", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Meta Brace", - "scope": "meta.brace", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Meta Delimiter Period", - "scope": "meta.delimiter.period", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Punctuation Definition String", - "scope": "punctuation.definition.string", - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Boolean", - "scope": "constant.language.boolean", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Object Comma", - "scope": "object.comma", - "settings": { - "foreground": "#ffffff" - } - }, - { - "name": "Variable Parameter Function", - "scope": "variable.parameter.function", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Support Type Property Name & entity name tags", - "scope": [ - "support.type.vendored.property-name", - "support.constant.vendored.property-value", - "support.type.property-name", - "meta.property-list entity.name.tag" - ], - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Entity Name tag reference in stylesheets", - "scope": "meta.property-list entity.name.tag.reference", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Constant Other Color RGB Value Punctuation Definition Constant", - "scope": "constant.other.color.rgb-value punctuation.definition.constant", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Constant Other Color", - "scope": "constant.other.color", - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Keyword Other Unit", - "scope": "keyword.other.unit", - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Meta Selector", - "scope": "meta.selector", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Entity Other Attribute Name Id", - "scope": "entity.other.attribute-name.id", - "settings": { - "foreground": "#FAD430" - } - }, - { - "name": "Meta Property Name", - "scope": "meta.property-name", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Doctypes", - "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Punctuation Definition Parameters", - "scope": "punctuation.definition.parameters", - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Keyword Control Operator", - "scope": "keyword.control.operator", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Keyword Operator Logical", - "scope": "keyword.operator.logical", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Variable Instances", - "scope": [ - "variable.instance", - "variable.other.instance", - "variable.reaedwrite.instance", - "variable.other.readwrite.instance" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Variable Property Other", - "scope": ["variable.other.property", "variable.other.object.property"], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Entity Name Function", - "scope": "entity.name.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Keyword Operator Comparison", - "scope": "keyword.operator.comparison", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Support Constant, `new` keyword, Special Method Keyword", - "scope": [ - "support.constant", - "keyword.other.special-method", - "keyword.other.new" - ], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Support Function", - "scope": "support.function", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Invalid Broken", - "scope": "invalid.broken", - "settings": { - "foreground": "#020e14", - "background": "#F78C6C" - } - }, - { - "name": "Invalid Unimplemented", - "scope": "invalid.unimplemented", - "settings": { - "background": "#8BD649", - "foreground": "#ffffff" - } - }, - { - "name": "Invalid Illegal", - "scope": "invalid.illegal", - "settings": { - "foreground": "#ffffff", - "background": "#ec5f67" - } - }, - { - "name": "Language Variable", - "scope": "variable.language", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Support Variable Property", - "scope": "support.variable.property", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Variable Function", - "scope": "variable.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Variable Interpolation", - "scope": "variable.interpolation", - "settings": { - "foreground": "#ec5f67" - } - }, - { - "name": "Meta Function Call", - "scope": "meta.function-call", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Punctuation Section Embedded", - "scope": "punctuation.section.embedded", - "settings": { - "foreground": "#d3423e" - } - }, - { - "name": "Punctuation Tweaks", - "scope": [ - "punctuation.terminator.expression", - "punctuation.definition.arguments", - "punctuation.definition.array", - "punctuation.section.array", - "meta.array" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "More Punctuation Tweaks", - "scope": [ - "punctuation.definition.list.begin", - "punctuation.definition.list.end", - "punctuation.separator.arguments", - "punctuation.definition.list" - ], - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Template Strings", - "scope": "string.template meta.template.expression", - "settings": { - "foreground": "#d3423e" - } - }, - { - "name": "Backtics(``) in Template Strings", - "scope": "string.template punctuation.definition.string", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Italics", - "scope": "italic", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Bold", - "scope": "bold", - "settings": { - "foreground": "#ffcb6b", - "fontStyle": "bold" - } - }, - { - "name": "Quote", - "scope": "quote", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "Raw Code", - "scope": "raw", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "CoffeScript Variable Assignment", - "scope": "variable.assignment.coffee", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "CoffeScript Parameter Function", - "scope": "variable.parameter.function.coffee", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "CoffeeScript Assignments", - "scope": "variable.assignment.coffee", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "C# Readwrite Variables", - "scope": "variable.other.readwrite.cs", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "C# Classes & Storage types", - "scope": ["entity.name.type.class.cs", "storage.type.cs"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "C# Namespaces", - "scope": "entity.name.type.namespace.cs", - "settings": { - "foreground": "#B2CCD6" - } - }, - { - "name": "Tag names in Stylesheets", - "scope": [ - "entity.name.tag.css", - "entity.name.tag.less", - "entity.name.tag.custom.css" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Wildcard(*) selector in Stylesheets", - "scope": [ - "entity.name.tag.wildcard.css", - "entity.name.tag.wildcard.less", - "entity.name.tag.wildcard.scss", - "entity.name.tag.wildcard.sass" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "(C|SC|SA|LE)SS property value unit", - "scope": [ - "keyword.other.unit.css", - "constant.length.units.css", - "keyword.other.unit.less", - "constant.length.units.less", - "keyword.other.unit.scss", - "constant.length.units.scss", - "keyword.other.unit.sass", - "constant.length.units.sass" - ], - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Attribute Name for CSS", - "scope": "meta.attribute-selector.css entity.other.attribute-name.attribute", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "punctuations in styled components", - "scope": [ - "source.js source.css meta.property-list", - "source.js source.css punctuation.section", - "source.js source.css punctuation.terminator.rule", - "source.js source.css punctuation.definition.entity.end.bracket", - "source.js source.css punctuation.definition.entity.begin.bracket", - "source.js source.css punctuation.separator.key-value", - "source.js source.css punctuation.definition.attribute-selector", - "source.js source.css meta.property-list", - "source.js source.css meta.property-list punctuation.separator.comma", - "source.ts source.css punctuation.section", - "source.ts source.css punctuation.terminator.rule", - "source.ts source.css punctuation.definition.entity.end.bracket", - "source.ts source.css punctuation.definition.entity.begin.bracket", - "source.ts source.css punctuation.separator.key-value", - "source.ts source.css punctuation.definition.attribute-selector", - "source.ts source.css meta.property-list", - "source.ts source.css meta.property-list punctuation.separator.comma" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Elixir Classes", - "scope": [ - "source.elixir support.type.elixir", - "source.elixir meta.module.elixir entity.name.class.elixir" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Elixir Functions", - "scope": "source.elixir entity.name.function", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Elixir Constants", - "scope": [ - "source.elixir constant.other.symbol.elixir", - "source.elixir constant.other.keywords.elixir" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Elixir String Punctuations", - "scope": "source.elixir punctuation.definition.string", - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Elixir", - "scope": [ - "source.elixir variable.other.readwrite.module.elixir", - "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" - ], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Elixir Binary Punctuations", - "scope": "source.elixir .punctuation.binary.elixir", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Go Function Calls", - "scope": "source.go meta.function-call.go", - "settings": { - "foreground": "#DDDDDD" - } - }, - { - "name": "GraphQL Variables", - "scope": "variable.qraphql", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "ID Attribute Name in HTML", - "scope": "entity.other.attribute-name.id.html", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "HTML Punctuation Definition Tag", - "scope": "punctuation.definition.tag.html", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "HTML Doctype", - "scope": "meta.tag.sgml.doctype.html", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "JavaScript Classes", - "scope": "meta.class entity.name.type.class.js", - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "JavaScript Method Declaration e.g. `constructor`", - "scope": "meta.method.declaration storage.type.js", - "settings": { - "foreground": "#82AAFF", - "fontStyle": "normal" - } - }, - { - "name": "JavaScript Terminator", - "scope": "terminator.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Meta Punctuation Definition", - "scope": "meta.js punctuation.definition.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Entity Names in Code Documentations", - "scope": [ - "entity.name.type.instance.jsdoc", - "entity.name.type.instance.phpdoc" - ], - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "Other Variables in Code Documentations", - "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], - "settings": { - "foreground": "#78ccf0" - } - }, - { - "name": "JavaScript module imports and exports", - "scope": [ - "variable.other.meta.import.js", - "meta.import.js variable.other", - "variable.other.meta.export.js", - "meta.export.js variable.other" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Variable Parameter Function", - "scope": "variable.parameter.function.js", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "JavaScript Variable Other ReadWrite", - "scope": "variable.other.readwrite.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Text nested in React tags", - "scope": [ - "meta.jsx.children", - "meta.jsx.children.js", - "meta.jsx.children.tsx" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript[React] Variable Other Object", - "scope": [ - "variable.other.object.js", - "variable.other.object.jsx", - "meta.object-literal.key.js", - "meta.object-literal.key.jsx", - "variable.object.property.js", - "variable.object.property.jsx" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Variables", - "scope": ["variable.js", "variable.other.js"], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Entity Name Type", - "scope": ["entity.name.type.js", "entity.name.type.module.js"], - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "JavaScript Support Classes", - "scope": "support.class.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JSON Property Names", - "scope": "support.type.property-name.json", - "settings": { - "foreground": "#C3E88D", - "fontStyle": "normal" - } - }, - { - "name": "JSON Support Constants", - "scope": "support.constant.json", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "JSON Property values (string)", - "scope": "meta.structure.dictionary.value.json string.quoted.double", - "settings": { - "foreground": "#80CBC4", - "fontStyle": "normal" - } - }, - { - "name": "Strings in JSON values", - "scope": "string.quoted.double.json punctuation.definition.string.json", - "settings": { - "foreground": "#80CBC4", - "fontStyle": "normal" - } - }, - { - "name": "Specific JSON Property values like null", - "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Ruby Variables", - "scope": "variable.other.ruby", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Ruby Hashkeys", - "scope": "constant.language.symbol.hashkey.ruby", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "LESS Tag names", - "scope": "entity.name.tag.less", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Attribute Name for LESS", - "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Markup Headings", - "scope": "markup.heading", - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Markup Italics", - "scope": "markup.italic", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Markup Bold", - "scope": "markup.bold", - "settings": { - "foreground": "#ffcb6b", - "fontStyle": "bold" - } - }, - { - "name": "Markup Quote + others", - "scope": "markup.quote", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "Markup Raw Code + others", - "scope": "markup.inline.raw", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Markup Links", - "scope": ["markup.underline.link", "markup.underline.link.image"], - "settings": { - "foreground": "#ff869a" - } - }, - { - "name": "Markup Attributes", - "scope": ["markup.meta.attribute-list"], - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Markup Admonitions", - "scope": "markup.admonition", - "settings": { - "fontStyle": "bold" - } - }, - { - "name": "Markup Lists", - "scope": "markup.list.bullet", - "settings": { - "foreground": "#D9F5DD" - } - }, - { - "name": "Markup Superscript and Subscript", - "scope": ["markup.superscript", "markup.subscript"], - "settings": { - "fontStyle": "italic" - } - }, - { - "name": "Markdown Link Title and Description", - "scope": [ - "string.other.link.title.markdown", - "string.other.link.description.markdown" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Markdown Punctuation", - "scope": [ - "punctuation.definition.string.markdown", - "punctuation.definition.string.begin.markdown", - "punctuation.definition.string.end.markdown", - "meta.link.inline.markdown punctuation.definition.string" - ], - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Markdown MetaData Punctuation", - "scope": ["punctuation.definition.metadata.markdown"], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Markdown List Punctuation", - "scope": ["beginning.punctuation.definition.list.markdown"], - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Asciidoc Function", - "scope": "entity.name.function.asciidoc", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "PHP Variables", - "scope": "variable.other.php", - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "Support Classes in PHP", - "scope": "support.class.php", - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "Punctuations in PHP function calls", - "scope": "meta.function-call.php punctuation", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "PHP Global Variables", - "scope": "variable.other.global.php", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Declaration Punctuation in PHP Global Variables", - "scope": "variable.other.global.php punctuation.definition.variable", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Language Constants in Python", - "scope": "constant.language.python", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Python Function Parameter and Arguments", - "scope": [ - "variable.parameter.function.python", - "meta.function-call.arguments.python" - ], - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "Python Function Call", - "scope": [ - "meta.function-call.python", - "meta.function-call.generic.python" - ], - "settings": { - "foreground": "#B2CCD6" - } - }, - { - "name": "Punctuations in Python", - "scope": "punctuation.python", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Decorator Functions in Python", - "scope": "entity.name.function.decorator.python", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Python Language Variable", - "scope": "source.python variable.language.special", - "settings": { - "foreground": "#8EACE3" - } - }, - { - "name": "SCSS Variable", - "scope": [ - "variable.scss", - "variable.sass", - "variable.parameter.url.scss", - "variable.parameter.url.sass" - ], - "settings": { - "foreground": "#DDDDDD" - } - }, - { - "name": "Variables in SASS At-Rules", - "scope": [ - "source.css.scss meta.at-rule variable", - "source.css.sass meta.at-rule variable" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Variables in SASS At-Rules", - "scope": [ - "source.css.scss meta.at-rule variable", - "source.css.sass meta.at-rule variable" - ], - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "Attribute Name for SASS", - "scope": [ - "meta.attribute-selector.scss entity.other.attribute-name.attribute", - "meta.attribute-selector.sass entity.other.attribute-name.attribute" - ], - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Tag names in SASS", - "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "TypeScript[React] Variables and Object Properties", - "scope": [ - "variable.other.readwrite.alias.ts", - "variable.other.readwrite.alias.tsx", - "variable.other.readwrite.ts", - "variable.other.readwrite.tsx", - "variable.other.object.ts", - "variable.other.object.tsx", - "variable.object.property.ts", - "variable.object.property.tsx", - "variable.other.ts", - "variable.other.tsx", - "variable.tsx", - "variable.ts" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "TypeScript[React] Entity Name Types", - "scope": ["entity.name.type.ts", "entity.name.type.tsx"], - "settings": { - "foreground": "#78ccf0" - } - }, - { - "name": "TypeScript[React] Node Classes", - "scope": ["support.class.node.ts", "support.class.node.tsx"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "TypeScript[React] Entity Name Types as Parameters", - "scope": [ - "meta.type.parameters.ts entity.name.type", - "meta.type.parameters.tsx entity.name.type" - ], - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "TypeScript[React] Import/Export Punctuations", - "scope": [ - "meta.import.ts punctuation.definition.block", - "meta.import.tsx punctuation.definition.block", - "meta.export.ts punctuation.definition.block", - "meta.export.tsx punctuation.definition.block" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "TypeScript[React] Punctuation Decorators", - "scope": [ - "meta.decorator punctuation.decorator.ts", - "meta.decorator punctuation.decorator.tsx" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "TypeScript[React] Punctuation Decorators", - "scope": "meta.tag.js meta.jsx.children.tsx", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "YAML Entity Name Tags", - "scope": "entity.name.tag.yaml", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "handlebars variables", - "scope": "variable.parameter.handlebars", - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "handlebars parameters", - "scope": "entity.other.attribute-name.handlebars variable.parameter.handlebars", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "handlebars enitity attribute names", - "scope": "entity.other.attribute-name.handlebars", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "handlebars enitity attribute values", - "scope": "entity.other.attribute-value.handlebars variable.parameter.handlebars", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "normalize font style of certain components", - "scope": [ - "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", - "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", - "meta.property-list.css meta.property-value.css variable.other.less", - "punctuation.section.embedded.begin.js.jsx", - "punctuation.section.embedded.end.js.jsx", - "meta.property-list.scss variable.scss", - "meta.property-list.sass variable.sass", - "keyword.operator.logical", - "keyword.operator.arithmetic", - "keyword.operator.bitwise", - "keyword.operator.increment", - "keyword.operator.ternary", - "keyword.operator.comparison", - "keyword.operator.assignment", - "keyword.operator.operator", - "keyword.operator.or.regexp", - "keyword.operator.expression.in", - "keyword.operator.type", - "punctuation.section.embedded.js", - "punctuation.definintion.string", - "punctuation" - ], - "settings": { - "fontStyle": "normal" - } - } - ] -} +{ + "name": "Palenight (Mild Contrast)", + "author": "Olaolu Olawuyi", + "maintainers": ["Olaolu Olawuyi "], + "type": "dark", + "semanticClass": "palenight-mild-contrast", + "colors": { + "contrastActiveBorder": null, + "contrastBorder": "#2C2F40", + "focusBorder": "#2C2F40", + "foreground": "#ffffff", + "widget.shadow": "#232635", + "selection.background": "#7580B850", + "descriptionForeground": null, + "errorForeground": "#EF5350", + "button.background": "#7e57c2cc", + "button.foreground": "#ffffffcc", + "button.hoverBackground": "#7e57c2", + "dropdown.background": "#292D3E", + "dropdown.border": "#7e57c2", + "dropdown.foreground": "#ffffffcc", + "input.background": "#313850", + "input.border": "#7e57c2", + "input.foreground": "#ffffffcc", + "input.placeholderForeground": "#ffffffcc", + "inputOption.activeBorder": "#ffffffcc", + "inputValidation.errorBackground": "#ef5350f2", + "inputValidation.errorBorder": "#EF5350", + "inputValidation.infoBackground": "#64b5f6f2", + "inputValidation.infoBorder": "#64B5F6", + "inputValidation.warningBackground": "#ffca28f2", + "inputValidation.warningBorder": "#FFCA28", + "scrollbar.shadow": "#292D3E00", + "scrollbarSlider.activeBackground": "#694CA4cc", + "scrollbarSlider.background": "#694CA466", + "scrollbarSlider.hoverBackground": "#694CA4cc", + "badge.background": "#7e57c2", + "badge.foreground": "#ffffff", + "progress.background": "#7e57c2", + "list.activeSelectionBackground": "#7e57c2", + "list.activeSelectionForeground": "#ffffff", + "list.dropBackground": "#2E3245", + "list.focusBackground": "#0000002e", + "list.focusForeground": "#ffffff", + "list.highlightForeground": "#ffffff", + "list.hoverBackground": "#0000001a", + "list.hoverForeground": "#ffffff", + "list.inactiveSelectionBackground": "#929ac90d", + "list.inactiveSelectionForeground": "#929ac9", + "activityBar.background": "#242839", + "activityBar.dropBackground": "#7e57c2e3", + "activityBar.foreground": "#eeffff", + "activityBar.border": "#2E3243", + "activityBarBadge.background": "#7e57c2", + "activityBarBadge.foreground": "#ffffff", + "sideBar.background": "#25293A", + "sideBar.foreground": "#6C739A", + "sideBar.border": "#2C2F40", + "sideBarTitle.foreground": "#eeffff", + "sideBarSectionHeader.background": "#25293A", + "sideBarSectionHeader.foreground": "#eeffff", + "editorGroup.background": "#32374C", + "editorGroup.border": "#2E3245", + "editorGroup.dropBackground": "#7e57c273", + "editorGroupHeader.noTabsBackground": "#32374C", + "editorGroupHeader.tabsBackground": "#31364a", + "editorGroupHeader.tabsBorder": "#2C3041", + "tab.activeBackground": "#25293A", + "tab.activeForeground": "#eeffff", + "tab.border": "#272B3B", + "tab.activeBorder": "#2C3041", + "tab.unfocusedActiveBorder": "#2C3041", + "tab.inactiveBackground": "#31364A", + "tab.inactiveForeground": "#929ac9", + "tab.unfocusedActiveForeground": null, + "tab.unfocusedInactiveForeground": null, + "editor.background": "#292D3E", + "editor.foreground": "#BFC7D5", + "editorLineNumber.foreground": "#4c5374", + "editorLineNumber.activeForeground": "#eeffff", + "editorCursor.foreground": "#7e57c2", + "editorCursor.background": null, + "editor.selectionBackground": "#7580B850", + "editor.selectionHighlightBackground": "#383D51", + "editor.inactiveSelectionBackground": "#7e57c25a", + "editor.wordHighlightBackground": "#32374D", + "editor.wordHighlightStrongBackground": "#2E3250", + "editor.findMatchBackground": "#2e3248fc", + "editor.findMatchHighlightBackground": "#7e57c233", + "editor.findRangeHighlightBackground": null, + "editor.hoverHighlightBackground": "#7e57c25a", + "editor.lineHighlightBackground": "#0003", + "editor.lineHighlightBorder": null, + "editorLink.activeForeground": null, + "editor.rangeHighlightBackground": "#7e57c25a", + "editorWhitespace.foreground": null, + "editorIndentGuide.background": "#4E557980", + "editorRuler.foreground": "#4E557980", + "editorCodeLens.foreground": "#FFCA28", + "editorBracketMatch.background": null, + "editorBracketMatch.border": null, + "editorOverviewRuler.currentContentForeground": "#7e57c2", + "editorOverviewRuler.incomingContentForeground": "#7e57c2", + "editorOverviewRuler.commonContentForeground": "#7e57c2", + "editorError.foreground": "#EF5350", + "editorError.border": null, + "editorWarning.foreground": "#FFCA28", + "editorWarning.border": null, + "editorGutter.background": null, + "editorGutter.modifiedBackground": "#e2b93d", + "editorGutter.addedBackground": "#9CCC65", + "editorGutter.deletedBackground": "#EF5350", + "diffEditor.insertedTextBackground": "#99b76d23", + "diffEditor.removedTextBackground": "#ef535033", + "editorWidget.background": "#31364a", + "editorWidget.border": null, + "editorSuggestWidget.background": "#2C3043", + "editorSuggestWidget.border": "#2B2F40", + "editorSuggestWidget.foreground": "#bfc7d5", + "editorSuggestWidget.highlightForeground": "#ffffff", + "editorSuggestWidget.selectedBackground": "#7e57c2", + "editorHoverWidget.background": "#292D3E", + "editorHoverWidget.border": "#7e57c2", + "debugExceptionWidget.background": "#292D3E", + "debugExceptionWidget.border": "#7e57c2", + "editorMarkerNavigation.background": "#31364a", + "editorMarkerNavigationError.background": "#EF5350", + "editorMarkerNavigationWarning.background": "#FFCA28", + "peekView.border": "#7e57c2", + "peekViewEditor.background": "#232635", + "peekViewEditor.matchHighlightBackground": "#7e57c25a", + "peekViewResult.background": "#2E3245", + "peekViewResult.fileForeground": "#eeffff", + "peekViewResult.lineForeground": "#eeffff", + "peekViewResult.matchHighlightBackground": "#7e57c25a", + "peekViewResult.selectionBackground": "#2E3250", + "peekViewResult.selectionForeground": "#eeffff", + "peekViewTitle.background": "#292D3E", + "peekViewTitleDescription.foreground": "#697098", + "peekViewTitleLabel.foreground": "#eeffff", + "merge.currentHeaderBackground": "#7e57c25a", + "merge.currentContentBackground": null, + "merge.incomingHeaderBackground": "#7e57c25a", + "merge.incomingContentBackground": null, + "merge.border": null, + "panel.background": "#25293A", + "panel.border": "#2C2F40", + "panelTitle.activeBorder": "#7e57c2", + "panelTitle.activeForeground": "#eeffff", + "panelTitle.inactiveForeground": "#bfc7d580", + "statusBar.background": "#25293A", + "statusBar.foreground": "#676E95", + "statusBar.border": "#2C3041", + "statusBar.debuggingBackground": "#202431", + "statusBar.debuggingForeground": null, + "statusBar.debuggingBorder": "#1F2330", + "statusBar.noFolderForeground": null, + "statusBar.noFolderBackground": "#292D3E", + "statusBar.noFolderBorder": "#25293A", + "statusBarItem.activeBackground": "#202431", + "statusBarItem.hoverBackground": "#202431", + "statusBarItem.prominentBackground": "#202431", + "statusBarItem.prominentHoverBackground": "#202431", + "titleBar.activeBackground": "#25293A", + "titleBar.activeForeground": "#eeefff", + "titleBar.border": "#2C3041", + "titleBar.inactiveBackground": "#30364c", + "titleBar.inactiveForeground": null, + "notifications.background": "#292D3E", + "notifications.foreground": "#ffffffcc", + "notificationLink.foreground": "#80CBC4", + "extensionButton.prominentForeground": "#ffffffcc", + "extensionButton.prominentBackground": "#7e57c2cc", + "extensionButton.prominentHoverBackground": "#7e57c2", + "pickerGroup.foreground": "#d1aaff", + "pickerGroup.border": "#2E3245", + "terminal.ansiWhite": "#ffffff", + "terminal.ansiBlack": "#676E95", + "terminal.ansiBlue": "#82AAFF", + "terminal.ansiCyan": "#89DDFF", + "terminal.ansiGreen": "#a9c77d", + "terminal.ansiMagenta": "#C792EA", + "terminal.ansiRed": "#ff5572", + "terminal.ansiYellow": "#FFCB6B", + "terminal.ansiBrightWhite": "#ffffff", + "terminal.ansiBrightBlack": "#676E95", + "terminal.ansiBrightBlue": "#82AAFF", + "terminal.ansiBrightCyan": "#89DDFF", + "terminal.ansiBrightGreen": "#C3E88D", + "terminal.ansiBrightMagenta": "#C792EA", + "terminal.ansiBrightRed": "#ff5572", + "terminal.ansiBrightYellow": "#FFCB6B", + "debugToolBar.background": "#292D3E", + "welcomePage.buttonBackground": null, + "welcomePage.buttonHoverBackground": null, + "walkThrough.embeddedEditorBackground": "#232635", + "gitDecoration.modifiedResourceForeground": "#e2c08de6", + "gitDecoration.deletedResourceForeground": "#EF535090", + "gitDecoration.untrackedResourceForeground": "#a9c77dff", + "gitDecoration.ignoredResourceForeground": "#69709890", + "gitDecoration.conflictingResourceForeground": "#FFEB95CC", + "editorActiveLineNumber.foreground": "#eeffff", + "breadcrumb.foreground": "#6c739a", + "breadcrumb.focusForeground": "#bfc7d5", + "breadcrumb.activeSelectionForeground": "#eeffff", + "breadcrumbPicker.background": "#292D3E" + }, + "tokenColors": [ + { + "name": "Global settings", + "settings": { + "background": "#292D3E", + "foreground": "#bfc7d5" + } + }, + { + "name": "Comment", + "scope": "comment", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "String", + "scope": "string", + "settings": { + "foreground": "#C3E88D" + } + }, + { + "name": "String Quoted", + "scope": "string.quoted", + "settings": { + "foreground": "#C3E88D" + } + }, + { + "name": "String Unquoted", + "scope": "string.unquoted", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Support Constant Math", + "scope": "support.constant.math", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Number", + "scope": ["constant.numeric", "constant.character.numeric"], + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Built-in constant", + "scope": [ + "constant.language", + "punctuation.definition.constant", + "variable.other.constant" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "User-defined constant", + "scope": ["constant.character", "constant.other"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Constant Character Escape", + "scope": "constant.character.escape", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "RegExp String", + "scope": ["string.regexp", "string.regexp keyword.other"], + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Comma in functions", + "scope": "meta.function punctuation.separator.comma", + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "Variable", + "scope": "variable", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Keyword", + "scope": ["punctuation.accessor", "keyword"], + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Storage", + "scope": [ + "storage", + "storage.type", + "meta.var.expr storage.type", + "storage.type.property.js", + "storage.type.property.ts", + "storage.type.property.tsx", + "meta.class meta.method.declaration meta.var.expr storage.type.js" + ], + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Class name", + "scope": ["entity.name.class", "meta.class entity.name.type.class"], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Inherited class", + "scope": "entity.other.inherited-class", + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Function name", + "scope": "entity.name.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Function Parameters", + "scope": "variable.parameter", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "Meta Tag", + "scope": ["punctuation.definition.tag", "meta.tag"], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "HTML Tag names", + "scope": [ + "entity.name.tag support.class.component", + "meta.tag.other.html", + "meta.tag.other.js", + "meta.tag.other.tsx", + "entity.name.tag.tsx", + "entity.name.tag.js", + "entity.name.tag", + "meta.tag.js", + "meta.tag.tsx", + "meta.tag.html" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Tag attribute", + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Entity Name Tag Custom", + "scope": "entity.name.tag.custom", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Library (function & constant)", + "scope": ["support.function", "support.constant"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Support Constant Property Value meta", + "scope": "support.constant.meta.property-value", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Library class/type", + "scope": ["support.type", "support.class"], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Support Variable DOM", + "scope": "support.variable.dom", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Invalid", + "scope": "invalid", + "settings": { + "background": "#ff2c83", + "foreground": "#ffffff" + } + }, + { + "name": "Invalid deprecated", + "scope": "invalid.deprecated", + "settings": { + "foreground": "#ffffff", + "background": "#d3423e" + } + }, + { + "name": "Keyword Operator", + "scope": "keyword.operator", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Keyword Operator Relational", + "scope": "keyword.operator.relational", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Keyword Operator Assignment", + "scope": "keyword.operator.assignment", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Double-Slashed Comment", + "scope": "comment.line.double-slash", + "settings": { + "foreground": "#697098" + } + }, + { + "name": "Object", + "scope": "object", + "settings": { + "foreground": "#cdebf7" + } + }, + { + "name": "Null", + "scope": "constant.language.null", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Meta Brace", + "scope": "meta.brace", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Meta Delimiter Period", + "scope": "meta.delimiter.period", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Punctuation Definition String", + "scope": "punctuation.definition.string", + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Boolean", + "scope": "constant.language.boolean", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Object Comma", + "scope": "object.comma", + "settings": { + "foreground": "#ffffff" + } + }, + { + "name": "Variable Parameter Function", + "scope": "variable.parameter.function", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Support Type Property Name & entity name tags", + "scope": [ + "support.type.vendored.property-name", + "support.constant.vendored.property-value", + "support.type.property-name", + "meta.property-list entity.name.tag" + ], + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Entity Name tag reference in stylesheets", + "scope": "meta.property-list entity.name.tag.reference", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Constant Other Color RGB Value Punctuation Definition Constant", + "scope": "constant.other.color.rgb-value punctuation.definition.constant", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Constant Other Color", + "scope": "constant.other.color", + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Keyword Other Unit", + "scope": "keyword.other.unit", + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Meta Selector", + "scope": "meta.selector", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Entity Other Attribute Name Id", + "scope": "entity.other.attribute-name.id", + "settings": { + "foreground": "#FAD430" + } + }, + { + "name": "Meta Property Name", + "scope": "meta.property-name", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Doctypes", + "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Punctuation Definition Parameters", + "scope": "punctuation.definition.parameters", + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Keyword Control Operator", + "scope": "keyword.control.operator", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Keyword Operator Logical", + "scope": "keyword.operator.logical", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Variable Instances", + "scope": [ + "variable.instance", + "variable.other.instance", + "variable.reaedwrite.instance", + "variable.other.readwrite.instance" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Variable Property Other", + "scope": ["variable.other.property", "variable.other.object.property"], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Entity Name Function", + "scope": "entity.name.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Keyword Operator Comparison", + "scope": "keyword.operator.comparison", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Support Constant, `new` keyword, Special Method Keyword", + "scope": [ + "support.constant", + "keyword.other.special-method", + "keyword.other.new" + ], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Support Function", + "scope": "support.function", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Invalid Broken", + "scope": "invalid.broken", + "settings": { + "foreground": "#020e14", + "background": "#F78C6C" + } + }, + { + "name": "Invalid Unimplemented", + "scope": "invalid.unimplemented", + "settings": { + "background": "#8BD649", + "foreground": "#ffffff" + } + }, + { + "name": "Invalid Illegal", + "scope": "invalid.illegal", + "settings": { + "foreground": "#ffffff", + "background": "#ec5f67" + } + }, + { + "name": "Language Variable", + "scope": "variable.language", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Support Variable Property", + "scope": "support.variable.property", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Variable Function", + "scope": "variable.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Variable Interpolation", + "scope": "variable.interpolation", + "settings": { + "foreground": "#ec5f67" + } + }, + { + "name": "Meta Function Call", + "scope": "meta.function-call", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Punctuation Section Embedded", + "scope": "punctuation.section.embedded", + "settings": { + "foreground": "#d3423e" + } + }, + { + "name": "Punctuation Tweaks", + "scope": [ + "punctuation.terminator.expression", + "punctuation.definition.arguments", + "punctuation.definition.array", + "punctuation.section.array", + "meta.array" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "More Punctuation Tweaks", + "scope": [ + "punctuation.definition.list.begin", + "punctuation.definition.list.end", + "punctuation.separator.arguments", + "punctuation.definition.list" + ], + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Template Strings", + "scope": "string.template meta.template.expression", + "settings": { + "foreground": "#d3423e" + } + }, + { + "name": "Backtics(``) in Template Strings", + "scope": "string.template punctuation.definition.string", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Italics", + "scope": "italic", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Bold", + "scope": "bold", + "settings": { + "foreground": "#ffcb6b", + "fontStyle": "bold" + } + }, + { + "name": "Quote", + "scope": "quote", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "Raw Code", + "scope": "raw", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "CoffeScript Variable Assignment", + "scope": "variable.assignment.coffee", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "CoffeScript Parameter Function", + "scope": "variable.parameter.function.coffee", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "CoffeeScript Assignments", + "scope": "variable.assignment.coffee", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "C# Readwrite Variables", + "scope": "variable.other.readwrite.cs", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "C# Classes & Storage types", + "scope": ["entity.name.type.class.cs", "storage.type.cs"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "C# Namespaces", + "scope": "entity.name.type.namespace.cs", + "settings": { + "foreground": "#B2CCD6" + } + }, + { + "name": "Tag names in Stylesheets", + "scope": [ + "entity.name.tag.css", + "entity.name.tag.less", + "entity.name.tag.custom.css" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Wildcard(*) selector in Stylesheets", + "scope": [ + "entity.name.tag.wildcard.css", + "entity.name.tag.wildcard.less", + "entity.name.tag.wildcard.scss", + "entity.name.tag.wildcard.sass" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "(C|SC|SA|LE)SS property value unit", + "scope": [ + "keyword.other.unit.css", + "constant.length.units.css", + "keyword.other.unit.less", + "constant.length.units.less", + "keyword.other.unit.scss", + "constant.length.units.scss", + "keyword.other.unit.sass", + "constant.length.units.sass" + ], + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Attribute Name for CSS", + "scope": "meta.attribute-selector.css entity.other.attribute-name.attribute", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "punctuations in styled components", + "scope": [ + "source.js source.css meta.property-list", + "source.js source.css punctuation.section", + "source.js source.css punctuation.terminator.rule", + "source.js source.css punctuation.definition.entity.end.bracket", + "source.js source.css punctuation.definition.entity.begin.bracket", + "source.js source.css punctuation.separator.key-value", + "source.js source.css punctuation.definition.attribute-selector", + "source.js source.css meta.property-list", + "source.js source.css meta.property-list punctuation.separator.comma", + "source.ts source.css punctuation.section", + "source.ts source.css punctuation.terminator.rule", + "source.ts source.css punctuation.definition.entity.end.bracket", + "source.ts source.css punctuation.definition.entity.begin.bracket", + "source.ts source.css punctuation.separator.key-value", + "source.ts source.css punctuation.definition.attribute-selector", + "source.ts source.css meta.property-list", + "source.ts source.css meta.property-list punctuation.separator.comma" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Elixir Classes", + "scope": [ + "source.elixir support.type.elixir", + "source.elixir meta.module.elixir entity.name.class.elixir" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Elixir Functions", + "scope": "source.elixir entity.name.function", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Elixir Constants", + "scope": [ + "source.elixir constant.other.symbol.elixir", + "source.elixir constant.other.keywords.elixir" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Elixir String Punctuations", + "scope": "source.elixir punctuation.definition.string", + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Elixir", + "scope": [ + "source.elixir variable.other.readwrite.module.elixir", + "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" + ], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Elixir Binary Punctuations", + "scope": "source.elixir .punctuation.binary.elixir", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Go Function Calls", + "scope": "source.go meta.function-call.go", + "settings": { + "foreground": "#DDDDDD" + } + }, + { + "name": "GraphQL Variables", + "scope": "variable.qraphql", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "ID Attribute Name in HTML", + "scope": "entity.other.attribute-name.id.html", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "HTML Punctuation Definition Tag", + "scope": "punctuation.definition.tag.html", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "HTML Doctype", + "scope": "meta.tag.sgml.doctype.html", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "JavaScript Classes", + "scope": "meta.class entity.name.type.class.js", + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "JavaScript Method Declaration e.g. `constructor`", + "scope": "meta.method.declaration storage.type.js", + "settings": { + "foreground": "#82AAFF", + "fontStyle": "normal" + } + }, + { + "name": "JavaScript Terminator", + "scope": "terminator.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Meta Punctuation Definition", + "scope": "meta.js punctuation.definition.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Entity Names in Code Documentations", + "scope": [ + "entity.name.type.instance.jsdoc", + "entity.name.type.instance.phpdoc" + ], + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "Other Variables in Code Documentations", + "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], + "settings": { + "foreground": "#78ccf0" + } + }, + { + "name": "JavaScript module imports and exports", + "scope": [ + "variable.other.meta.import.js", + "meta.import.js variable.other", + "variable.other.meta.export.js", + "meta.export.js variable.other" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Variable Parameter Function", + "scope": "variable.parameter.function.js", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "JavaScript Variable Other ReadWrite", + "scope": "variable.other.readwrite.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Text nested in React tags", + "scope": [ + "meta.jsx.children", + "meta.jsx.children.js", + "meta.jsx.children.tsx" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript[React] Variable Other Object", + "scope": [ + "variable.other.object.js", + "variable.other.object.jsx", + "meta.object-literal.key.js", + "meta.object-literal.key.jsx", + "variable.object.property.js", + "variable.object.property.jsx" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Variables", + "scope": ["variable.js", "variable.other.js"], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Entity Name Type", + "scope": ["entity.name.type.js", "entity.name.type.module.js"], + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "JavaScript Support Classes", + "scope": "support.class.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JSON Property Names", + "scope": "support.type.property-name.json", + "settings": { + "foreground": "#C3E88D", + "fontStyle": "normal" + } + }, + { + "name": "JSON Support Constants", + "scope": "support.constant.json", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "JSON Property values (string)", + "scope": "meta.structure.dictionary.value.json string.quoted.double", + "settings": { + "foreground": "#80CBC4", + "fontStyle": "normal" + } + }, + { + "name": "Strings in JSON values", + "scope": "string.quoted.double.json punctuation.definition.string.json", + "settings": { + "foreground": "#80CBC4", + "fontStyle": "normal" + } + }, + { + "name": "Specific JSON Property values like null", + "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Ruby Variables", + "scope": "variable.other.ruby", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Ruby Hashkeys", + "scope": "constant.language.symbol.hashkey.ruby", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "LESS Tag names", + "scope": "entity.name.tag.less", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Attribute Name for LESS", + "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Markup Headings", + "scope": "markup.heading", + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Markup Italics", + "scope": "markup.italic", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Markup Bold", + "scope": "markup.bold", + "settings": { + "foreground": "#ffcb6b", + "fontStyle": "bold" + } + }, + { + "name": "Markup Quote + others", + "scope": "markup.quote", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "Markup Raw Code + others", + "scope": "markup.inline.raw", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Markup Links", + "scope": ["markup.underline.link", "markup.underline.link.image"], + "settings": { + "foreground": "#ff869a" + } + }, + { + "name": "Markup Attributes", + "scope": ["markup.meta.attribute-list"], + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Markup Admonitions", + "scope": "markup.admonition", + "settings": { + "fontStyle": "bold" + } + }, + { + "name": "Markup Lists", + "scope": "markup.list.bullet", + "settings": { + "foreground": "#D9F5DD" + } + }, + { + "name": "Markup Superscript and Subscript", + "scope": ["markup.superscript", "markup.subscript"], + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "Markdown Link Title and Description", + "scope": [ + "string.other.link.title.markdown", + "string.other.link.description.markdown" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Markdown Punctuation", + "scope": [ + "punctuation.definition.string.markdown", + "punctuation.definition.string.begin.markdown", + "punctuation.definition.string.end.markdown", + "meta.link.inline.markdown punctuation.definition.string" + ], + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Markdown MetaData Punctuation", + "scope": ["punctuation.definition.metadata.markdown"], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Markdown List Punctuation", + "scope": ["beginning.punctuation.definition.list.markdown"], + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Asciidoc Function", + "scope": "entity.name.function.asciidoc", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "PHP Variables", + "scope": "variable.other.php", + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "Support Classes in PHP", + "scope": "support.class.php", + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "Punctuations in PHP function calls", + "scope": "meta.function-call.php punctuation", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "PHP Global Variables", + "scope": "variable.other.global.php", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Declaration Punctuation in PHP Global Variables", + "scope": "variable.other.global.php punctuation.definition.variable", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Language Constants in Python", + "scope": "constant.language.python", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Python Function Parameter and Arguments", + "scope": [ + "variable.parameter.function.python", + "meta.function-call.arguments.python" + ], + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "Python Function Call", + "scope": [ + "meta.function-call.python", + "meta.function-call.generic.python" + ], + "settings": { + "foreground": "#B2CCD6" + } + }, + { + "name": "Punctuations in Python", + "scope": "punctuation.python", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Decorator Functions in Python", + "scope": "entity.name.function.decorator.python", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Python Language Variable", + "scope": "source.python variable.language.special", + "settings": { + "foreground": "#8EACE3" + } + }, + { + "name": "SCSS Variable", + "scope": [ + "variable.scss", + "variable.sass", + "variable.parameter.url.scss", + "variable.parameter.url.sass" + ], + "settings": { + "foreground": "#DDDDDD" + } + }, + { + "name": "Variables in SASS At-Rules", + "scope": [ + "source.css.scss meta.at-rule variable", + "source.css.sass meta.at-rule variable" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Variables in SASS At-Rules", + "scope": [ + "source.css.scss meta.at-rule variable", + "source.css.sass meta.at-rule variable" + ], + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "Attribute Name for SASS", + "scope": [ + "meta.attribute-selector.scss entity.other.attribute-name.attribute", + "meta.attribute-selector.sass entity.other.attribute-name.attribute" + ], + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Tag names in SASS", + "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "TypeScript[React] Variables and Object Properties", + "scope": [ + "variable.other.readwrite.alias.ts", + "variable.other.readwrite.alias.tsx", + "variable.other.readwrite.ts", + "variable.other.readwrite.tsx", + "variable.other.object.ts", + "variable.other.object.tsx", + "variable.object.property.ts", + "variable.object.property.tsx", + "variable.other.ts", + "variable.other.tsx", + "variable.tsx", + "variable.ts" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "TypeScript[React] Entity Name Types", + "scope": ["entity.name.type.ts", "entity.name.type.tsx"], + "settings": { + "foreground": "#78ccf0" + } + }, + { + "name": "TypeScript[React] Node Classes", + "scope": ["support.class.node.ts", "support.class.node.tsx"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "TypeScript[React] Entity Name Types as Parameters", + "scope": [ + "meta.type.parameters.ts entity.name.type", + "meta.type.parameters.tsx entity.name.type" + ], + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "TypeScript[React] Import/Export Punctuations", + "scope": [ + "meta.import.ts punctuation.definition.block", + "meta.import.tsx punctuation.definition.block", + "meta.export.ts punctuation.definition.block", + "meta.export.tsx punctuation.definition.block" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "TypeScript[React] Punctuation Decorators", + "scope": [ + "meta.decorator punctuation.decorator.ts", + "meta.decorator punctuation.decorator.tsx" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "TypeScript[React] Punctuation Decorators", + "scope": "meta.tag.js meta.jsx.children.tsx", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "YAML Entity Name Tags", + "scope": "entity.name.tag.yaml", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "handlebars variables", + "scope": "variable.parameter.handlebars", + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "handlebars parameters", + "scope": "entity.other.attribute-name.handlebars variable.parameter.handlebars", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "handlebars enitity attribute names", + "scope": "entity.other.attribute-name.handlebars", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "handlebars enitity attribute values", + "scope": "entity.other.attribute-value.handlebars variable.parameter.handlebars", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "normalize font style of certain components", + "scope": [ + "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", + "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", + "meta.property-list.css meta.property-value.css variable.other.less", + "punctuation.section.embedded.begin.js.jsx", + "punctuation.section.embedded.end.js.jsx", + "meta.property-list.scss variable.scss", + "meta.property-list.sass variable.sass", + "keyword.operator.logical", + "keyword.operator.arithmetic", + "keyword.operator.bitwise", + "keyword.operator.increment", + "keyword.operator.ternary", + "keyword.operator.comparison", + "keyword.operator.assignment", + "keyword.operator.operator", + "keyword.operator.or.regexp", + "keyword.operator.expression.in", + "keyword.operator.type", + "punctuation.section.embedded.js", + "punctuation.definintion.string", + "punctuation" + ], + "settings": { + "fontStyle": "normal" + } + } + ] +} diff --git a/assets/themes/src/vscode/palenight/palenight-operator.json b/assets/themes/src/vscode/palenight/palenight-operator.json index 92104cd9ed..450d36cb9a 100644 --- a/assets/themes/src/vscode/palenight/palenight-operator.json +++ b/assets/themes/src/vscode/palenight/palenight-operator.json @@ -1,1640 +1,1640 @@ -{ - "name": "Palenight Operator", - "author": "Olaolu Olawuyi", - "maintainers": ["Olaolu Olawuyi "], - "type": "dark", - "semanticClass": "palenight-operator", - "colors": { - "contrastActiveBorder": null, - "contrastBorder": "#282B3C", - "focusBorder": "#282B3C", - "foreground": "#ffffff", - "widget.shadow": "#232635", - "selection.background": "#7580B850", - "descriptionForeground": null, - "errorForeground": "#EF5350", - "button.background": "#7e57c2cc", - "button.foreground": "#ffffffcc", - "button.hoverBackground": "#7e57c2", - "dropdown.background": "#292D3E", - "dropdown.border": "#7e57c2", - "dropdown.foreground": "#ffffffcc", - "input.background": "#313850", - "input.border": "#7e57c2", - "input.foreground": "#ffffffcc", - "input.placeholderForeground": "#ffffffcc", - "inputOption.activeBorder": "#ffffffcc", - "inputValidation.errorBackground": "#ef5350f2", - "inputValidation.errorBorder": "#EF5350", - "inputValidation.infoBackground": "#64b5f6f2", - "inputValidation.infoBorder": "#64B5F6", - "inputValidation.warningBackground": "#ffca28f2", - "inputValidation.warningBorder": "#FFCA28", - "scrollbar.shadow": "#292D3E00", - "scrollbarSlider.activeBackground": "#694CA4cc", - "scrollbarSlider.background": "#694CA466", - "scrollbarSlider.hoverBackground": "#694CA4cc", - "badge.background": "#7e57c2", - "badge.foreground": "#ffffff", - "progress.background": "#7e57c2", - "list.activeSelectionBackground": "#7e57c2", - "list.activeSelectionForeground": "#ffffff", - "list.dropBackground": "#2E3245", - "list.focusBackground": "#0000002e", - "list.focusForeground": "#ffffff", - "list.highlightForeground": "#ffffff", - "list.hoverBackground": "#0000001a", - "list.hoverForeground": "#ffffff", - "list.inactiveSelectionBackground": "#929ac90d", - "list.inactiveSelectionForeground": "#929ac9", - "activityBar.background": "#282C3D", - "activityBar.dropBackground": "#7e57c2e3", - "activityBar.foreground": "#eeffff", - "activityBar.border": "#282C3D", - "activityBarBadge.background": "#7e57c2", - "activityBarBadge.foreground": "#ffffff", - "sideBar.background": "#292D3E", - "sideBar.foreground": "#6C739A", - "sideBar.border": "#282B3C", - "sideBarTitle.foreground": "#eeffff", - "sideBarSectionHeader.background": "#292D3E", - "sideBarSectionHeader.foreground": "#eeffff", - "editorGroup.background": "#32374C", - "editorGroup.border": "#2E3245", - "editorGroup.dropBackground": "#7e57c273", - "editorGroupHeader.noTabsBackground": "#32374C", - "editorGroupHeader.tabsBackground": "#31364a", - "editorGroupHeader.tabsBorder": "#262A39", - "tab.activeBackground": "#292D3E", - "tab.activeForeground": "#eeffff", - "tab.border": "#272B3B", - "tab.activeBorder": "#262A39", - "tab.unfocusedActiveBorder": "#262A39", - "tab.inactiveBackground": "#31364A", - "tab.inactiveForeground": "#929ac9", - "tab.unfocusedActiveForeground": null, - "tab.unfocusedInactiveForeground": null, - "editor.background": "#292D3E", - "editor.foreground": "#BFC7D5", - "editorLineNumber.foreground": "#4c5374", - "editorLineNumber.activeForeground": "#eeffff", - "editorCursor.foreground": "#7e57c2", - "editorCursor.background": null, - "editor.selectionBackground": "#7580B850", - "editor.selectionHighlightBackground": "#383D51", - "editor.inactiveSelectionBackground": "#7e57c25a", - "editor.wordHighlightBackground": "#32374D", - "editor.wordHighlightStrongBackground": "#2E3250", - "editor.findMatchBackground": "#2e3248fc", - "editor.findMatchHighlightBackground": "#7e57c233", - "editor.findRangeHighlightBackground": null, - "editor.hoverHighlightBackground": "#7e57c25a", - "editor.lineHighlightBackground": "#0003", - "editor.lineHighlightBorder": null, - "editorLink.activeForeground": null, - "editor.rangeHighlightBackground": "#7e57c25a", - "editorWhitespace.foreground": null, - "editorIndentGuide.background": "#4E557980", - "editorRuler.foreground": "#4E557980", - "editorCodeLens.foreground": "#FFCA28", - "editorBracketMatch.background": null, - "editorBracketMatch.border": null, - "editorOverviewRuler.currentContentForeground": "#7e57c2", - "editorOverviewRuler.incomingContentForeground": "#7e57c2", - "editorOverviewRuler.commonContentForeground": "#7e57c2", - "editorError.foreground": "#EF5350", - "editorError.border": null, - "editorWarning.foreground": "#FFCA28", - "editorWarning.border": null, - "editorGutter.background": null, - "editorGutter.modifiedBackground": "#e2b93d", - "editorGutter.addedBackground": "#9CCC65", - "editorGutter.deletedBackground": "#EF5350", - "diffEditor.insertedTextBackground": "#99b76d23", - "diffEditor.removedTextBackground": "#ef535033", - "editorWidget.background": "#31364a", - "editorWidget.border": null, - "editorSuggestWidget.background": "#2C3043", - "editorSuggestWidget.border": "#2B2F40", - "editorSuggestWidget.foreground": "#bfc7d5", - "editorSuggestWidget.highlightForeground": "#ffffff", - "editorSuggestWidget.selectedBackground": "#7e57c2", - "editorHoverWidget.background": "#292D3E", - "editorHoverWidget.border": "#7e57c2", - "debugExceptionWidget.background": "#292D3E", - "debugExceptionWidget.border": "#7e57c2", - "editorMarkerNavigation.background": "#31364a", - "editorMarkerNavigationError.background": "#EF5350", - "editorMarkerNavigationWarning.background": "#FFCA28", - "peekView.border": "#7e57c2", - "peekViewEditor.background": "#232635", - "peekViewEditor.matchHighlightBackground": "#7e57c25a", - "peekViewResult.background": "#2E3245", - "peekViewResult.fileForeground": "#eeffff", - "peekViewResult.lineForeground": "#eeffff", - "peekViewResult.matchHighlightBackground": "#7e57c25a", - "peekViewResult.selectionBackground": "#2E3250", - "peekViewResult.selectionForeground": "#eeffff", - "peekViewTitle.background": "#292D3E", - "peekViewTitleDescription.foreground": "#697098", - "peekViewTitleLabel.foreground": "#eeffff", - "merge.currentHeaderBackground": "#7e57c25a", - "merge.currentContentBackground": null, - "merge.incomingHeaderBackground": "#7e57c25a", - "merge.incomingContentBackground": null, - "merge.border": null, - "panel.background": "#292D3E", - "panel.border": "#282B3C", - "panelTitle.activeBorder": "#7e57c2", - "panelTitle.activeForeground": "#eeffff", - "panelTitle.inactiveForeground": "#bfc7d580", - "statusBar.background": "#282C3D", - "statusBar.foreground": "#676E95", - "statusBar.border": "#262A39", - "statusBar.debuggingBackground": "#202431", - "statusBar.debuggingForeground": null, - "statusBar.debuggingBorder": "#1F2330", - "statusBar.noFolderForeground": null, - "statusBar.noFolderBackground": "#292D3E", - "statusBar.noFolderBorder": "#25293A", - "statusBarItem.activeBackground": "#202431", - "statusBarItem.hoverBackground": "#202431", - "statusBarItem.prominentBackground": "#202431", - "statusBarItem.prominentHoverBackground": "#202431", - "titleBar.activeBackground": "#292d3e", - "titleBar.activeForeground": "#eeefff", - "titleBar.border": "#30364c", - "titleBar.inactiveBackground": "#30364c", - "titleBar.inactiveForeground": null, - "notifications.background": "#292D3E", - "notifications.foreground": "#ffffffcc", - "notificationLink.foreground": "#80CBC4", - "extensionButton.prominentForeground": "#ffffffcc", - "extensionButton.prominentBackground": "#7e57c2cc", - "extensionButton.prominentHoverBackground": "#7e57c2", - "pickerGroup.foreground": "#d1aaff", - "pickerGroup.border": "#2E3245", - "terminal.ansiWhite": "#ffffff", - "terminal.ansiBlack": "#676E95", - "terminal.ansiBlue": "#82AAFF", - "terminal.ansiCyan": "#89DDFF", - "terminal.ansiGreen": "#a9c77d", - "terminal.ansiMagenta": "#C792EA", - "terminal.ansiRed": "#ff5572", - "terminal.ansiYellow": "#FFCB6B", - "terminal.ansiBrightWhite": "#ffffff", - "terminal.ansiBrightBlack": "#676E95", - "terminal.ansiBrightBlue": "#82AAFF", - "terminal.ansiBrightCyan": "#89DDFF", - "terminal.ansiBrightGreen": "#C3E88D", - "terminal.ansiBrightMagenta": "#C792EA", - "terminal.ansiBrightRed": "#ff5572", - "terminal.ansiBrightYellow": "#FFCB6B", - "debugToolBar.background": "#292D3E", - "welcomePage.buttonBackground": null, - "welcomePage.buttonHoverBackground": null, - "walkThrough.embeddedEditorBackground": "#232635", - "gitDecoration.modifiedResourceForeground": "#e2c08de6", - "gitDecoration.deletedResourceForeground": "#EF535090", - "gitDecoration.untrackedResourceForeground": "#a9c77dff", - "gitDecoration.ignoredResourceForeground": "#69709890", - "gitDecoration.conflictingResourceForeground": "#FFEB95CC", - "editorActiveLineNumber.foreground": "#eeffff", - "breadcrumb.foreground": "#6c739a", - "breadcrumb.focusForeground": "#bfc7d5", - "breadcrumb.activeSelectionForeground": "#eeffff", - "breadcrumbPicker.background": "#292D3E" - }, - "tokenColors": [ - { - "name": "Global settings", - "settings": { - "background": "#292D3E", - "foreground": "#bfc7d5" - } - }, - { - "name": "Comment", - "scope": "comment", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "String", - "scope": "string", - "settings": { - "foreground": "#C3E88D" - } - }, - { - "name": "String Quoted", - "scope": "string.quoted", - "settings": { - "foreground": "#C3E88D" - } - }, - { - "name": "String Unquoted", - "scope": "string.unquoted", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Support Constant Math", - "scope": "support.constant.math", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Number", - "scope": ["constant.numeric", "constant.character.numeric"], - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Built-in constant", - "scope": [ - "constant.language", - "punctuation.definition.constant", - "variable.other.constant" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "User-defined constant", - "scope": ["constant.character", "constant.other"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Constant Character Escape", - "scope": "constant.character.escape", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "RegExp String", - "scope": ["string.regexp", "string.regexp keyword.other"], - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Comma in functions", - "scope": "meta.function punctuation.separator.comma", - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "Variable", - "scope": "variable", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Keyword", - "scope": ["punctuation.accessor", "keyword"], - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Storage", - "scope": [ - "storage", - "storage.type", - "meta.var.expr storage.type", - "storage.type.property.js", - "storage.type.property.ts", - "storage.type.property.tsx", - "meta.class meta.method.declaration meta.var.expr storage.type.js" - ], - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Class name", - "scope": ["entity.name.class", "meta.class entity.name.type.class"], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Inherited class", - "scope": "entity.other.inherited-class", - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Function name", - "scope": "entity.name.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Function Parameters", - "scope": "variable.parameter", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "Meta Tag", - "scope": ["punctuation.definition.tag", "meta.tag"], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "HTML Tag names", - "scope": [ - "entity.name.tag support.class.component", - "meta.tag.other.html", - "meta.tag.other.js", - "meta.tag.other.tsx", - "entity.name.tag.tsx", - "entity.name.tag.js", - "entity.name.tag", - "meta.tag.js", - "meta.tag.tsx", - "meta.tag.html" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Tag attribute", - "scope": "entity.other.attribute-name", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Entity Name Tag Custom", - "scope": "entity.name.tag.custom", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Library (function & constant)", - "scope": ["support.function", "support.constant"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Support Constant Property Value meta", - "scope": "support.constant.meta.property-value", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Library class/type", - "scope": ["support.type", "support.class"], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Support Variable DOM", - "scope": "support.variable.dom", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Invalid", - "scope": "invalid", - "settings": { - "background": "#ff2c83", - "foreground": "#ffffff" - } - }, - { - "name": "Invalid deprecated", - "scope": "invalid.deprecated", - "settings": { - "foreground": "#ffffff", - "background": "#d3423e" - } - }, - { - "name": "Keyword Operator", - "scope": "keyword.operator", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Keyword Operator Relational", - "scope": "keyword.operator.relational", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Keyword Operator Assignment", - "scope": "keyword.operator.assignment", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Double-Slashed Comment", - "scope": "comment.line.double-slash", - "settings": { - "foreground": "#697098" - } - }, - { - "name": "Object", - "scope": "object", - "settings": { - "foreground": "#cdebf7" - } - }, - { - "name": "Null", - "scope": "constant.language.null", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Meta Brace", - "scope": "meta.brace", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Meta Delimiter Period", - "scope": "meta.delimiter.period", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Punctuation Definition String", - "scope": "punctuation.definition.string", - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Boolean", - "scope": "constant.language.boolean", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Object Comma", - "scope": "object.comma", - "settings": { - "foreground": "#ffffff" - } - }, - { - "name": "Variable Parameter Function", - "scope": "variable.parameter.function", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Support Type Property Name & entity name tags", - "scope": [ - "support.type.vendored.property-name", - "support.constant.vendored.property-value", - "support.type.property-name", - "meta.property-list entity.name.tag" - ], - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Entity Name tag reference in stylesheets", - "scope": "meta.property-list entity.name.tag.reference", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Constant Other Color RGB Value Punctuation Definition Constant", - "scope": "constant.other.color.rgb-value punctuation.definition.constant", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Constant Other Color", - "scope": "constant.other.color", - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Keyword Other Unit", - "scope": "keyword.other.unit", - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Meta Selector", - "scope": "meta.selector", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Entity Other Attribute Name Id", - "scope": "entity.other.attribute-name.id", - "settings": { - "foreground": "#FAD430" - } - }, - { - "name": "Meta Property Name", - "scope": "meta.property-name", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Doctypes", - "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Punctuation Definition Parameters", - "scope": "punctuation.definition.parameters", - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Keyword Control Operator", - "scope": "keyword.control.operator", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Keyword Operator Logical", - "scope": "keyword.operator.logical", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Variable Instances", - "scope": [ - "variable.instance", - "variable.other.instance", - "variable.reaedwrite.instance", - "variable.other.readwrite.instance" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Variable Property Other", - "scope": ["variable.other.property", "variable.other.object.property"], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Entity Name Function", - "scope": "entity.name.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Keyword Operator Comparison", - "scope": "keyword.operator.comparison", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Support Constant, `new` keyword, Special Method Keyword", - "scope": [ - "support.constant", - "keyword.other.special-method", - "keyword.other.new" - ], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Support Function", - "scope": "support.function", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Invalid Broken", - "scope": "invalid.broken", - "settings": { - "foreground": "#020e14", - "background": "#F78C6C" - } - }, - { - "name": "Invalid Unimplemented", - "scope": "invalid.unimplemented", - "settings": { - "background": "#8BD649", - "foreground": "#ffffff" - } - }, - { - "name": "Invalid Illegal", - "scope": "invalid.illegal", - "settings": { - "foreground": "#ffffff", - "background": "#ec5f67" - } - }, - { - "name": "Language Variable", - "scope": "variable.language", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Support Variable Property", - "scope": "support.variable.property", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Variable Function", - "scope": "variable.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Variable Interpolation", - "scope": "variable.interpolation", - "settings": { - "foreground": "#ec5f67" - } - }, - { - "name": "Meta Function Call", - "scope": "meta.function-call", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Punctuation Section Embedded", - "scope": "punctuation.section.embedded", - "settings": { - "foreground": "#d3423e" - } - }, - { - "name": "Punctuation Tweaks", - "scope": [ - "punctuation.terminator.expression", - "punctuation.definition.arguments", - "punctuation.definition.array", - "punctuation.section.array", - "meta.array" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "More Punctuation Tweaks", - "scope": [ - "punctuation.definition.list.begin", - "punctuation.definition.list.end", - "punctuation.separator.arguments", - "punctuation.definition.list" - ], - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Template Strings", - "scope": "string.template meta.template.expression", - "settings": { - "foreground": "#d3423e" - } - }, - { - "name": "Backtics(``) in Template Strings", - "scope": "string.template punctuation.definition.string", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Italics", - "scope": "italic", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Bold", - "scope": "bold", - "settings": { - "foreground": "#ffcb6b", - "fontStyle": "bold" - } - }, - { - "name": "Quote", - "scope": "quote", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "Raw Code", - "scope": "raw", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "CoffeScript Variable Assignment", - "scope": "variable.assignment.coffee", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "CoffeScript Parameter Function", - "scope": "variable.parameter.function.coffee", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "CoffeeScript Assignments", - "scope": "variable.assignment.coffee", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "C# Readwrite Variables", - "scope": "variable.other.readwrite.cs", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "C# Classes & Storage types", - "scope": ["entity.name.type.class.cs", "storage.type.cs"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "C# Namespaces", - "scope": "entity.name.type.namespace.cs", - "settings": { - "foreground": "#B2CCD6" - } - }, - { - "name": "Tag names in Stylesheets", - "scope": [ - "entity.name.tag.css", - "entity.name.tag.less", - "entity.name.tag.custom.css" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Wildcard(*) selector in Stylesheets", - "scope": [ - "entity.name.tag.wildcard.css", - "entity.name.tag.wildcard.less", - "entity.name.tag.wildcard.scss", - "entity.name.tag.wildcard.sass" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "(C|SC|SA|LE)SS property value unit", - "scope": [ - "keyword.other.unit.css", - "constant.length.units.css", - "keyword.other.unit.less", - "constant.length.units.less", - "keyword.other.unit.scss", - "constant.length.units.scss", - "keyword.other.unit.sass", - "constant.length.units.sass" - ], - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Attribute Name for CSS", - "scope": "meta.attribute-selector.css entity.other.attribute-name.attribute", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "punctuations in styled components", - "scope": [ - "source.js source.css meta.property-list", - "source.js source.css punctuation.section", - "source.js source.css punctuation.terminator.rule", - "source.js source.css punctuation.definition.entity.end.bracket", - "source.js source.css punctuation.definition.entity.begin.bracket", - "source.js source.css punctuation.separator.key-value", - "source.js source.css punctuation.definition.attribute-selector", - "source.js source.css meta.property-list", - "source.js source.css meta.property-list punctuation.separator.comma", - "source.ts source.css punctuation.section", - "source.ts source.css punctuation.terminator.rule", - "source.ts source.css punctuation.definition.entity.end.bracket", - "source.ts source.css punctuation.definition.entity.begin.bracket", - "source.ts source.css punctuation.separator.key-value", - "source.ts source.css punctuation.definition.attribute-selector", - "source.ts source.css meta.property-list", - "source.ts source.css meta.property-list punctuation.separator.comma" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Elixir Classes", - "scope": [ - "source.elixir support.type.elixir", - "source.elixir meta.module.elixir entity.name.class.elixir" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Elixir Functions", - "scope": "source.elixir entity.name.function", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Elixir Constants", - "scope": [ - "source.elixir constant.other.symbol.elixir", - "source.elixir constant.other.keywords.elixir" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Elixir String Punctuations", - "scope": "source.elixir punctuation.definition.string", - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Elixir", - "scope": [ - "source.elixir variable.other.readwrite.module.elixir", - "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" - ], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Elixir Binary Punctuations", - "scope": "source.elixir .punctuation.binary.elixir", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Go Function Calls", - "scope": "source.go meta.function-call.go", - "settings": { - "foreground": "#DDDDDD" - } - }, - { - "name": "GraphQL Variables", - "scope": "variable.qraphql", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "ID Attribute Name in HTML", - "scope": "entity.other.attribute-name.id.html", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "HTML Punctuation Definition Tag", - "scope": "punctuation.definition.tag.html", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "HTML Doctype", - "scope": "meta.tag.sgml.doctype.html", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "JavaScript Classes", - "scope": "meta.class entity.name.type.class.js", - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "JavaScript Method Declaration e.g. `constructor`", - "scope": "meta.method.declaration storage.type.js", - "settings": { - "foreground": "#82AAFF", - "fontStyle": "normal" - } - }, - { - "name": "JavaScript Terminator", - "scope": "terminator.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Meta Punctuation Definition", - "scope": "meta.js punctuation.definition.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Entity Names in Code Documentations", - "scope": [ - "entity.name.type.instance.jsdoc", - "entity.name.type.instance.phpdoc" - ], - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "Other Variables in Code Documentations", - "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], - "settings": { - "foreground": "#78ccf0" - } - }, - { - "name": "JavaScript module imports and exports", - "scope": [ - "variable.other.meta.import.js", - "meta.import.js variable.other", - "variable.other.meta.export.js", - "meta.export.js variable.other" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Variable Parameter Function", - "scope": "variable.parameter.function.js", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "JavaScript Variable Other ReadWrite", - "scope": "variable.other.readwrite.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Text nested in React tags", - "scope": [ - "meta.jsx.children", - "meta.jsx.children.js", - "meta.jsx.children.tsx" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript[React] Variable Other Object", - "scope": [ - "variable.other.object.js", - "variable.other.object.jsx", - "meta.object-literal.key.js", - "meta.object-literal.key.jsx", - "variable.object.property.js", - "variable.object.property.jsx" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Variables", - "scope": ["variable.js", "variable.other.js"], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Entity Name Type", - "scope": ["entity.name.type.js", "entity.name.type.module.js"], - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "JavaScript Support Classes", - "scope": "support.class.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JSON Property Names", - "scope": "support.type.property-name.json", - "settings": { - "foreground": "#C3E88D", - "fontStyle": "normal" - } - }, - { - "name": "JSON Support Constants", - "scope": "support.constant.json", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "JSON Property values (string)", - "scope": "meta.structure.dictionary.value.json string.quoted.double", - "settings": { - "foreground": "#80CBC4", - "fontStyle": "normal" - } - }, - { - "name": "Strings in JSON values", - "scope": "string.quoted.double.json punctuation.definition.string.json", - "settings": { - "foreground": "#80CBC4", - "fontStyle": "normal" - } - }, - { - "name": "Specific JSON Property values like null", - "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Ruby Variables", - "scope": "variable.other.ruby", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Ruby Hashkeys", - "scope": "constant.language.symbol.hashkey.ruby", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "LESS Tag names", - "scope": "entity.name.tag.less", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Attribute Name for LESS", - "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Markup Headings", - "scope": "markup.heading", - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Markup Italics", - "scope": "markup.italic", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Markup Bold", - "scope": "markup.bold", - "settings": { - "foreground": "#ffcb6b", - "fontStyle": "bold" - } - }, - { - "name": "Markup Quote + others", - "scope": "markup.quote", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "Markup Raw Code + others", - "scope": "markup.inline.raw", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Markup Links", - "scope": ["markup.underline.link", "markup.underline.link.image"], - "settings": { - "foreground": "#ff869a" - } - }, - { - "name": "Markup Attributes", - "scope": ["markup.meta.attribute-list"], - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Markup Admonitions", - "scope": "markup.admonition", - "settings": { - "fontStyle": "bold" - } - }, - { - "name": "Markup Lists", - "scope": "markup.list.bullet", - "settings": { - "foreground": "#D9F5DD" - } - }, - { - "name": "Markup Superscript and Subscript", - "scope": ["markup.superscript", "markup.subscript"], - "settings": { - "fontStyle": "italic" - } - }, - { - "name": "Markdown Link Title and Description", - "scope": [ - "string.other.link.title.markdown", - "string.other.link.description.markdown" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Markdown Punctuation", - "scope": [ - "punctuation.definition.string.markdown", - "punctuation.definition.string.begin.markdown", - "punctuation.definition.string.end.markdown", - "meta.link.inline.markdown punctuation.definition.string" - ], - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Markdown MetaData Punctuation", - "scope": ["punctuation.definition.metadata.markdown"], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Markdown List Punctuation", - "scope": ["beginning.punctuation.definition.list.markdown"], - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Asciidoc Function", - "scope": "entity.name.function.asciidoc", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "PHP Variables", - "scope": "variable.other.php", - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "Support Classes in PHP", - "scope": "support.class.php", - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "Punctuations in PHP function calls", - "scope": "meta.function-call.php punctuation", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "PHP Global Variables", - "scope": "variable.other.global.php", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Declaration Punctuation in PHP Global Variables", - "scope": "variable.other.global.php punctuation.definition.variable", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Language Constants in Python", - "scope": "constant.language.python", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Python Function Parameter and Arguments", - "scope": [ - "variable.parameter.function.python", - "meta.function-call.arguments.python" - ], - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "Python Function Call", - "scope": [ - "meta.function-call.python", - "meta.function-call.generic.python" - ], - "settings": { - "foreground": "#B2CCD6" - } - }, - { - "name": "Punctuations in Python", - "scope": "punctuation.python", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Decorator Functions in Python", - "scope": "entity.name.function.decorator.python", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Python Language Variable", - "scope": "source.python variable.language.special", - "settings": { - "foreground": "#8EACE3" - } - }, - { - "name": "SCSS Variable", - "scope": [ - "variable.scss", - "variable.sass", - "variable.parameter.url.scss", - "variable.parameter.url.sass" - ], - "settings": { - "foreground": "#DDDDDD" - } - }, - { - "name": "Variables in SASS At-Rules", - "scope": [ - "source.css.scss meta.at-rule variable", - "source.css.sass meta.at-rule variable" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Variables in SASS At-Rules", - "scope": [ - "source.css.scss meta.at-rule variable", - "source.css.sass meta.at-rule variable" - ], - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "Attribute Name for SASS", - "scope": [ - "meta.attribute-selector.scss entity.other.attribute-name.attribute", - "meta.attribute-selector.sass entity.other.attribute-name.attribute" - ], - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Tag names in SASS", - "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "TypeScript[React] Variables and Object Properties", - "scope": [ - "variable.other.readwrite.alias.ts", - "variable.other.readwrite.alias.tsx", - "variable.other.readwrite.ts", - "variable.other.readwrite.tsx", - "variable.other.object.ts", - "variable.other.object.tsx", - "variable.object.property.ts", - "variable.object.property.tsx", - "variable.other.ts", - "variable.other.tsx", - "variable.tsx", - "variable.ts" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "TypeScript[React] Entity Name Types", - "scope": ["entity.name.type.ts", "entity.name.type.tsx"], - "settings": { - "foreground": "#78ccf0" - } - }, - { - "name": "TypeScript[React] Node Classes", - "scope": ["support.class.node.ts", "support.class.node.tsx"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "TypeScript[React] Entity Name Types as Parameters", - "scope": [ - "meta.type.parameters.ts entity.name.type", - "meta.type.parameters.tsx entity.name.type" - ], - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "TypeScript[React] Import/Export Punctuations", - "scope": [ - "meta.import.ts punctuation.definition.block", - "meta.import.tsx punctuation.definition.block", - "meta.export.ts punctuation.definition.block", - "meta.export.tsx punctuation.definition.block" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "TypeScript[React] Punctuation Decorators", - "scope": [ - "meta.decorator punctuation.decorator.ts", - "meta.decorator punctuation.decorator.tsx" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "TypeScript[React] Punctuation Decorators", - "scope": "meta.tag.js meta.jsx.children.tsx", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "YAML Entity Name Tags", - "scope": "entity.name.tag.yaml", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "handlebars variables", - "scope": "variable.parameter.handlebars", - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "handlebars parameters", - "scope": "entity.other.attribute-name.handlebars variable.parameter.handlebars", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "handlebars enitity attribute names", - "scope": "entity.other.attribute-name.handlebars", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "handlebars enitity attribute values", - "scope": "entity.other.attribute-value.handlebars variable.parameter.handlebars", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "normalize font style of certain components", - "scope": [ - "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", - "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", - "meta.property-list.css meta.property-value.css variable.other.less", - "punctuation.section.embedded.begin.js.jsx", - "punctuation.section.embedded.end.js.jsx", - "meta.property-list.scss variable.scss", - "meta.property-list.sass variable.sass", - "keyword.operator.logical", - "keyword.operator.arithmetic", - "keyword.operator.bitwise", - "keyword.operator.increment", - "keyword.operator.ternary", - "keyword.operator.comparison", - "keyword.operator.assignment", - "keyword.operator.operator", - "keyword.operator.or.regexp", - "keyword.operator.expression.in", - "keyword.operator.type", - "punctuation.section.embedded.js", - "punctuation.definintion.string", - "punctuation" - ], - "settings": { - "fontStyle": "normal" - } - }, - { - "name": "italicsify for operator mono", - "scope": [ - "keyword.other.unit", - "support.type.property-name.css", - "support.type.vendored.property-name.css", - "support.constant.vendored.property-value.css", - "meta.import.ts meta.block.ts variable.other.readwrite.alias.ts", - "meta.import.tsx meta.block.tsx variable.other.readwrite.alias.tsx", - "meta.import.js variable.other", - "meta.export.ts meta.block.ts variable.other.readwrite.alias.ts", - "meta.export.tsx meta.block.tsx variable.other.readwrite.alias.tsx", - "meta.export.js variable.other", - "entity.name.function.ts", - "entity.name.function.tsx", - "support.type.primitive", - "entity.name.tag.yaml", - "entity.other.attribute-name", - "meta.tag.sgml.doctype.html", - "entity.name.tag.doctype", - "meta.tag.sgml.doctype", - "entity.name.tag.custom", - "source.js.jsx keyword.control.flow.js", - "support.type.property.css", - "support.function.basic_functions", - "constant.other.color.rgb-value.hex.css", - "constant.other.rgb-value.css", - "variable.assignment.coffee", - "support.function.basic_functions", - "keyword.operator.expression.typeof", - "punctuation.section.embedded", - "keyword.operator.type.annotation", - "variable.object.property.ts", - "variable.object.property.js", - "variable.object.property.jsx", - "variable.object.property.tsx", - "assignment.coffee", - "entity.name.type.ts", - "support.constant.math", - "meta.object-literal.key", - "meta.var.expr storage.type", - "variable.scss", - "variable.sass", - "variable.other.less", - "variable.parameter.url.scss", - "variable.parameter.url.sass", - "parameter", - "string", - "italic", - "quote", - "keyword", - "storage", - "language", - "constant.language", - "variable.language", - "type .function", - "type.function", - "storage.type.class", - "type.var", - "meta.parameter", - "variable.parameter", - "meta.parameters", - "keyword.control", - "modifier", - "this", - "comment" - ], - "settings": { - "fontStyle": "italic" - } - } - ] -} +{ + "name": "Palenight Operator", + "author": "Olaolu Olawuyi", + "maintainers": ["Olaolu Olawuyi "], + "type": "dark", + "semanticClass": "palenight-operator", + "colors": { + "contrastActiveBorder": null, + "contrastBorder": "#282B3C", + "focusBorder": "#282B3C", + "foreground": "#ffffff", + "widget.shadow": "#232635", + "selection.background": "#7580B850", + "descriptionForeground": null, + "errorForeground": "#EF5350", + "button.background": "#7e57c2cc", + "button.foreground": "#ffffffcc", + "button.hoverBackground": "#7e57c2", + "dropdown.background": "#292D3E", + "dropdown.border": "#7e57c2", + "dropdown.foreground": "#ffffffcc", + "input.background": "#313850", + "input.border": "#7e57c2", + "input.foreground": "#ffffffcc", + "input.placeholderForeground": "#ffffffcc", + "inputOption.activeBorder": "#ffffffcc", + "inputValidation.errorBackground": "#ef5350f2", + "inputValidation.errorBorder": "#EF5350", + "inputValidation.infoBackground": "#64b5f6f2", + "inputValidation.infoBorder": "#64B5F6", + "inputValidation.warningBackground": "#ffca28f2", + "inputValidation.warningBorder": "#FFCA28", + "scrollbar.shadow": "#292D3E00", + "scrollbarSlider.activeBackground": "#694CA4cc", + "scrollbarSlider.background": "#694CA466", + "scrollbarSlider.hoverBackground": "#694CA4cc", + "badge.background": "#7e57c2", + "badge.foreground": "#ffffff", + "progress.background": "#7e57c2", + "list.activeSelectionBackground": "#7e57c2", + "list.activeSelectionForeground": "#ffffff", + "list.dropBackground": "#2E3245", + "list.focusBackground": "#0000002e", + "list.focusForeground": "#ffffff", + "list.highlightForeground": "#ffffff", + "list.hoverBackground": "#0000001a", + "list.hoverForeground": "#ffffff", + "list.inactiveSelectionBackground": "#929ac90d", + "list.inactiveSelectionForeground": "#929ac9", + "activityBar.background": "#282C3D", + "activityBar.dropBackground": "#7e57c2e3", + "activityBar.foreground": "#eeffff", + "activityBar.border": "#282C3D", + "activityBarBadge.background": "#7e57c2", + "activityBarBadge.foreground": "#ffffff", + "sideBar.background": "#292D3E", + "sideBar.foreground": "#6C739A", + "sideBar.border": "#282B3C", + "sideBarTitle.foreground": "#eeffff", + "sideBarSectionHeader.background": "#292D3E", + "sideBarSectionHeader.foreground": "#eeffff", + "editorGroup.background": "#32374C", + "editorGroup.border": "#2E3245", + "editorGroup.dropBackground": "#7e57c273", + "editorGroupHeader.noTabsBackground": "#32374C", + "editorGroupHeader.tabsBackground": "#31364a", + "editorGroupHeader.tabsBorder": "#262A39", + "tab.activeBackground": "#292D3E", + "tab.activeForeground": "#eeffff", + "tab.border": "#272B3B", + "tab.activeBorder": "#262A39", + "tab.unfocusedActiveBorder": "#262A39", + "tab.inactiveBackground": "#31364A", + "tab.inactiveForeground": "#929ac9", + "tab.unfocusedActiveForeground": null, + "tab.unfocusedInactiveForeground": null, + "editor.background": "#292D3E", + "editor.foreground": "#BFC7D5", + "editorLineNumber.foreground": "#4c5374", + "editorLineNumber.activeForeground": "#eeffff", + "editorCursor.foreground": "#7e57c2", + "editorCursor.background": null, + "editor.selectionBackground": "#7580B850", + "editor.selectionHighlightBackground": "#383D51", + "editor.inactiveSelectionBackground": "#7e57c25a", + "editor.wordHighlightBackground": "#32374D", + "editor.wordHighlightStrongBackground": "#2E3250", + "editor.findMatchBackground": "#2e3248fc", + "editor.findMatchHighlightBackground": "#7e57c233", + "editor.findRangeHighlightBackground": null, + "editor.hoverHighlightBackground": "#7e57c25a", + "editor.lineHighlightBackground": "#0003", + "editor.lineHighlightBorder": null, + "editorLink.activeForeground": null, + "editor.rangeHighlightBackground": "#7e57c25a", + "editorWhitespace.foreground": null, + "editorIndentGuide.background": "#4E557980", + "editorRuler.foreground": "#4E557980", + "editorCodeLens.foreground": "#FFCA28", + "editorBracketMatch.background": null, + "editorBracketMatch.border": null, + "editorOverviewRuler.currentContentForeground": "#7e57c2", + "editorOverviewRuler.incomingContentForeground": "#7e57c2", + "editorOverviewRuler.commonContentForeground": "#7e57c2", + "editorError.foreground": "#EF5350", + "editorError.border": null, + "editorWarning.foreground": "#FFCA28", + "editorWarning.border": null, + "editorGutter.background": null, + "editorGutter.modifiedBackground": "#e2b93d", + "editorGutter.addedBackground": "#9CCC65", + "editorGutter.deletedBackground": "#EF5350", + "diffEditor.insertedTextBackground": "#99b76d23", + "diffEditor.removedTextBackground": "#ef535033", + "editorWidget.background": "#31364a", + "editorWidget.border": null, + "editorSuggestWidget.background": "#2C3043", + "editorSuggestWidget.border": "#2B2F40", + "editorSuggestWidget.foreground": "#bfc7d5", + "editorSuggestWidget.highlightForeground": "#ffffff", + "editorSuggestWidget.selectedBackground": "#7e57c2", + "editorHoverWidget.background": "#292D3E", + "editorHoverWidget.border": "#7e57c2", + "debugExceptionWidget.background": "#292D3E", + "debugExceptionWidget.border": "#7e57c2", + "editorMarkerNavigation.background": "#31364a", + "editorMarkerNavigationError.background": "#EF5350", + "editorMarkerNavigationWarning.background": "#FFCA28", + "peekView.border": "#7e57c2", + "peekViewEditor.background": "#232635", + "peekViewEditor.matchHighlightBackground": "#7e57c25a", + "peekViewResult.background": "#2E3245", + "peekViewResult.fileForeground": "#eeffff", + "peekViewResult.lineForeground": "#eeffff", + "peekViewResult.matchHighlightBackground": "#7e57c25a", + "peekViewResult.selectionBackground": "#2E3250", + "peekViewResult.selectionForeground": "#eeffff", + "peekViewTitle.background": "#292D3E", + "peekViewTitleDescription.foreground": "#697098", + "peekViewTitleLabel.foreground": "#eeffff", + "merge.currentHeaderBackground": "#7e57c25a", + "merge.currentContentBackground": null, + "merge.incomingHeaderBackground": "#7e57c25a", + "merge.incomingContentBackground": null, + "merge.border": null, + "panel.background": "#292D3E", + "panel.border": "#282B3C", + "panelTitle.activeBorder": "#7e57c2", + "panelTitle.activeForeground": "#eeffff", + "panelTitle.inactiveForeground": "#bfc7d580", + "statusBar.background": "#282C3D", + "statusBar.foreground": "#676E95", + "statusBar.border": "#262A39", + "statusBar.debuggingBackground": "#202431", + "statusBar.debuggingForeground": null, + "statusBar.debuggingBorder": "#1F2330", + "statusBar.noFolderForeground": null, + "statusBar.noFolderBackground": "#292D3E", + "statusBar.noFolderBorder": "#25293A", + "statusBarItem.activeBackground": "#202431", + "statusBarItem.hoverBackground": "#202431", + "statusBarItem.prominentBackground": "#202431", + "statusBarItem.prominentHoverBackground": "#202431", + "titleBar.activeBackground": "#292d3e", + "titleBar.activeForeground": "#eeefff", + "titleBar.border": "#30364c", + "titleBar.inactiveBackground": "#30364c", + "titleBar.inactiveForeground": null, + "notifications.background": "#292D3E", + "notifications.foreground": "#ffffffcc", + "notificationLink.foreground": "#80CBC4", + "extensionButton.prominentForeground": "#ffffffcc", + "extensionButton.prominentBackground": "#7e57c2cc", + "extensionButton.prominentHoverBackground": "#7e57c2", + "pickerGroup.foreground": "#d1aaff", + "pickerGroup.border": "#2E3245", + "terminal.ansiWhite": "#ffffff", + "terminal.ansiBlack": "#676E95", + "terminal.ansiBlue": "#82AAFF", + "terminal.ansiCyan": "#89DDFF", + "terminal.ansiGreen": "#a9c77d", + "terminal.ansiMagenta": "#C792EA", + "terminal.ansiRed": "#ff5572", + "terminal.ansiYellow": "#FFCB6B", + "terminal.ansiBrightWhite": "#ffffff", + "terminal.ansiBrightBlack": "#676E95", + "terminal.ansiBrightBlue": "#82AAFF", + "terminal.ansiBrightCyan": "#89DDFF", + "terminal.ansiBrightGreen": "#C3E88D", + "terminal.ansiBrightMagenta": "#C792EA", + "terminal.ansiBrightRed": "#ff5572", + "terminal.ansiBrightYellow": "#FFCB6B", + "debugToolBar.background": "#292D3E", + "welcomePage.buttonBackground": null, + "welcomePage.buttonHoverBackground": null, + "walkThrough.embeddedEditorBackground": "#232635", + "gitDecoration.modifiedResourceForeground": "#e2c08de6", + "gitDecoration.deletedResourceForeground": "#EF535090", + "gitDecoration.untrackedResourceForeground": "#a9c77dff", + "gitDecoration.ignoredResourceForeground": "#69709890", + "gitDecoration.conflictingResourceForeground": "#FFEB95CC", + "editorActiveLineNumber.foreground": "#eeffff", + "breadcrumb.foreground": "#6c739a", + "breadcrumb.focusForeground": "#bfc7d5", + "breadcrumb.activeSelectionForeground": "#eeffff", + "breadcrumbPicker.background": "#292D3E" + }, + "tokenColors": [ + { + "name": "Global settings", + "settings": { + "background": "#292D3E", + "foreground": "#bfc7d5" + } + }, + { + "name": "Comment", + "scope": "comment", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "String", + "scope": "string", + "settings": { + "foreground": "#C3E88D" + } + }, + { + "name": "String Quoted", + "scope": "string.quoted", + "settings": { + "foreground": "#C3E88D" + } + }, + { + "name": "String Unquoted", + "scope": "string.unquoted", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Support Constant Math", + "scope": "support.constant.math", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Number", + "scope": ["constant.numeric", "constant.character.numeric"], + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Built-in constant", + "scope": [ + "constant.language", + "punctuation.definition.constant", + "variable.other.constant" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "User-defined constant", + "scope": ["constant.character", "constant.other"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Constant Character Escape", + "scope": "constant.character.escape", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "RegExp String", + "scope": ["string.regexp", "string.regexp keyword.other"], + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Comma in functions", + "scope": "meta.function punctuation.separator.comma", + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "Variable", + "scope": "variable", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Keyword", + "scope": ["punctuation.accessor", "keyword"], + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Storage", + "scope": [ + "storage", + "storage.type", + "meta.var.expr storage.type", + "storage.type.property.js", + "storage.type.property.ts", + "storage.type.property.tsx", + "meta.class meta.method.declaration meta.var.expr storage.type.js" + ], + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Class name", + "scope": ["entity.name.class", "meta.class entity.name.type.class"], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Inherited class", + "scope": "entity.other.inherited-class", + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Function name", + "scope": "entity.name.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Function Parameters", + "scope": "variable.parameter", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "Meta Tag", + "scope": ["punctuation.definition.tag", "meta.tag"], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "HTML Tag names", + "scope": [ + "entity.name.tag support.class.component", + "meta.tag.other.html", + "meta.tag.other.js", + "meta.tag.other.tsx", + "entity.name.tag.tsx", + "entity.name.tag.js", + "entity.name.tag", + "meta.tag.js", + "meta.tag.tsx", + "meta.tag.html" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Tag attribute", + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Entity Name Tag Custom", + "scope": "entity.name.tag.custom", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Library (function & constant)", + "scope": ["support.function", "support.constant"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Support Constant Property Value meta", + "scope": "support.constant.meta.property-value", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Library class/type", + "scope": ["support.type", "support.class"], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Support Variable DOM", + "scope": "support.variable.dom", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Invalid", + "scope": "invalid", + "settings": { + "background": "#ff2c83", + "foreground": "#ffffff" + } + }, + { + "name": "Invalid deprecated", + "scope": "invalid.deprecated", + "settings": { + "foreground": "#ffffff", + "background": "#d3423e" + } + }, + { + "name": "Keyword Operator", + "scope": "keyword.operator", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Keyword Operator Relational", + "scope": "keyword.operator.relational", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Keyword Operator Assignment", + "scope": "keyword.operator.assignment", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Double-Slashed Comment", + "scope": "comment.line.double-slash", + "settings": { + "foreground": "#697098" + } + }, + { + "name": "Object", + "scope": "object", + "settings": { + "foreground": "#cdebf7" + } + }, + { + "name": "Null", + "scope": "constant.language.null", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Meta Brace", + "scope": "meta.brace", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Meta Delimiter Period", + "scope": "meta.delimiter.period", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Punctuation Definition String", + "scope": "punctuation.definition.string", + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Boolean", + "scope": "constant.language.boolean", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Object Comma", + "scope": "object.comma", + "settings": { + "foreground": "#ffffff" + } + }, + { + "name": "Variable Parameter Function", + "scope": "variable.parameter.function", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Support Type Property Name & entity name tags", + "scope": [ + "support.type.vendored.property-name", + "support.constant.vendored.property-value", + "support.type.property-name", + "meta.property-list entity.name.tag" + ], + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Entity Name tag reference in stylesheets", + "scope": "meta.property-list entity.name.tag.reference", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Constant Other Color RGB Value Punctuation Definition Constant", + "scope": "constant.other.color.rgb-value punctuation.definition.constant", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Constant Other Color", + "scope": "constant.other.color", + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Keyword Other Unit", + "scope": "keyword.other.unit", + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Meta Selector", + "scope": "meta.selector", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Entity Other Attribute Name Id", + "scope": "entity.other.attribute-name.id", + "settings": { + "foreground": "#FAD430" + } + }, + { + "name": "Meta Property Name", + "scope": "meta.property-name", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Doctypes", + "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Punctuation Definition Parameters", + "scope": "punctuation.definition.parameters", + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Keyword Control Operator", + "scope": "keyword.control.operator", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Keyword Operator Logical", + "scope": "keyword.operator.logical", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Variable Instances", + "scope": [ + "variable.instance", + "variable.other.instance", + "variable.reaedwrite.instance", + "variable.other.readwrite.instance" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Variable Property Other", + "scope": ["variable.other.property", "variable.other.object.property"], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Entity Name Function", + "scope": "entity.name.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Keyword Operator Comparison", + "scope": "keyword.operator.comparison", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Support Constant, `new` keyword, Special Method Keyword", + "scope": [ + "support.constant", + "keyword.other.special-method", + "keyword.other.new" + ], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Support Function", + "scope": "support.function", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Invalid Broken", + "scope": "invalid.broken", + "settings": { + "foreground": "#020e14", + "background": "#F78C6C" + } + }, + { + "name": "Invalid Unimplemented", + "scope": "invalid.unimplemented", + "settings": { + "background": "#8BD649", + "foreground": "#ffffff" + } + }, + { + "name": "Invalid Illegal", + "scope": "invalid.illegal", + "settings": { + "foreground": "#ffffff", + "background": "#ec5f67" + } + }, + { + "name": "Language Variable", + "scope": "variable.language", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Support Variable Property", + "scope": "support.variable.property", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Variable Function", + "scope": "variable.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Variable Interpolation", + "scope": "variable.interpolation", + "settings": { + "foreground": "#ec5f67" + } + }, + { + "name": "Meta Function Call", + "scope": "meta.function-call", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Punctuation Section Embedded", + "scope": "punctuation.section.embedded", + "settings": { + "foreground": "#d3423e" + } + }, + { + "name": "Punctuation Tweaks", + "scope": [ + "punctuation.terminator.expression", + "punctuation.definition.arguments", + "punctuation.definition.array", + "punctuation.section.array", + "meta.array" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "More Punctuation Tweaks", + "scope": [ + "punctuation.definition.list.begin", + "punctuation.definition.list.end", + "punctuation.separator.arguments", + "punctuation.definition.list" + ], + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Template Strings", + "scope": "string.template meta.template.expression", + "settings": { + "foreground": "#d3423e" + } + }, + { + "name": "Backtics(``) in Template Strings", + "scope": "string.template punctuation.definition.string", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Italics", + "scope": "italic", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Bold", + "scope": "bold", + "settings": { + "foreground": "#ffcb6b", + "fontStyle": "bold" + } + }, + { + "name": "Quote", + "scope": "quote", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "Raw Code", + "scope": "raw", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "CoffeScript Variable Assignment", + "scope": "variable.assignment.coffee", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "CoffeScript Parameter Function", + "scope": "variable.parameter.function.coffee", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "CoffeeScript Assignments", + "scope": "variable.assignment.coffee", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "C# Readwrite Variables", + "scope": "variable.other.readwrite.cs", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "C# Classes & Storage types", + "scope": ["entity.name.type.class.cs", "storage.type.cs"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "C# Namespaces", + "scope": "entity.name.type.namespace.cs", + "settings": { + "foreground": "#B2CCD6" + } + }, + { + "name": "Tag names in Stylesheets", + "scope": [ + "entity.name.tag.css", + "entity.name.tag.less", + "entity.name.tag.custom.css" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Wildcard(*) selector in Stylesheets", + "scope": [ + "entity.name.tag.wildcard.css", + "entity.name.tag.wildcard.less", + "entity.name.tag.wildcard.scss", + "entity.name.tag.wildcard.sass" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "(C|SC|SA|LE)SS property value unit", + "scope": [ + "keyword.other.unit.css", + "constant.length.units.css", + "keyword.other.unit.less", + "constant.length.units.less", + "keyword.other.unit.scss", + "constant.length.units.scss", + "keyword.other.unit.sass", + "constant.length.units.sass" + ], + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Attribute Name for CSS", + "scope": "meta.attribute-selector.css entity.other.attribute-name.attribute", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "punctuations in styled components", + "scope": [ + "source.js source.css meta.property-list", + "source.js source.css punctuation.section", + "source.js source.css punctuation.terminator.rule", + "source.js source.css punctuation.definition.entity.end.bracket", + "source.js source.css punctuation.definition.entity.begin.bracket", + "source.js source.css punctuation.separator.key-value", + "source.js source.css punctuation.definition.attribute-selector", + "source.js source.css meta.property-list", + "source.js source.css meta.property-list punctuation.separator.comma", + "source.ts source.css punctuation.section", + "source.ts source.css punctuation.terminator.rule", + "source.ts source.css punctuation.definition.entity.end.bracket", + "source.ts source.css punctuation.definition.entity.begin.bracket", + "source.ts source.css punctuation.separator.key-value", + "source.ts source.css punctuation.definition.attribute-selector", + "source.ts source.css meta.property-list", + "source.ts source.css meta.property-list punctuation.separator.comma" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Elixir Classes", + "scope": [ + "source.elixir support.type.elixir", + "source.elixir meta.module.elixir entity.name.class.elixir" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Elixir Functions", + "scope": "source.elixir entity.name.function", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Elixir Constants", + "scope": [ + "source.elixir constant.other.symbol.elixir", + "source.elixir constant.other.keywords.elixir" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Elixir String Punctuations", + "scope": "source.elixir punctuation.definition.string", + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Elixir", + "scope": [ + "source.elixir variable.other.readwrite.module.elixir", + "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" + ], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Elixir Binary Punctuations", + "scope": "source.elixir .punctuation.binary.elixir", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Go Function Calls", + "scope": "source.go meta.function-call.go", + "settings": { + "foreground": "#DDDDDD" + } + }, + { + "name": "GraphQL Variables", + "scope": "variable.qraphql", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "ID Attribute Name in HTML", + "scope": "entity.other.attribute-name.id.html", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "HTML Punctuation Definition Tag", + "scope": "punctuation.definition.tag.html", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "HTML Doctype", + "scope": "meta.tag.sgml.doctype.html", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "JavaScript Classes", + "scope": "meta.class entity.name.type.class.js", + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "JavaScript Method Declaration e.g. `constructor`", + "scope": "meta.method.declaration storage.type.js", + "settings": { + "foreground": "#82AAFF", + "fontStyle": "normal" + } + }, + { + "name": "JavaScript Terminator", + "scope": "terminator.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Meta Punctuation Definition", + "scope": "meta.js punctuation.definition.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Entity Names in Code Documentations", + "scope": [ + "entity.name.type.instance.jsdoc", + "entity.name.type.instance.phpdoc" + ], + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "Other Variables in Code Documentations", + "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], + "settings": { + "foreground": "#78ccf0" + } + }, + { + "name": "JavaScript module imports and exports", + "scope": [ + "variable.other.meta.import.js", + "meta.import.js variable.other", + "variable.other.meta.export.js", + "meta.export.js variable.other" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Variable Parameter Function", + "scope": "variable.parameter.function.js", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "JavaScript Variable Other ReadWrite", + "scope": "variable.other.readwrite.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Text nested in React tags", + "scope": [ + "meta.jsx.children", + "meta.jsx.children.js", + "meta.jsx.children.tsx" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript[React] Variable Other Object", + "scope": [ + "variable.other.object.js", + "variable.other.object.jsx", + "meta.object-literal.key.js", + "meta.object-literal.key.jsx", + "variable.object.property.js", + "variable.object.property.jsx" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Variables", + "scope": ["variable.js", "variable.other.js"], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Entity Name Type", + "scope": ["entity.name.type.js", "entity.name.type.module.js"], + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "JavaScript Support Classes", + "scope": "support.class.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JSON Property Names", + "scope": "support.type.property-name.json", + "settings": { + "foreground": "#C3E88D", + "fontStyle": "normal" + } + }, + { + "name": "JSON Support Constants", + "scope": "support.constant.json", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "JSON Property values (string)", + "scope": "meta.structure.dictionary.value.json string.quoted.double", + "settings": { + "foreground": "#80CBC4", + "fontStyle": "normal" + } + }, + { + "name": "Strings in JSON values", + "scope": "string.quoted.double.json punctuation.definition.string.json", + "settings": { + "foreground": "#80CBC4", + "fontStyle": "normal" + } + }, + { + "name": "Specific JSON Property values like null", + "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Ruby Variables", + "scope": "variable.other.ruby", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Ruby Hashkeys", + "scope": "constant.language.symbol.hashkey.ruby", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "LESS Tag names", + "scope": "entity.name.tag.less", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Attribute Name for LESS", + "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Markup Headings", + "scope": "markup.heading", + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Markup Italics", + "scope": "markup.italic", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Markup Bold", + "scope": "markup.bold", + "settings": { + "foreground": "#ffcb6b", + "fontStyle": "bold" + } + }, + { + "name": "Markup Quote + others", + "scope": "markup.quote", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "Markup Raw Code + others", + "scope": "markup.inline.raw", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Markup Links", + "scope": ["markup.underline.link", "markup.underline.link.image"], + "settings": { + "foreground": "#ff869a" + } + }, + { + "name": "Markup Attributes", + "scope": ["markup.meta.attribute-list"], + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Markup Admonitions", + "scope": "markup.admonition", + "settings": { + "fontStyle": "bold" + } + }, + { + "name": "Markup Lists", + "scope": "markup.list.bullet", + "settings": { + "foreground": "#D9F5DD" + } + }, + { + "name": "Markup Superscript and Subscript", + "scope": ["markup.superscript", "markup.subscript"], + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "Markdown Link Title and Description", + "scope": [ + "string.other.link.title.markdown", + "string.other.link.description.markdown" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Markdown Punctuation", + "scope": [ + "punctuation.definition.string.markdown", + "punctuation.definition.string.begin.markdown", + "punctuation.definition.string.end.markdown", + "meta.link.inline.markdown punctuation.definition.string" + ], + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Markdown MetaData Punctuation", + "scope": ["punctuation.definition.metadata.markdown"], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Markdown List Punctuation", + "scope": ["beginning.punctuation.definition.list.markdown"], + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Asciidoc Function", + "scope": "entity.name.function.asciidoc", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "PHP Variables", + "scope": "variable.other.php", + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "Support Classes in PHP", + "scope": "support.class.php", + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "Punctuations in PHP function calls", + "scope": "meta.function-call.php punctuation", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "PHP Global Variables", + "scope": "variable.other.global.php", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Declaration Punctuation in PHP Global Variables", + "scope": "variable.other.global.php punctuation.definition.variable", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Language Constants in Python", + "scope": "constant.language.python", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Python Function Parameter and Arguments", + "scope": [ + "variable.parameter.function.python", + "meta.function-call.arguments.python" + ], + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "Python Function Call", + "scope": [ + "meta.function-call.python", + "meta.function-call.generic.python" + ], + "settings": { + "foreground": "#B2CCD6" + } + }, + { + "name": "Punctuations in Python", + "scope": "punctuation.python", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Decorator Functions in Python", + "scope": "entity.name.function.decorator.python", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Python Language Variable", + "scope": "source.python variable.language.special", + "settings": { + "foreground": "#8EACE3" + } + }, + { + "name": "SCSS Variable", + "scope": [ + "variable.scss", + "variable.sass", + "variable.parameter.url.scss", + "variable.parameter.url.sass" + ], + "settings": { + "foreground": "#DDDDDD" + } + }, + { + "name": "Variables in SASS At-Rules", + "scope": [ + "source.css.scss meta.at-rule variable", + "source.css.sass meta.at-rule variable" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Variables in SASS At-Rules", + "scope": [ + "source.css.scss meta.at-rule variable", + "source.css.sass meta.at-rule variable" + ], + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "Attribute Name for SASS", + "scope": [ + "meta.attribute-selector.scss entity.other.attribute-name.attribute", + "meta.attribute-selector.sass entity.other.attribute-name.attribute" + ], + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Tag names in SASS", + "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "TypeScript[React] Variables and Object Properties", + "scope": [ + "variable.other.readwrite.alias.ts", + "variable.other.readwrite.alias.tsx", + "variable.other.readwrite.ts", + "variable.other.readwrite.tsx", + "variable.other.object.ts", + "variable.other.object.tsx", + "variable.object.property.ts", + "variable.object.property.tsx", + "variable.other.ts", + "variable.other.tsx", + "variable.tsx", + "variable.ts" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "TypeScript[React] Entity Name Types", + "scope": ["entity.name.type.ts", "entity.name.type.tsx"], + "settings": { + "foreground": "#78ccf0" + } + }, + { + "name": "TypeScript[React] Node Classes", + "scope": ["support.class.node.ts", "support.class.node.tsx"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "TypeScript[React] Entity Name Types as Parameters", + "scope": [ + "meta.type.parameters.ts entity.name.type", + "meta.type.parameters.tsx entity.name.type" + ], + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "TypeScript[React] Import/Export Punctuations", + "scope": [ + "meta.import.ts punctuation.definition.block", + "meta.import.tsx punctuation.definition.block", + "meta.export.ts punctuation.definition.block", + "meta.export.tsx punctuation.definition.block" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "TypeScript[React] Punctuation Decorators", + "scope": [ + "meta.decorator punctuation.decorator.ts", + "meta.decorator punctuation.decorator.tsx" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "TypeScript[React] Punctuation Decorators", + "scope": "meta.tag.js meta.jsx.children.tsx", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "YAML Entity Name Tags", + "scope": "entity.name.tag.yaml", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "handlebars variables", + "scope": "variable.parameter.handlebars", + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "handlebars parameters", + "scope": "entity.other.attribute-name.handlebars variable.parameter.handlebars", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "handlebars enitity attribute names", + "scope": "entity.other.attribute-name.handlebars", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "handlebars enitity attribute values", + "scope": "entity.other.attribute-value.handlebars variable.parameter.handlebars", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "normalize font style of certain components", + "scope": [ + "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", + "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", + "meta.property-list.css meta.property-value.css variable.other.less", + "punctuation.section.embedded.begin.js.jsx", + "punctuation.section.embedded.end.js.jsx", + "meta.property-list.scss variable.scss", + "meta.property-list.sass variable.sass", + "keyword.operator.logical", + "keyword.operator.arithmetic", + "keyword.operator.bitwise", + "keyword.operator.increment", + "keyword.operator.ternary", + "keyword.operator.comparison", + "keyword.operator.assignment", + "keyword.operator.operator", + "keyword.operator.or.regexp", + "keyword.operator.expression.in", + "keyword.operator.type", + "punctuation.section.embedded.js", + "punctuation.definintion.string", + "punctuation" + ], + "settings": { + "fontStyle": "normal" + } + }, + { + "name": "italicsify for operator mono", + "scope": [ + "keyword.other.unit", + "support.type.property-name.css", + "support.type.vendored.property-name.css", + "support.constant.vendored.property-value.css", + "meta.import.ts meta.block.ts variable.other.readwrite.alias.ts", + "meta.import.tsx meta.block.tsx variable.other.readwrite.alias.tsx", + "meta.import.js variable.other", + "meta.export.ts meta.block.ts variable.other.readwrite.alias.ts", + "meta.export.tsx meta.block.tsx variable.other.readwrite.alias.tsx", + "meta.export.js variable.other", + "entity.name.function.ts", + "entity.name.function.tsx", + "support.type.primitive", + "entity.name.tag.yaml", + "entity.other.attribute-name", + "meta.tag.sgml.doctype.html", + "entity.name.tag.doctype", + "meta.tag.sgml.doctype", + "entity.name.tag.custom", + "source.js.jsx keyword.control.flow.js", + "support.type.property.css", + "support.function.basic_functions", + "constant.other.color.rgb-value.hex.css", + "constant.other.rgb-value.css", + "variable.assignment.coffee", + "support.function.basic_functions", + "keyword.operator.expression.typeof", + "punctuation.section.embedded", + "keyword.operator.type.annotation", + "variable.object.property.ts", + "variable.object.property.js", + "variable.object.property.jsx", + "variable.object.property.tsx", + "assignment.coffee", + "entity.name.type.ts", + "support.constant.math", + "meta.object-literal.key", + "meta.var.expr storage.type", + "variable.scss", + "variable.sass", + "variable.other.less", + "variable.parameter.url.scss", + "variable.parameter.url.sass", + "parameter", + "string", + "italic", + "quote", + "keyword", + "storage", + "language", + "constant.language", + "variable.language", + "type .function", + "type.function", + "storage.type.class", + "type.var", + "meta.parameter", + "variable.parameter", + "meta.parameters", + "keyword.control", + "modifier", + "this", + "comment" + ], + "settings": { + "fontStyle": "italic" + } + } + ] +} diff --git a/assets/themes/src/vscode/palenight/palenight.json b/assets/themes/src/vscode/palenight/palenight.json index 5351dc4f23..cfbf2f8788 100644 --- a/assets/themes/src/vscode/palenight/palenight.json +++ b/assets/themes/src/vscode/palenight/palenight.json @@ -1,1569 +1,1569 @@ -{ - "name": "Palenight Theme", - "author": "Olaolu Olawuyi", - "maintainers": ["Olaolu Olawuyi "], - "type": "dark", - "semanticClass": "palenight", - "colors": { - "contrastActiveBorder": null, - "contrastBorder": "#282B3C", - "focusBorder": "#282B3C", - "foreground": "#ffffff", - "widget.shadow": "#232635", - "selection.background": "#7580B850", - "descriptionForeground": null, - "errorForeground": "#EF5350", - "button.background": "#7e57c2cc", - "button.foreground": "#ffffffcc", - "button.hoverBackground": "#7e57c2", - "dropdown.background": "#292D3E", - "dropdown.border": "#7e57c2", - "dropdown.foreground": "#ffffffcc", - "input.background": "#313850", - "input.border": "#7e57c2", - "input.foreground": "#ffffffcc", - "input.placeholderForeground": "#ffffffcc", - "inputOption.activeBorder": "#ffffffcc", - "inputValidation.errorBackground": "#ef5350f2", - "inputValidation.errorBorder": "#EF5350", - "inputValidation.infoBackground": "#64b5f6f2", - "inputValidation.infoBorder": "#64B5F6", - "inputValidation.warningBackground": "#ffca28f2", - "inputValidation.warningBorder": "#FFCA28", - "scrollbar.shadow": "#292D3E00", - "scrollbarSlider.activeBackground": "#694CA4cc", - "scrollbarSlider.background": "#694CA466", - "scrollbarSlider.hoverBackground": "#694CA4cc", - "badge.background": "#7e57c2", - "badge.foreground": "#ffffff", - "progress.background": "#7e57c2", - "list.activeSelectionBackground": "#7e57c2", - "list.activeSelectionForeground": "#ffffff", - "list.dropBackground": "#2E3245", - "list.focusBackground": "#0000002e", - "list.focusForeground": "#ffffff", - "list.highlightForeground": "#ffffff", - "list.hoverBackground": "#0000001a", - "list.hoverForeground": "#ffffff", - "list.inactiveSelectionBackground": "#929ac90d", - "list.inactiveSelectionForeground": "#929ac9", - "activityBar.background": "#282C3D", - "activityBar.dropBackground": "#7e57c2e3", - "activityBar.foreground": "#eeffff", - "activityBar.border": "#282C3D", - "activityBarBadge.background": "#7e57c2", - "activityBarBadge.foreground": "#ffffff", - "sideBar.background": "#292D3E", - "sideBar.foreground": "#6C739A", - "sideBar.border": "#282B3C", - "sideBarTitle.foreground": "#eeffff", - "sideBarSectionHeader.background": "#292D3E", - "sideBarSectionHeader.foreground": "#eeffff", - "editorGroup.background": "#32374C", - "editorGroup.border": "#2E3245", - "editorGroup.dropBackground": "#7e57c273", - "editorGroupHeader.noTabsBackground": "#32374C", - "editorGroupHeader.tabsBackground": "#31364a", - "editorGroupHeader.tabsBorder": "#262A39", - "tab.activeBackground": "#292D3E", - "tab.activeForeground": "#eeffff", - "tab.border": "#272B3B", - "tab.activeBorder": "#262A39", - "tab.unfocusedActiveBorder": "#262A39", - "tab.inactiveBackground": "#31364A", - "tab.inactiveForeground": "#929ac9", - "tab.unfocusedActiveForeground": null, - "tab.unfocusedInactiveForeground": null, - "editor.background": "#292D3E", - "editor.foreground": "#BFC7D5", - "editorLineNumber.foreground": "#4c5374", - "editorLineNumber.activeForeground": "#eeffff", - "editorCursor.foreground": "#7e57c2", - "editorCursor.background": null, - "editor.selectionBackground": "#7580B850", - "editor.selectionHighlightBackground": "#383D51", - "editor.inactiveSelectionBackground": "#7e57c25a", - "editor.wordHighlightBackground": "#32374D", - "editor.wordHighlightStrongBackground": "#2E3250", - "editor.findMatchBackground": "#2e3248fc", - "editor.findMatchHighlightBackground": "#7e57c233", - "editor.findRangeHighlightBackground": null, - "editor.hoverHighlightBackground": "#7e57c25a", - "editor.lineHighlightBackground": "#0003", - "editor.lineHighlightBorder": null, - "editorLink.activeForeground": null, - "editor.rangeHighlightBackground": "#7e57c25a", - "editorWhitespace.foreground": null, - "editorIndentGuide.background": "#4E557980", - "editorRuler.foreground": "#4E557980", - "editorCodeLens.foreground": "#FFCA28", - "editorBracketMatch.background": null, - "editorBracketMatch.border": null, - "editorOverviewRuler.currentContentForeground": "#7e57c2", - "editorOverviewRuler.incomingContentForeground": "#7e57c2", - "editorOverviewRuler.commonContentForeground": "#7e57c2", - "editorError.foreground": "#EF5350", - "editorError.border": null, - "editorWarning.foreground": "#FFCA28", - "editorWarning.border": null, - "editorGutter.background": null, - "editorGutter.modifiedBackground": "#e2b93d", - "editorGutter.addedBackground": "#9CCC65", - "editorGutter.deletedBackground": "#EF5350", - "diffEditor.insertedTextBackground": "#99b76d23", - "diffEditor.removedTextBackground": "#ef535033", - "editorWidget.background": "#31364a", - "editorWidget.border": null, - "editorSuggestWidget.background": "#2C3043", - "editorSuggestWidget.border": "#2B2F40", - "editorSuggestWidget.foreground": "#bfc7d5", - "editorSuggestWidget.highlightForeground": "#ffffff", - "editorSuggestWidget.selectedBackground": "#7e57c2", - "editorHoverWidget.background": "#292D3E", - "editorHoverWidget.border": "#7e57c2", - "debugExceptionWidget.background": "#292D3E", - "debugExceptionWidget.border": "#7e57c2", - "editorMarkerNavigation.background": "#31364a", - "editorMarkerNavigationError.background": "#EF5350", - "editorMarkerNavigationWarning.background": "#FFCA28", - "peekView.border": "#7e57c2", - "peekViewEditor.background": "#232635", - "peekViewEditor.matchHighlightBackground": "#7e57c25a", - "peekViewResult.background": "#2E3245", - "peekViewResult.fileForeground": "#eeffff", - "peekViewResult.lineForeground": "#eeffff", - "peekViewResult.matchHighlightBackground": "#7e57c25a", - "peekViewResult.selectionBackground": "#2E3250", - "peekViewResult.selectionForeground": "#eeffff", - "peekViewTitle.background": "#292D3E", - "peekViewTitleDescription.foreground": "#697098", - "peekViewTitleLabel.foreground": "#eeffff", - "merge.currentHeaderBackground": "#7e57c25a", - "merge.currentContentBackground": null, - "merge.incomingHeaderBackground": "#7e57c25a", - "merge.incomingContentBackground": null, - "merge.border": null, - "panel.background": "#292D3E", - "panel.border": "#282B3C", - "panelTitle.activeBorder": "#7e57c2", - "panelTitle.activeForeground": "#eeffff", - "panelTitle.inactiveForeground": "#bfc7d580", - "statusBar.background": "#282C3D", - "statusBar.foreground": "#676E95", - "statusBar.border": "#262A39", - "statusBar.debuggingBackground": "#202431", - "statusBar.debuggingForeground": null, - "statusBar.debuggingBorder": "#1F2330", - "statusBar.noFolderForeground": null, - "statusBar.noFolderBackground": "#292D3E", - "statusBar.noFolderBorder": "#25293A", - "statusBarItem.activeBackground": "#202431", - "statusBarItem.hoverBackground": "#202431", - "statusBarItem.prominentBackground": "#202431", - "statusBarItem.prominentHoverBackground": "#202431", - "titleBar.activeBackground": "#292d3e", - "titleBar.activeForeground": "#eeefff", - "titleBar.border": "#30364c", - "titleBar.inactiveBackground": "#30364c", - "titleBar.inactiveForeground": null, - "notifications.background": "#292D3E", - "notifications.foreground": "#ffffffcc", - "notificationLink.foreground": "#80CBC4", - "extensionButton.prominentForeground": "#ffffffcc", - "extensionButton.prominentBackground": "#7e57c2cc", - "extensionButton.prominentHoverBackground": "#7e57c2", - "pickerGroup.foreground": "#d1aaff", - "pickerGroup.border": "#2E3245", - "terminal.ansiWhite": "#ffffff", - "terminal.ansiBlack": "#676E95", - "terminal.ansiBlue": "#82AAFF", - "terminal.ansiCyan": "#89DDFF", - "terminal.ansiGreen": "#a9c77d", - "terminal.ansiMagenta": "#C792EA", - "terminal.ansiRed": "#ff5572", - "terminal.ansiYellow": "#FFCB6B", - "terminal.ansiBrightWhite": "#ffffff", - "terminal.ansiBrightBlack": "#676E95", - "terminal.ansiBrightBlue": "#82AAFF", - "terminal.ansiBrightCyan": "#89DDFF", - "terminal.ansiBrightGreen": "#C3E88D", - "terminal.ansiBrightMagenta": "#C792EA", - "terminal.ansiBrightRed": "#ff5572", - "terminal.ansiBrightYellow": "#FFCB6B", - "debugToolBar.background": "#292D3E", - "welcomePage.buttonBackground": null, - "welcomePage.buttonHoverBackground": null, - "walkThrough.embeddedEditorBackground": "#232635", - "gitDecoration.modifiedResourceForeground": "#e2c08de6", - "gitDecoration.deletedResourceForeground": "#EF535090", - "gitDecoration.untrackedResourceForeground": "#a9c77dff", - "gitDecoration.ignoredResourceForeground": "#69709890", - "gitDecoration.conflictingResourceForeground": "#FFEB95CC", - "editorActiveLineNumber.foreground": "#eeffff", - "breadcrumb.foreground": "#6c739a", - "breadcrumb.focusForeground": "#bfc7d5", - "breadcrumb.activeSelectionForeground": "#eeffff", - "breadcrumbPicker.background": "#292D3E" - }, - "tokenColors": [ - { - "name": "Global settings", - "settings": { - "background": "#292D3E", - "foreground": "#bfc7d5" - } - }, - { - "name": "Comment", - "scope": "comment", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "String", - "scope": "string", - "settings": { - "foreground": "#C3E88D" - } - }, - { - "name": "String Quoted", - "scope": "string.quoted", - "settings": { - "foreground": "#C3E88D" - } - }, - { - "name": "String Unquoted", - "scope": "string.unquoted", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Support Constant Math", - "scope": "support.constant.math", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Number", - "scope": ["constant.numeric", "constant.character.numeric"], - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Built-in constant", - "scope": [ - "constant.language", - "punctuation.definition.constant", - "variable.other.constant" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "User-defined constant", - "scope": ["constant.character", "constant.other"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Constant Character Escape", - "scope": "constant.character.escape", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "RegExp String", - "scope": ["string.regexp", "string.regexp keyword.other"], - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Comma in functions", - "scope": "meta.function punctuation.separator.comma", - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "Variable", - "scope": "variable", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Keyword", - "scope": ["punctuation.accessor", "keyword"], - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Storage", - "scope": [ - "storage", - "storage.type", - "meta.var.expr storage.type", - "storage.type.property.js", - "storage.type.property.ts", - "storage.type.property.tsx", - "meta.class meta.method.declaration meta.var.expr storage.type.js" - ], - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Class name", - "scope": ["entity.name.class", "meta.class entity.name.type.class"], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Inherited class", - "scope": "entity.other.inherited-class", - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Function name", - "scope": "entity.name.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Function Parameters", - "scope": "variable.parameter", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "Meta Tag", - "scope": ["punctuation.definition.tag", "meta.tag"], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "HTML Tag names", - "scope": [ - "entity.name.tag support.class.component", - "meta.tag.other.html", - "meta.tag.other.js", - "meta.tag.other.tsx", - "entity.name.tag.tsx", - "entity.name.tag.js", - "entity.name.tag", - "meta.tag.js", - "meta.tag.tsx", - "meta.tag.html" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Tag attribute", - "scope": "entity.other.attribute-name", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Entity Name Tag Custom", - "scope": "entity.name.tag.custom", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Library (function & constant)", - "scope": ["support.function", "support.constant"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Support Constant Property Value meta", - "scope": "support.constant.meta.property-value", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Library class/type", - "scope": ["support.type", "support.class"], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Support Variable DOM", - "scope": "support.variable.dom", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Invalid", - "scope": "invalid", - "settings": { - "background": "#ff2c83", - "foreground": "#ffffff" - } - }, - { - "name": "Invalid deprecated", - "scope": "invalid.deprecated", - "settings": { - "foreground": "#ffffff", - "background": "#d3423e" - } - }, - { - "name": "Keyword Operator", - "scope": "keyword.operator", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Keyword Operator Relational", - "scope": "keyword.operator.relational", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Keyword Operator Assignment", - "scope": "keyword.operator.assignment", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Double-Slashed Comment", - "scope": "comment.line.double-slash", - "settings": { - "foreground": "#697098" - } - }, - { - "name": "Object", - "scope": "object", - "settings": { - "foreground": "#cdebf7" - } - }, - { - "name": "Null", - "scope": "constant.language.null", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Meta Brace", - "scope": "meta.brace", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Meta Delimiter Period", - "scope": "meta.delimiter.period", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Punctuation Definition String", - "scope": "punctuation.definition.string", - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Boolean", - "scope": "constant.language.boolean", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Object Comma", - "scope": "object.comma", - "settings": { - "foreground": "#ffffff" - } - }, - { - "name": "Variable Parameter Function", - "scope": "variable.parameter.function", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Support Type Property Name & entity name tags", - "scope": [ - "support.type.vendored.property-name", - "support.constant.vendored.property-value", - "support.type.property-name", - "meta.property-list entity.name.tag" - ], - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Entity Name tag reference in stylesheets", - "scope": "meta.property-list entity.name.tag.reference", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Constant Other Color RGB Value Punctuation Definition Constant", - "scope": "constant.other.color.rgb-value punctuation.definition.constant", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Constant Other Color", - "scope": "constant.other.color", - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Keyword Other Unit", - "scope": "keyword.other.unit", - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Meta Selector", - "scope": "meta.selector", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Entity Other Attribute Name Id", - "scope": "entity.other.attribute-name.id", - "settings": { - "foreground": "#FAD430" - } - }, - { - "name": "Meta Property Name", - "scope": "meta.property-name", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Doctypes", - "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Punctuation Definition Parameters", - "scope": "punctuation.definition.parameters", - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Keyword Control Operator", - "scope": "keyword.control.operator", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Keyword Operator Logical", - "scope": "keyword.operator.logical", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Variable Instances", - "scope": [ - "variable.instance", - "variable.other.instance", - "variable.reaedwrite.instance", - "variable.other.readwrite.instance" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Variable Property Other", - "scope": ["variable.other.property", "variable.other.object.property"], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Entity Name Function", - "scope": "entity.name.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Keyword Operator Comparison", - "scope": "keyword.operator.comparison", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Support Constant, `new` keyword, Special Method Keyword", - "scope": [ - "support.constant", - "keyword.other.special-method", - "keyword.other.new" - ], - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Support Function", - "scope": "support.function", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Invalid Broken", - "scope": "invalid.broken", - "settings": { - "foreground": "#020e14", - "background": "#F78C6C" - } - }, - { - "name": "Invalid Unimplemented", - "scope": "invalid.unimplemented", - "settings": { - "background": "#8BD649", - "foreground": "#ffffff" - } - }, - { - "name": "Invalid Illegal", - "scope": "invalid.illegal", - "settings": { - "foreground": "#ffffff", - "background": "#ec5f67" - } - }, - { - "name": "Language Variable", - "scope": "variable.language", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Support Variable Property", - "scope": "support.variable.property", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "Variable Function", - "scope": "variable.function", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Variable Interpolation", - "scope": "variable.interpolation", - "settings": { - "foreground": "#ec5f67" - } - }, - { - "name": "Meta Function Call", - "scope": "meta.function-call", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Punctuation Section Embedded", - "scope": "punctuation.section.embedded", - "settings": { - "foreground": "#d3423e" - } - }, - { - "name": "Punctuation Tweaks", - "scope": [ - "punctuation.terminator.expression", - "punctuation.definition.arguments", - "punctuation.definition.array", - "punctuation.section.array", - "meta.array" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "More Punctuation Tweaks", - "scope": [ - "punctuation.definition.list.begin", - "punctuation.definition.list.end", - "punctuation.separator.arguments", - "punctuation.definition.list" - ], - "settings": { - "foreground": "#d9f5dd" - } - }, - { - "name": "Template Strings", - "scope": "string.template meta.template.expression", - "settings": { - "foreground": "#d3423e" - } - }, - { - "name": "Backtics(``) in Template Strings", - "scope": "string.template punctuation.definition.string", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Italics", - "scope": "italic", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Bold", - "scope": "bold", - "settings": { - "foreground": "#ffcb6b", - "fontStyle": "bold" - } - }, - { - "name": "Quote", - "scope": "quote", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "Raw Code", - "scope": "raw", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "CoffeScript Variable Assignment", - "scope": "variable.assignment.coffee", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "CoffeScript Parameter Function", - "scope": "variable.parameter.function.coffee", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "CoffeeScript Assignments", - "scope": "variable.assignment.coffee", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "C# Readwrite Variables", - "scope": "variable.other.readwrite.cs", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "C# Classes & Storage types", - "scope": ["entity.name.type.class.cs", "storage.type.cs"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "C# Namespaces", - "scope": "entity.name.type.namespace.cs", - "settings": { - "foreground": "#B2CCD6" - } - }, - { - "name": "Tag names in Stylesheets", - "scope": [ - "entity.name.tag.css", - "entity.name.tag.less", - "entity.name.tag.custom.css" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Wildcard(*) selector in Stylesheets", - "scope": [ - "entity.name.tag.wildcard.css", - "entity.name.tag.wildcard.less", - "entity.name.tag.wildcard.scss", - "entity.name.tag.wildcard.sass" - ], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "(C|SC|SA|LE)SS property value unit", - "scope": [ - "keyword.other.unit.css", - "constant.length.units.css", - "keyword.other.unit.less", - "constant.length.units.less", - "keyword.other.unit.scss", - "constant.length.units.scss", - "keyword.other.unit.sass", - "constant.length.units.sass" - ], - "settings": { - "foreground": "#FFEB95" - } - }, - { - "name": "Attribute Name for CSS", - "scope": "meta.attribute-selector.css entity.other.attribute-name.attribute", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "punctuations in styled components", - "scope": [ - "source.js source.css meta.property-list", - "source.js source.css punctuation.section", - "source.js source.css punctuation.terminator.rule", - "source.js source.css punctuation.definition.entity.end.bracket", - "source.js source.css punctuation.definition.entity.begin.bracket", - "source.js source.css punctuation.separator.key-value", - "source.js source.css punctuation.definition.attribute-selector", - "source.js source.css meta.property-list", - "source.js source.css meta.property-list punctuation.separator.comma", - "source.ts source.css punctuation.section", - "source.ts source.css punctuation.terminator.rule", - "source.ts source.css punctuation.definition.entity.end.bracket", - "source.ts source.css punctuation.definition.entity.begin.bracket", - "source.ts source.css punctuation.separator.key-value", - "source.ts source.css punctuation.definition.attribute-selector", - "source.ts source.css meta.property-list", - "source.ts source.css meta.property-list punctuation.separator.comma" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Elixir Classes", - "scope": [ - "source.elixir support.type.elixir", - "source.elixir meta.module.elixir entity.name.class.elixir" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Elixir Functions", - "scope": "source.elixir entity.name.function", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Elixir Constants", - "scope": [ - "source.elixir constant.other.symbol.elixir", - "source.elixir constant.other.keywords.elixir" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Elixir String Punctuations", - "scope": "source.elixir punctuation.definition.string", - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Elixir", - "scope": [ - "source.elixir variable.other.readwrite.module.elixir", - "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" - ], - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Elixir Binary Punctuations", - "scope": "source.elixir .punctuation.binary.elixir", - "settings": { - "foreground": "#c792ea" - } - }, - { - "name": "Go Function Calls", - "scope": "source.go meta.function-call.go", - "settings": { - "foreground": "#DDDDDD" - } - }, - { - "name": "GraphQL Variables", - "scope": "variable.qraphql", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "ID Attribute Name in HTML", - "scope": "entity.other.attribute-name.id.html", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "HTML Punctuation Definition Tag", - "scope": "punctuation.definition.tag.html", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "HTML Doctype", - "scope": "meta.tag.sgml.doctype.html", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "JavaScript Classes", - "scope": "meta.class entity.name.type.class.js", - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "JavaScript Method Declaration e.g. `constructor`", - "scope": "meta.method.declaration storage.type.js", - "settings": { - "foreground": "#82AAFF", - "fontStyle": "normal" - } - }, - { - "name": "JavaScript Terminator", - "scope": "terminator.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Meta Punctuation Definition", - "scope": "meta.js punctuation.definition.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Entity Names in Code Documentations", - "scope": [ - "entity.name.type.instance.jsdoc", - "entity.name.type.instance.phpdoc" - ], - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "Other Variables in Code Documentations", - "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], - "settings": { - "foreground": "#78ccf0" - } - }, - { - "name": "JavaScript module imports and exports", - "scope": [ - "variable.other.meta.import.js", - "meta.import.js variable.other", - "variable.other.meta.export.js", - "meta.export.js variable.other" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Variable Parameter Function", - "scope": "variable.parameter.function.js", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "JavaScript Variable Other ReadWrite", - "scope": "variable.other.readwrite.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Text nested in React tags", - "scope": [ - "meta.jsx.children", - "meta.jsx.children.js", - "meta.jsx.children.tsx" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript[React] Variable Other Object", - "scope": [ - "variable.other.object.js", - "variable.other.object.jsx", - "meta.object-literal.key.js", - "meta.object-literal.key.jsx", - "variable.object.property.js", - "variable.object.property.jsx" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Variables", - "scope": ["variable.js", "variable.other.js"], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JavaScript Entity Name Type", - "scope": ["entity.name.type.js", "entity.name.type.module.js"], - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "JavaScript Support Classes", - "scope": "support.class.js", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "JSON Property Names", - "scope": "support.type.property-name.json", - "settings": { - "foreground": "#C3E88D", - "fontStyle": "normal" - } - }, - { - "name": "JSON Support Constants", - "scope": "support.constant.json", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "JSON Property values (string)", - "scope": "meta.structure.dictionary.value.json string.quoted.double", - "settings": { - "foreground": "#80CBC4", - "fontStyle": "normal" - } - }, - { - "name": "Strings in JSON values", - "scope": "string.quoted.double.json punctuation.definition.string.json", - "settings": { - "foreground": "#80CBC4", - "fontStyle": "normal" - } - }, - { - "name": "Specific JSON Property values like null", - "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Ruby Variables", - "scope": "variable.other.ruby", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Ruby Hashkeys", - "scope": "constant.language.symbol.hashkey.ruby", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "LESS Tag names", - "scope": "entity.name.tag.less", - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Attribute Name for LESS", - "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Markup Headings", - "scope": "markup.heading", - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Markup Italics", - "scope": "markup.italic", - "settings": { - "foreground": "#c792ea", - "fontStyle": "italic" - } - }, - { - "name": "Markup Bold", - "scope": "markup.bold", - "settings": { - "foreground": "#ffcb6b", - "fontStyle": "bold" - } - }, - { - "name": "Markup Quote + others", - "scope": "markup.quote", - "settings": { - "foreground": "#697098", - "fontStyle": "italic" - } - }, - { - "name": "Markup Raw Code + others", - "scope": "markup.inline.raw", - "settings": { - "foreground": "#80CBC4" - } - }, - { - "name": "Markup Links", - "scope": ["markup.underline.link", "markup.underline.link.image"], - "settings": { - "foreground": "#ff869a" - } - }, - { - "name": "Markup Attributes", - "scope": ["markup.meta.attribute-list"], - "settings": { - "foreground": "#a9c77d" - } - }, - { - "name": "Markup Admonitions", - "scope": "markup.admonition", - "settings": { - "fontStyle": "bold" - } - }, - { - "name": "Markup Lists", - "scope": "markup.list.bullet", - "settings": { - "foreground": "#D9F5DD" - } - }, - { - "name": "Markup Superscript and Subscript", - "scope": ["markup.superscript", "markup.subscript"], - "settings": { - "fontStyle": "italic" - } - }, - { - "name": "Markdown Link Title and Description", - "scope": [ - "string.other.link.title.markdown", - "string.other.link.description.markdown" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Markdown Punctuation", - "scope": [ - "punctuation.definition.string.markdown", - "punctuation.definition.string.begin.markdown", - "punctuation.definition.string.end.markdown", - "meta.link.inline.markdown punctuation.definition.string" - ], - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Markdown MetaData Punctuation", - "scope": ["punctuation.definition.metadata.markdown"], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "Markdown List Punctuation", - "scope": ["beginning.punctuation.definition.list.markdown"], - "settings": { - "foreground": "#82b1ff" - } - }, - { - "name": "Asciidoc Function", - "scope": "entity.name.function.asciidoc", - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "PHP Variables", - "scope": "variable.other.php", - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "Support Classes in PHP", - "scope": "support.class.php", - "settings": { - "foreground": "#ffcb8b" - } - }, - { - "name": "Punctuations in PHP function calls", - "scope": "meta.function-call.php punctuation", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "PHP Global Variables", - "scope": "variable.other.global.php", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Declaration Punctuation in PHP Global Variables", - "scope": "variable.other.global.php punctuation.definition.variable", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Language Constants in Python", - "scope": "constant.language.python", - "settings": { - "foreground": "#ff5874" - } - }, - { - "name": "Python Function Parameter and Arguments", - "scope": [ - "variable.parameter.function.python", - "meta.function-call.arguments.python" - ], - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "Python Function Call", - "scope": [ - "meta.function-call.python", - "meta.function-call.generic.python" - ], - "settings": { - "foreground": "#B2CCD6" - } - }, - { - "name": "Punctuations in Python", - "scope": "punctuation.python", - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "Decorator Functions in Python", - "scope": "entity.name.function.decorator.python", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "Python Language Variable", - "scope": "source.python variable.language.special", - "settings": { - "foreground": "#8EACE3" - } - }, - { - "name": "SCSS Variable", - "scope": [ - "variable.scss", - "variable.sass", - "variable.parameter.url.scss", - "variable.parameter.url.sass" - ], - "settings": { - "foreground": "#DDDDDD" - } - }, - { - "name": "Variables in SASS At-Rules", - "scope": [ - "source.css.scss meta.at-rule variable", - "source.css.sass meta.at-rule variable" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "Variables in SASS At-Rules", - "scope": [ - "source.css.scss meta.at-rule variable", - "source.css.sass meta.at-rule variable" - ], - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "Attribute Name for SASS", - "scope": [ - "meta.attribute-selector.scss entity.other.attribute-name.attribute", - "meta.attribute-selector.sass entity.other.attribute-name.attribute" - ], - "settings": { - "foreground": "#F78C6C" - } - }, - { - "name": "Tag names in SASS", - "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], - "settings": { - "foreground": "#ff5572" - } - }, - { - "name": "TypeScript[React] Variables and Object Properties", - "scope": [ - "variable.other.readwrite.alias.ts", - "variable.other.readwrite.alias.tsx", - "variable.other.readwrite.ts", - "variable.other.readwrite.tsx", - "variable.other.object.ts", - "variable.other.object.tsx", - "variable.object.property.ts", - "variable.object.property.tsx", - "variable.other.ts", - "variable.other.tsx", - "variable.tsx", - "variable.ts" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "TypeScript[React] Entity Name Types", - "scope": ["entity.name.type.ts", "entity.name.type.tsx"], - "settings": { - "foreground": "#78ccf0" - } - }, - { - "name": "TypeScript[React] Node Classes", - "scope": ["support.class.node.ts", "support.class.node.tsx"], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "TypeScript[React] Entity Name Types as Parameters", - "scope": [ - "meta.type.parameters.ts entity.name.type", - "meta.type.parameters.tsx entity.name.type" - ], - "settings": { - "foreground": "#eeffff" - } - }, - { - "name": "TypeScript[React] Import/Export Punctuations", - "scope": [ - "meta.import.ts punctuation.definition.block", - "meta.import.tsx punctuation.definition.block", - "meta.export.ts punctuation.definition.block", - "meta.export.tsx punctuation.definition.block" - ], - "settings": { - "foreground": "#bfc7d5" - } - }, - { - "name": "TypeScript[React] Punctuation Decorators", - "scope": [ - "meta.decorator punctuation.decorator.ts", - "meta.decorator punctuation.decorator.tsx" - ], - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "TypeScript[React] Punctuation Decorators", - "scope": "meta.tag.js meta.jsx.children.tsx", - "settings": { - "foreground": "#82AAFF" - } - }, - { - "name": "YAML Entity Name Tags", - "scope": "entity.name.tag.yaml", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "handlebars variables", - "scope": "variable.parameter.handlebars", - "settings": { - "foreground": "#bec5d4" - } - }, - { - "name": "handlebars parameters", - "scope": "entity.other.attribute-name.handlebars variable.parameter.handlebars", - "settings": { - "foreground": "#ffcb6b" - } - }, - { - "name": "handlebars enitity attribute names", - "scope": "entity.other.attribute-name.handlebars", - "settings": { - "foreground": "#89DDFF" - } - }, - { - "name": "handlebars enitity attribute values", - "scope": "entity.other.attribute-value.handlebars variable.parameter.handlebars", - "settings": { - "foreground": "#7986E7" - } - }, - { - "name": "normalize font style of certain components", - "scope": [ - "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", - "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", - "meta.property-list.css meta.property-value.css variable.other.less", - "punctuation.section.embedded.begin.js.jsx", - "punctuation.section.embedded.end.js.jsx", - "meta.property-list.scss variable.scss", - "meta.property-list.sass variable.sass", - "keyword.operator.logical", - "keyword.operator.arithmetic", - "keyword.operator.bitwise", - "keyword.operator.increment", - "keyword.operator.ternary", - "keyword.operator.comparison", - "keyword.operator.assignment", - "keyword.operator.operator", - "keyword.operator.or.regexp", - "keyword.operator.expression.in", - "keyword.operator.type", - "punctuation.section.embedded.js", - "punctuation.definintion.string", - "punctuation" - ], - "settings": { - "fontStyle": "normal" - } - } - ] -} +{ + "name": "Palenight Theme", + "author": "Olaolu Olawuyi", + "maintainers": ["Olaolu Olawuyi "], + "type": "dark", + "semanticClass": "palenight", + "colors": { + "contrastActiveBorder": null, + "contrastBorder": "#282B3C", + "focusBorder": "#282B3C", + "foreground": "#ffffff", + "widget.shadow": "#232635", + "selection.background": "#7580B850", + "descriptionForeground": null, + "errorForeground": "#EF5350", + "button.background": "#7e57c2cc", + "button.foreground": "#ffffffcc", + "button.hoverBackground": "#7e57c2", + "dropdown.background": "#292D3E", + "dropdown.border": "#7e57c2", + "dropdown.foreground": "#ffffffcc", + "input.background": "#313850", + "input.border": "#7e57c2", + "input.foreground": "#ffffffcc", + "input.placeholderForeground": "#ffffffcc", + "inputOption.activeBorder": "#ffffffcc", + "inputValidation.errorBackground": "#ef5350f2", + "inputValidation.errorBorder": "#EF5350", + "inputValidation.infoBackground": "#64b5f6f2", + "inputValidation.infoBorder": "#64B5F6", + "inputValidation.warningBackground": "#ffca28f2", + "inputValidation.warningBorder": "#FFCA28", + "scrollbar.shadow": "#292D3E00", + "scrollbarSlider.activeBackground": "#694CA4cc", + "scrollbarSlider.background": "#694CA466", + "scrollbarSlider.hoverBackground": "#694CA4cc", + "badge.background": "#7e57c2", + "badge.foreground": "#ffffff", + "progress.background": "#7e57c2", + "list.activeSelectionBackground": "#7e57c2", + "list.activeSelectionForeground": "#ffffff", + "list.dropBackground": "#2E3245", + "list.focusBackground": "#0000002e", + "list.focusForeground": "#ffffff", + "list.highlightForeground": "#ffffff", + "list.hoverBackground": "#0000001a", + "list.hoverForeground": "#ffffff", + "list.inactiveSelectionBackground": "#929ac90d", + "list.inactiveSelectionForeground": "#929ac9", + "activityBar.background": "#282C3D", + "activityBar.dropBackground": "#7e57c2e3", + "activityBar.foreground": "#eeffff", + "activityBar.border": "#282C3D", + "activityBarBadge.background": "#7e57c2", + "activityBarBadge.foreground": "#ffffff", + "sideBar.background": "#292D3E", + "sideBar.foreground": "#6C739A", + "sideBar.border": "#282B3C", + "sideBarTitle.foreground": "#eeffff", + "sideBarSectionHeader.background": "#292D3E", + "sideBarSectionHeader.foreground": "#eeffff", + "editorGroup.background": "#32374C", + "editorGroup.border": "#2E3245", + "editorGroup.dropBackground": "#7e57c273", + "editorGroupHeader.noTabsBackground": "#32374C", + "editorGroupHeader.tabsBackground": "#31364a", + "editorGroupHeader.tabsBorder": "#262A39", + "tab.activeBackground": "#292D3E", + "tab.activeForeground": "#eeffff", + "tab.border": "#272B3B", + "tab.activeBorder": "#262A39", + "tab.unfocusedActiveBorder": "#262A39", + "tab.inactiveBackground": "#31364A", + "tab.inactiveForeground": "#929ac9", + "tab.unfocusedActiveForeground": null, + "tab.unfocusedInactiveForeground": null, + "editor.background": "#292D3E", + "editor.foreground": "#BFC7D5", + "editorLineNumber.foreground": "#4c5374", + "editorLineNumber.activeForeground": "#eeffff", + "editorCursor.foreground": "#7e57c2", + "editorCursor.background": null, + "editor.selectionBackground": "#7580B850", + "editor.selectionHighlightBackground": "#383D51", + "editor.inactiveSelectionBackground": "#7e57c25a", + "editor.wordHighlightBackground": "#32374D", + "editor.wordHighlightStrongBackground": "#2E3250", + "editor.findMatchBackground": "#2e3248fc", + "editor.findMatchHighlightBackground": "#7e57c233", + "editor.findRangeHighlightBackground": null, + "editor.hoverHighlightBackground": "#7e57c25a", + "editor.lineHighlightBackground": "#0003", + "editor.lineHighlightBorder": null, + "editorLink.activeForeground": null, + "editor.rangeHighlightBackground": "#7e57c25a", + "editorWhitespace.foreground": null, + "editorIndentGuide.background": "#4E557980", + "editorRuler.foreground": "#4E557980", + "editorCodeLens.foreground": "#FFCA28", + "editorBracketMatch.background": null, + "editorBracketMatch.border": null, + "editorOverviewRuler.currentContentForeground": "#7e57c2", + "editorOverviewRuler.incomingContentForeground": "#7e57c2", + "editorOverviewRuler.commonContentForeground": "#7e57c2", + "editorError.foreground": "#EF5350", + "editorError.border": null, + "editorWarning.foreground": "#FFCA28", + "editorWarning.border": null, + "editorGutter.background": null, + "editorGutter.modifiedBackground": "#e2b93d", + "editorGutter.addedBackground": "#9CCC65", + "editorGutter.deletedBackground": "#EF5350", + "diffEditor.insertedTextBackground": "#99b76d23", + "diffEditor.removedTextBackground": "#ef535033", + "editorWidget.background": "#31364a", + "editorWidget.border": null, + "editorSuggestWidget.background": "#2C3043", + "editorSuggestWidget.border": "#2B2F40", + "editorSuggestWidget.foreground": "#bfc7d5", + "editorSuggestWidget.highlightForeground": "#ffffff", + "editorSuggestWidget.selectedBackground": "#7e57c2", + "editorHoverWidget.background": "#292D3E", + "editorHoverWidget.border": "#7e57c2", + "debugExceptionWidget.background": "#292D3E", + "debugExceptionWidget.border": "#7e57c2", + "editorMarkerNavigation.background": "#31364a", + "editorMarkerNavigationError.background": "#EF5350", + "editorMarkerNavigationWarning.background": "#FFCA28", + "peekView.border": "#7e57c2", + "peekViewEditor.background": "#232635", + "peekViewEditor.matchHighlightBackground": "#7e57c25a", + "peekViewResult.background": "#2E3245", + "peekViewResult.fileForeground": "#eeffff", + "peekViewResult.lineForeground": "#eeffff", + "peekViewResult.matchHighlightBackground": "#7e57c25a", + "peekViewResult.selectionBackground": "#2E3250", + "peekViewResult.selectionForeground": "#eeffff", + "peekViewTitle.background": "#292D3E", + "peekViewTitleDescription.foreground": "#697098", + "peekViewTitleLabel.foreground": "#eeffff", + "merge.currentHeaderBackground": "#7e57c25a", + "merge.currentContentBackground": null, + "merge.incomingHeaderBackground": "#7e57c25a", + "merge.incomingContentBackground": null, + "merge.border": null, + "panel.background": "#292D3E", + "panel.border": "#282B3C", + "panelTitle.activeBorder": "#7e57c2", + "panelTitle.activeForeground": "#eeffff", + "panelTitle.inactiveForeground": "#bfc7d580", + "statusBar.background": "#282C3D", + "statusBar.foreground": "#676E95", + "statusBar.border": "#262A39", + "statusBar.debuggingBackground": "#202431", + "statusBar.debuggingForeground": null, + "statusBar.debuggingBorder": "#1F2330", + "statusBar.noFolderForeground": null, + "statusBar.noFolderBackground": "#292D3E", + "statusBar.noFolderBorder": "#25293A", + "statusBarItem.activeBackground": "#202431", + "statusBarItem.hoverBackground": "#202431", + "statusBarItem.prominentBackground": "#202431", + "statusBarItem.prominentHoverBackground": "#202431", + "titleBar.activeBackground": "#292d3e", + "titleBar.activeForeground": "#eeefff", + "titleBar.border": "#30364c", + "titleBar.inactiveBackground": "#30364c", + "titleBar.inactiveForeground": null, + "notifications.background": "#292D3E", + "notifications.foreground": "#ffffffcc", + "notificationLink.foreground": "#80CBC4", + "extensionButton.prominentForeground": "#ffffffcc", + "extensionButton.prominentBackground": "#7e57c2cc", + "extensionButton.prominentHoverBackground": "#7e57c2", + "pickerGroup.foreground": "#d1aaff", + "pickerGroup.border": "#2E3245", + "terminal.ansiWhite": "#ffffff", + "terminal.ansiBlack": "#676E95", + "terminal.ansiBlue": "#82AAFF", + "terminal.ansiCyan": "#89DDFF", + "terminal.ansiGreen": "#a9c77d", + "terminal.ansiMagenta": "#C792EA", + "terminal.ansiRed": "#ff5572", + "terminal.ansiYellow": "#FFCB6B", + "terminal.ansiBrightWhite": "#ffffff", + "terminal.ansiBrightBlack": "#676E95", + "terminal.ansiBrightBlue": "#82AAFF", + "terminal.ansiBrightCyan": "#89DDFF", + "terminal.ansiBrightGreen": "#C3E88D", + "terminal.ansiBrightMagenta": "#C792EA", + "terminal.ansiBrightRed": "#ff5572", + "terminal.ansiBrightYellow": "#FFCB6B", + "debugToolBar.background": "#292D3E", + "welcomePage.buttonBackground": null, + "welcomePage.buttonHoverBackground": null, + "walkThrough.embeddedEditorBackground": "#232635", + "gitDecoration.modifiedResourceForeground": "#e2c08de6", + "gitDecoration.deletedResourceForeground": "#EF535090", + "gitDecoration.untrackedResourceForeground": "#a9c77dff", + "gitDecoration.ignoredResourceForeground": "#69709890", + "gitDecoration.conflictingResourceForeground": "#FFEB95CC", + "editorActiveLineNumber.foreground": "#eeffff", + "breadcrumb.foreground": "#6c739a", + "breadcrumb.focusForeground": "#bfc7d5", + "breadcrumb.activeSelectionForeground": "#eeffff", + "breadcrumbPicker.background": "#292D3E" + }, + "tokenColors": [ + { + "name": "Global settings", + "settings": { + "background": "#292D3E", + "foreground": "#bfc7d5" + } + }, + { + "name": "Comment", + "scope": "comment", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "String", + "scope": "string", + "settings": { + "foreground": "#C3E88D" + } + }, + { + "name": "String Quoted", + "scope": "string.quoted", + "settings": { + "foreground": "#C3E88D" + } + }, + { + "name": "String Unquoted", + "scope": "string.unquoted", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Support Constant Math", + "scope": "support.constant.math", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Number", + "scope": ["constant.numeric", "constant.character.numeric"], + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Built-in constant", + "scope": [ + "constant.language", + "punctuation.definition.constant", + "variable.other.constant" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "User-defined constant", + "scope": ["constant.character", "constant.other"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Constant Character Escape", + "scope": "constant.character.escape", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "RegExp String", + "scope": ["string.regexp", "string.regexp keyword.other"], + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Comma in functions", + "scope": "meta.function punctuation.separator.comma", + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "Variable", + "scope": "variable", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Keyword", + "scope": ["punctuation.accessor", "keyword"], + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Storage", + "scope": [ + "storage", + "storage.type", + "meta.var.expr storage.type", + "storage.type.property.js", + "storage.type.property.ts", + "storage.type.property.tsx", + "meta.class meta.method.declaration meta.var.expr storage.type.js" + ], + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Class name", + "scope": ["entity.name.class", "meta.class entity.name.type.class"], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Inherited class", + "scope": "entity.other.inherited-class", + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Function name", + "scope": "entity.name.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Function Parameters", + "scope": "variable.parameter", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "Meta Tag", + "scope": ["punctuation.definition.tag", "meta.tag"], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "HTML Tag names", + "scope": [ + "entity.name.tag support.class.component", + "meta.tag.other.html", + "meta.tag.other.js", + "meta.tag.other.tsx", + "entity.name.tag.tsx", + "entity.name.tag.js", + "entity.name.tag", + "meta.tag.js", + "meta.tag.tsx", + "meta.tag.html" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Tag attribute", + "scope": "entity.other.attribute-name", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Entity Name Tag Custom", + "scope": "entity.name.tag.custom", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Library (function & constant)", + "scope": ["support.function", "support.constant"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Support Constant Property Value meta", + "scope": "support.constant.meta.property-value", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Library class/type", + "scope": ["support.type", "support.class"], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Support Variable DOM", + "scope": "support.variable.dom", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Invalid", + "scope": "invalid", + "settings": { + "background": "#ff2c83", + "foreground": "#ffffff" + } + }, + { + "name": "Invalid deprecated", + "scope": "invalid.deprecated", + "settings": { + "foreground": "#ffffff", + "background": "#d3423e" + } + }, + { + "name": "Keyword Operator", + "scope": "keyword.operator", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Keyword Operator Relational", + "scope": "keyword.operator.relational", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Keyword Operator Assignment", + "scope": "keyword.operator.assignment", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Double-Slashed Comment", + "scope": "comment.line.double-slash", + "settings": { + "foreground": "#697098" + } + }, + { + "name": "Object", + "scope": "object", + "settings": { + "foreground": "#cdebf7" + } + }, + { + "name": "Null", + "scope": "constant.language.null", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Meta Brace", + "scope": "meta.brace", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Meta Delimiter Period", + "scope": "meta.delimiter.period", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Punctuation Definition String", + "scope": "punctuation.definition.string", + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Boolean", + "scope": "constant.language.boolean", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Object Comma", + "scope": "object.comma", + "settings": { + "foreground": "#ffffff" + } + }, + { + "name": "Variable Parameter Function", + "scope": "variable.parameter.function", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Support Type Property Name & entity name tags", + "scope": [ + "support.type.vendored.property-name", + "support.constant.vendored.property-value", + "support.type.property-name", + "meta.property-list entity.name.tag" + ], + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Entity Name tag reference in stylesheets", + "scope": "meta.property-list entity.name.tag.reference", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Constant Other Color RGB Value Punctuation Definition Constant", + "scope": "constant.other.color.rgb-value punctuation.definition.constant", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Constant Other Color", + "scope": "constant.other.color", + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Keyword Other Unit", + "scope": "keyword.other.unit", + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Meta Selector", + "scope": "meta.selector", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Entity Other Attribute Name Id", + "scope": "entity.other.attribute-name.id", + "settings": { + "foreground": "#FAD430" + } + }, + { + "name": "Meta Property Name", + "scope": "meta.property-name", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Doctypes", + "scope": ["entity.name.tag.doctype", "meta.tag.sgml.doctype"], + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Punctuation Definition Parameters", + "scope": "punctuation.definition.parameters", + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Keyword Control Operator", + "scope": "keyword.control.operator", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Keyword Operator Logical", + "scope": "keyword.operator.logical", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Variable Instances", + "scope": [ + "variable.instance", + "variable.other.instance", + "variable.reaedwrite.instance", + "variable.other.readwrite.instance" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Variable Property Other", + "scope": ["variable.other.property", "variable.other.object.property"], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Entity Name Function", + "scope": "entity.name.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Keyword Operator Comparison", + "scope": "keyword.operator.comparison", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Support Constant, `new` keyword, Special Method Keyword", + "scope": [ + "support.constant", + "keyword.other.special-method", + "keyword.other.new" + ], + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Support Function", + "scope": "support.function", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Invalid Broken", + "scope": "invalid.broken", + "settings": { + "foreground": "#020e14", + "background": "#F78C6C" + } + }, + { + "name": "Invalid Unimplemented", + "scope": "invalid.unimplemented", + "settings": { + "background": "#8BD649", + "foreground": "#ffffff" + } + }, + { + "name": "Invalid Illegal", + "scope": "invalid.illegal", + "settings": { + "foreground": "#ffffff", + "background": "#ec5f67" + } + }, + { + "name": "Language Variable", + "scope": "variable.language", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Support Variable Property", + "scope": "support.variable.property", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "Variable Function", + "scope": "variable.function", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Variable Interpolation", + "scope": "variable.interpolation", + "settings": { + "foreground": "#ec5f67" + } + }, + { + "name": "Meta Function Call", + "scope": "meta.function-call", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Punctuation Section Embedded", + "scope": "punctuation.section.embedded", + "settings": { + "foreground": "#d3423e" + } + }, + { + "name": "Punctuation Tweaks", + "scope": [ + "punctuation.terminator.expression", + "punctuation.definition.arguments", + "punctuation.definition.array", + "punctuation.section.array", + "meta.array" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "More Punctuation Tweaks", + "scope": [ + "punctuation.definition.list.begin", + "punctuation.definition.list.end", + "punctuation.separator.arguments", + "punctuation.definition.list" + ], + "settings": { + "foreground": "#d9f5dd" + } + }, + { + "name": "Template Strings", + "scope": "string.template meta.template.expression", + "settings": { + "foreground": "#d3423e" + } + }, + { + "name": "Backtics(``) in Template Strings", + "scope": "string.template punctuation.definition.string", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Italics", + "scope": "italic", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Bold", + "scope": "bold", + "settings": { + "foreground": "#ffcb6b", + "fontStyle": "bold" + } + }, + { + "name": "Quote", + "scope": "quote", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "Raw Code", + "scope": "raw", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "CoffeScript Variable Assignment", + "scope": "variable.assignment.coffee", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "CoffeScript Parameter Function", + "scope": "variable.parameter.function.coffee", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "CoffeeScript Assignments", + "scope": "variable.assignment.coffee", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "C# Readwrite Variables", + "scope": "variable.other.readwrite.cs", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "C# Classes & Storage types", + "scope": ["entity.name.type.class.cs", "storage.type.cs"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "C# Namespaces", + "scope": "entity.name.type.namespace.cs", + "settings": { + "foreground": "#B2CCD6" + } + }, + { + "name": "Tag names in Stylesheets", + "scope": [ + "entity.name.tag.css", + "entity.name.tag.less", + "entity.name.tag.custom.css" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Wildcard(*) selector in Stylesheets", + "scope": [ + "entity.name.tag.wildcard.css", + "entity.name.tag.wildcard.less", + "entity.name.tag.wildcard.scss", + "entity.name.tag.wildcard.sass" + ], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "(C|SC|SA|LE)SS property value unit", + "scope": [ + "keyword.other.unit.css", + "constant.length.units.css", + "keyword.other.unit.less", + "constant.length.units.less", + "keyword.other.unit.scss", + "constant.length.units.scss", + "keyword.other.unit.sass", + "constant.length.units.sass" + ], + "settings": { + "foreground": "#FFEB95" + } + }, + { + "name": "Attribute Name for CSS", + "scope": "meta.attribute-selector.css entity.other.attribute-name.attribute", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "punctuations in styled components", + "scope": [ + "source.js source.css meta.property-list", + "source.js source.css punctuation.section", + "source.js source.css punctuation.terminator.rule", + "source.js source.css punctuation.definition.entity.end.bracket", + "source.js source.css punctuation.definition.entity.begin.bracket", + "source.js source.css punctuation.separator.key-value", + "source.js source.css punctuation.definition.attribute-selector", + "source.js source.css meta.property-list", + "source.js source.css meta.property-list punctuation.separator.comma", + "source.ts source.css punctuation.section", + "source.ts source.css punctuation.terminator.rule", + "source.ts source.css punctuation.definition.entity.end.bracket", + "source.ts source.css punctuation.definition.entity.begin.bracket", + "source.ts source.css punctuation.separator.key-value", + "source.ts source.css punctuation.definition.attribute-selector", + "source.ts source.css meta.property-list", + "source.ts source.css meta.property-list punctuation.separator.comma" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Elixir Classes", + "scope": [ + "source.elixir support.type.elixir", + "source.elixir meta.module.elixir entity.name.class.elixir" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Elixir Functions", + "scope": "source.elixir entity.name.function", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Elixir Constants", + "scope": [ + "source.elixir constant.other.symbol.elixir", + "source.elixir constant.other.keywords.elixir" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Elixir String Punctuations", + "scope": "source.elixir punctuation.definition.string", + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Elixir", + "scope": [ + "source.elixir variable.other.readwrite.module.elixir", + "source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir" + ], + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Elixir Binary Punctuations", + "scope": "source.elixir .punctuation.binary.elixir", + "settings": { + "foreground": "#c792ea" + } + }, + { + "name": "Go Function Calls", + "scope": "source.go meta.function-call.go", + "settings": { + "foreground": "#DDDDDD" + } + }, + { + "name": "GraphQL Variables", + "scope": "variable.qraphql", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "ID Attribute Name in HTML", + "scope": "entity.other.attribute-name.id.html", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "HTML Punctuation Definition Tag", + "scope": "punctuation.definition.tag.html", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "HTML Doctype", + "scope": "meta.tag.sgml.doctype.html", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "JavaScript Classes", + "scope": "meta.class entity.name.type.class.js", + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "JavaScript Method Declaration e.g. `constructor`", + "scope": "meta.method.declaration storage.type.js", + "settings": { + "foreground": "#82AAFF", + "fontStyle": "normal" + } + }, + { + "name": "JavaScript Terminator", + "scope": "terminator.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Meta Punctuation Definition", + "scope": "meta.js punctuation.definition.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Entity Names in Code Documentations", + "scope": [ + "entity.name.type.instance.jsdoc", + "entity.name.type.instance.phpdoc" + ], + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "Other Variables in Code Documentations", + "scope": ["variable.other.jsdoc", "variable.other.phpdoc"], + "settings": { + "foreground": "#78ccf0" + } + }, + { + "name": "JavaScript module imports and exports", + "scope": [ + "variable.other.meta.import.js", + "meta.import.js variable.other", + "variable.other.meta.export.js", + "meta.export.js variable.other" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Variable Parameter Function", + "scope": "variable.parameter.function.js", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "JavaScript Variable Other ReadWrite", + "scope": "variable.other.readwrite.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Text nested in React tags", + "scope": [ + "meta.jsx.children", + "meta.jsx.children.js", + "meta.jsx.children.tsx" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript[React] Variable Other Object", + "scope": [ + "variable.other.object.js", + "variable.other.object.jsx", + "meta.object-literal.key.js", + "meta.object-literal.key.jsx", + "variable.object.property.js", + "variable.object.property.jsx" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Variables", + "scope": ["variable.js", "variable.other.js"], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JavaScript Entity Name Type", + "scope": ["entity.name.type.js", "entity.name.type.module.js"], + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "JavaScript Support Classes", + "scope": "support.class.js", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "JSON Property Names", + "scope": "support.type.property-name.json", + "settings": { + "foreground": "#C3E88D", + "fontStyle": "normal" + } + }, + { + "name": "JSON Support Constants", + "scope": "support.constant.json", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "JSON Property values (string)", + "scope": "meta.structure.dictionary.value.json string.quoted.double", + "settings": { + "foreground": "#80CBC4", + "fontStyle": "normal" + } + }, + { + "name": "Strings in JSON values", + "scope": "string.quoted.double.json punctuation.definition.string.json", + "settings": { + "foreground": "#80CBC4", + "fontStyle": "normal" + } + }, + { + "name": "Specific JSON Property values like null", + "scope": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Ruby Variables", + "scope": "variable.other.ruby", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Ruby Hashkeys", + "scope": "constant.language.symbol.hashkey.ruby", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "LESS Tag names", + "scope": "entity.name.tag.less", + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Attribute Name for LESS", + "scope": "meta.attribute-selector.less entity.other.attribute-name.attribute", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Markup Headings", + "scope": "markup.heading", + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Markup Italics", + "scope": "markup.italic", + "settings": { + "foreground": "#c792ea", + "fontStyle": "italic" + } + }, + { + "name": "Markup Bold", + "scope": "markup.bold", + "settings": { + "foreground": "#ffcb6b", + "fontStyle": "bold" + } + }, + { + "name": "Markup Quote + others", + "scope": "markup.quote", + "settings": { + "foreground": "#697098", + "fontStyle": "italic" + } + }, + { + "name": "Markup Raw Code + others", + "scope": "markup.inline.raw", + "settings": { + "foreground": "#80CBC4" + } + }, + { + "name": "Markup Links", + "scope": ["markup.underline.link", "markup.underline.link.image"], + "settings": { + "foreground": "#ff869a" + } + }, + { + "name": "Markup Attributes", + "scope": ["markup.meta.attribute-list"], + "settings": { + "foreground": "#a9c77d" + } + }, + { + "name": "Markup Admonitions", + "scope": "markup.admonition", + "settings": { + "fontStyle": "bold" + } + }, + { + "name": "Markup Lists", + "scope": "markup.list.bullet", + "settings": { + "foreground": "#D9F5DD" + } + }, + { + "name": "Markup Superscript and Subscript", + "scope": ["markup.superscript", "markup.subscript"], + "settings": { + "fontStyle": "italic" + } + }, + { + "name": "Markdown Link Title and Description", + "scope": [ + "string.other.link.title.markdown", + "string.other.link.description.markdown" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Markdown Punctuation", + "scope": [ + "punctuation.definition.string.markdown", + "punctuation.definition.string.begin.markdown", + "punctuation.definition.string.end.markdown", + "meta.link.inline.markdown punctuation.definition.string" + ], + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Markdown MetaData Punctuation", + "scope": ["punctuation.definition.metadata.markdown"], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "Markdown List Punctuation", + "scope": ["beginning.punctuation.definition.list.markdown"], + "settings": { + "foreground": "#82b1ff" + } + }, + { + "name": "Asciidoc Function", + "scope": "entity.name.function.asciidoc", + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "PHP Variables", + "scope": "variable.other.php", + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "Support Classes in PHP", + "scope": "support.class.php", + "settings": { + "foreground": "#ffcb8b" + } + }, + { + "name": "Punctuations in PHP function calls", + "scope": "meta.function-call.php punctuation", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "PHP Global Variables", + "scope": "variable.other.global.php", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Declaration Punctuation in PHP Global Variables", + "scope": "variable.other.global.php punctuation.definition.variable", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Language Constants in Python", + "scope": "constant.language.python", + "settings": { + "foreground": "#ff5874" + } + }, + { + "name": "Python Function Parameter and Arguments", + "scope": [ + "variable.parameter.function.python", + "meta.function-call.arguments.python" + ], + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "Python Function Call", + "scope": [ + "meta.function-call.python", + "meta.function-call.generic.python" + ], + "settings": { + "foreground": "#B2CCD6" + } + }, + { + "name": "Punctuations in Python", + "scope": "punctuation.python", + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "Decorator Functions in Python", + "scope": "entity.name.function.decorator.python", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "Python Language Variable", + "scope": "source.python variable.language.special", + "settings": { + "foreground": "#8EACE3" + } + }, + { + "name": "SCSS Variable", + "scope": [ + "variable.scss", + "variable.sass", + "variable.parameter.url.scss", + "variable.parameter.url.sass" + ], + "settings": { + "foreground": "#DDDDDD" + } + }, + { + "name": "Variables in SASS At-Rules", + "scope": [ + "source.css.scss meta.at-rule variable", + "source.css.sass meta.at-rule variable" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "Variables in SASS At-Rules", + "scope": [ + "source.css.scss meta.at-rule variable", + "source.css.sass meta.at-rule variable" + ], + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "Attribute Name for SASS", + "scope": [ + "meta.attribute-selector.scss entity.other.attribute-name.attribute", + "meta.attribute-selector.sass entity.other.attribute-name.attribute" + ], + "settings": { + "foreground": "#F78C6C" + } + }, + { + "name": "Tag names in SASS", + "scope": ["entity.name.tag.scss", "entity.name.tag.sass"], + "settings": { + "foreground": "#ff5572" + } + }, + { + "name": "TypeScript[React] Variables and Object Properties", + "scope": [ + "variable.other.readwrite.alias.ts", + "variable.other.readwrite.alias.tsx", + "variable.other.readwrite.ts", + "variable.other.readwrite.tsx", + "variable.other.object.ts", + "variable.other.object.tsx", + "variable.object.property.ts", + "variable.object.property.tsx", + "variable.other.ts", + "variable.other.tsx", + "variable.tsx", + "variable.ts" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "TypeScript[React] Entity Name Types", + "scope": ["entity.name.type.ts", "entity.name.type.tsx"], + "settings": { + "foreground": "#78ccf0" + } + }, + { + "name": "TypeScript[React] Node Classes", + "scope": ["support.class.node.ts", "support.class.node.tsx"], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "TypeScript[React] Entity Name Types as Parameters", + "scope": [ + "meta.type.parameters.ts entity.name.type", + "meta.type.parameters.tsx entity.name.type" + ], + "settings": { + "foreground": "#eeffff" + } + }, + { + "name": "TypeScript[React] Import/Export Punctuations", + "scope": [ + "meta.import.ts punctuation.definition.block", + "meta.import.tsx punctuation.definition.block", + "meta.export.ts punctuation.definition.block", + "meta.export.tsx punctuation.definition.block" + ], + "settings": { + "foreground": "#bfc7d5" + } + }, + { + "name": "TypeScript[React] Punctuation Decorators", + "scope": [ + "meta.decorator punctuation.decorator.ts", + "meta.decorator punctuation.decorator.tsx" + ], + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "TypeScript[React] Punctuation Decorators", + "scope": "meta.tag.js meta.jsx.children.tsx", + "settings": { + "foreground": "#82AAFF" + } + }, + { + "name": "YAML Entity Name Tags", + "scope": "entity.name.tag.yaml", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "handlebars variables", + "scope": "variable.parameter.handlebars", + "settings": { + "foreground": "#bec5d4" + } + }, + { + "name": "handlebars parameters", + "scope": "entity.other.attribute-name.handlebars variable.parameter.handlebars", + "settings": { + "foreground": "#ffcb6b" + } + }, + { + "name": "handlebars enitity attribute names", + "scope": "entity.other.attribute-name.handlebars", + "settings": { + "foreground": "#89DDFF" + } + }, + { + "name": "handlebars enitity attribute values", + "scope": "entity.other.attribute-value.handlebars variable.parameter.handlebars", + "settings": { + "foreground": "#7986E7" + } + }, + { + "name": "normalize font style of certain components", + "scope": [ + "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", + "meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", + "meta.property-list.css meta.property-value.css variable.other.less", + "punctuation.section.embedded.begin.js.jsx", + "punctuation.section.embedded.end.js.jsx", + "meta.property-list.scss variable.scss", + "meta.property-list.sass variable.sass", + "keyword.operator.logical", + "keyword.operator.arithmetic", + "keyword.operator.bitwise", + "keyword.operator.increment", + "keyword.operator.ternary", + "keyword.operator.comparison", + "keyword.operator.assignment", + "keyword.operator.operator", + "keyword.operator.or.regexp", + "keyword.operator.expression.in", + "keyword.operator.type", + "punctuation.section.embedded.js", + "punctuation.definintion.string", + "punctuation" + ], + "settings": { + "fontStyle": "normal" + } + } + ] +} From 7964b3560742fa3d821e13548c762b0531b45fc4 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 12:10:25 -0500 Subject: [PATCH 056/110] Add release channel to panic collab upload --- crates/collab/src/api.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/collab/src/api.rs b/crates/collab/src/api.rs index a84fcf328b..8d286388cf 100644 --- a/crates/collab/src/api.rs +++ b/crates/collab/src/api.rs @@ -116,12 +116,13 @@ struct CreateUserResponse { #[derive(Debug, Deserialize)] struct Panic { version: String, + release_channel: String, text: String, } #[instrument(skip(panic))] async fn trace_panic(panic: Json) -> Result<()> { - tracing::error!(version = %panic.version, text = %panic.text, "panic report"); + tracing::error!(version = %panic.version, release_channel = %panic.release_channel, text = %panic.text, "panic report"); Ok(()) } From 0cab3de0ae6e57ad806730290c883d1ba9d69a8f Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 12:48:02 -0500 Subject: [PATCH 057/110] collab 0.30.1 --- Cargo.lock | 2 +- crates/collab/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 841812e19e..44b705c129 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1753,7 +1753,7 @@ dependencies = [ [[package]] name = "collab" -version = "0.30.0" +version = "0.30.1" dependencies = [ "anyhow", "async-trait", diff --git a/crates/collab/Cargo.toml b/crates/collab/Cargo.toml index 50491704c9..674a324d97 100644 --- a/crates/collab/Cargo.toml +++ b/crates/collab/Cargo.toml @@ -3,7 +3,7 @@ authors = ["Nathan Sobo "] default-run = "collab" edition = "2021" name = "collab" -version = "0.30.0" +version = "0.30.1" publish = false [[bin]] From 63cc9e506801694f3413f6155834751652811833 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 13:07:16 -0500 Subject: [PATCH 058/110] Move character counter up above editor in feedback modal --- crates/feedback2/src/feedback_modal.rs | 46 +++++++++++++------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 5ac2197609..ada844ecda 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -301,6 +301,29 @@ impl Render for FeedbackModal { // TODO: Add Headline component to `ui2` div().text_xl().child("Share Feedback"), )) + .child( + Label::new(if self.character_count < *FEEDBACK_CHAR_LIMIT.start() { + format!( + "Feedback must be at least {} characters.", + FEEDBACK_CHAR_LIMIT.start() + ) + } else if self.character_count > *FEEDBACK_CHAR_LIMIT.end() { + format!( + "Feedback must be less than {} characters.", + FEEDBACK_CHAR_LIMIT.end() + ) + } else { + format!( + "Characters: {}", + *FEEDBACK_CHAR_LIMIT.end() - self.character_count + ) + }) + .color(if valid_character_count { + Color::Success + } else { + Color::Error + }), + ) .child( div() .flex_1() @@ -313,29 +336,6 @@ impl Render for FeedbackModal { ) .child( div() - .child( - Label::new(if self.character_count < *FEEDBACK_CHAR_LIMIT.start() { - format!( - "Feedback must be at least {} characters.", - FEEDBACK_CHAR_LIMIT.start() - ) - } else if self.character_count > *FEEDBACK_CHAR_LIMIT.end() { - format!( - "Feedback must be less than {} characters.", - FEEDBACK_CHAR_LIMIT.end() - ) - } else { - format!( - "Characters: {}", - *FEEDBACK_CHAR_LIMIT.end() - self.character_count - ) - }) - .color(if valid_character_count { - Color::Success - } else { - Color::Error - }), - ) .child( h_stack() .bg(cx.theme().colors().editor_background) From 9ac9532d3d0542f241c8f5b7eabe233227d5cff9 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 13:12:09 -0500 Subject: [PATCH 059/110] Treat empty strings as `None` when deserializing VS Code themes --- crates/theme_importer/src/vscode/theme.rs | 1410 ++++++++++++++++++--- 1 file changed, 1209 insertions(+), 201 deletions(-) diff --git a/crates/theme_importer/src/vscode/theme.rs b/crates/theme_importer/src/vscode/theme.rs index d2c1136d7b..2c3fcd1752 100644 --- a/crates/theme_importer/src/vscode/theme.rs +++ b/crates/theme_importer/src/vscode/theme.rs @@ -1,7 +1,15 @@ -use serde::Deserialize; +use serde::{Deserialize, Deserializer}; use crate::vscode::VsCodeTokenColor; +fn empty_string_as_none<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + let value = Option::::deserialize(deserializer)?; + Ok(value.filter(|value| !value.is_empty())) +} + #[derive(Deserialize, Debug)] pub struct VsCodeTheme { #[serde(rename = "$schema")] @@ -20,405 +28,1405 @@ pub struct VsCodeTheme { #[derive(Debug, Deserialize)] pub struct VsCodeColors { - #[serde(rename = "terminal.background")] + #[serde( + default, + rename = "terminal.background", + deserialize_with = "empty_string_as_none" + )] pub terminal_background: Option, - #[serde(rename = "terminal.foreground")] + + #[serde( + default, + rename = "terminal.foreground", + deserialize_with = "empty_string_as_none" + )] pub terminal_foreground: Option, - #[serde(rename = "terminal.ansiBrightBlack")] + + #[serde( + default, + rename = "terminal.ansiBrightBlack", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_black: Option, - #[serde(rename = "terminal.ansiBrightRed")] + + #[serde( + default, + rename = "terminal.ansiBrightRed", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_red: Option, - #[serde(rename = "terminal.ansiBrightGreen")] + + #[serde( + default, + rename = "terminal.ansiBrightGreen", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_green: Option, - #[serde(rename = "terminal.ansiBrightYellow")] + + #[serde( + default, + rename = "terminal.ansiBrightYellow", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_yellow: Option, - #[serde(rename = "terminal.ansiBrightBlue")] + + #[serde( + default, + rename = "terminal.ansiBrightBlue", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_blue: Option, - #[serde(rename = "terminal.ansiBrightMagenta")] + + #[serde( + default, + rename = "terminal.ansiBrightMagenta", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_magenta: Option, - #[serde(rename = "terminal.ansiBrightCyan")] + + #[serde( + default, + rename = "terminal.ansiBrightCyan", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_cyan: Option, - #[serde(rename = "terminal.ansiBrightWhite")] + + #[serde( + default, + rename = "terminal.ansiBrightWhite", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_bright_white: Option, - #[serde(rename = "terminal.ansiBlack")] + + #[serde( + default, + rename = "terminal.ansiBlack", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_black: Option, - #[serde(rename = "terminal.ansiRed")] + + #[serde( + default, + rename = "terminal.ansiRed", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_red: Option, - #[serde(rename = "terminal.ansiGreen")] + + #[serde( + default, + rename = "terminal.ansiGreen", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_green: Option, - #[serde(rename = "terminal.ansiYellow")] + + #[serde( + default, + rename = "terminal.ansiYellow", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_yellow: Option, - #[serde(rename = "terminal.ansiBlue")] + + #[serde( + default, + rename = "terminal.ansiBlue", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_blue: Option, - #[serde(rename = "terminal.ansiMagenta")] + + #[serde( + default, + rename = "terminal.ansiMagenta", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_magenta: Option, - #[serde(rename = "terminal.ansiCyan")] + + #[serde( + default, + rename = "terminal.ansiCyan", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_cyan: Option, - #[serde(rename = "terminal.ansiWhite")] + + #[serde( + default, + rename = "terminal.ansiWhite", + deserialize_with = "empty_string_as_none" + )] pub terminal_ansi_white: Option, - #[serde(rename = "focusBorder")] + + #[serde( + default, + rename = "focusBorder", + deserialize_with = "empty_string_as_none" + )] pub focus_border: Option, + pub foreground: Option, - #[serde(rename = "selection.background")] + + #[serde( + default, + rename = "selection.background", + deserialize_with = "empty_string_as_none" + )] pub selection_background: Option, - #[serde(rename = "errorForeground")] + + #[serde( + default, + rename = "errorForeground", + deserialize_with = "empty_string_as_none" + )] pub error_foreground: Option, - #[serde(rename = "button.background")] + + #[serde( + default, + rename = "button.background", + deserialize_with = "empty_string_as_none" + )] pub button_background: Option, - #[serde(rename = "button.foreground")] + + #[serde( + default, + rename = "button.foreground", + deserialize_with = "empty_string_as_none" + )] pub button_foreground: Option, - #[serde(rename = "button.secondaryBackground")] + + #[serde( + default, + rename = "button.secondaryBackground", + deserialize_with = "empty_string_as_none" + )] pub button_secondary_background: Option, - #[serde(rename = "button.secondaryForeground")] + + #[serde( + default, + rename = "button.secondaryForeground", + deserialize_with = "empty_string_as_none" + )] pub button_secondary_foreground: Option, - #[serde(rename = "button.secondaryHoverBackground")] + + #[serde( + default, + rename = "button.secondaryHoverBackground", + deserialize_with = "empty_string_as_none" + )] pub button_secondary_hover_background: Option, - #[serde(rename = "dropdown.background")] + + #[serde( + default, + rename = "dropdown.background", + deserialize_with = "empty_string_as_none" + )] pub dropdown_background: Option, - #[serde(rename = "dropdown.border")] + + #[serde( + default, + rename = "dropdown.border", + deserialize_with = "empty_string_as_none" + )] pub dropdown_border: Option, - #[serde(rename = "dropdown.foreground")] + + #[serde( + default, + rename = "dropdown.foreground", + deserialize_with = "empty_string_as_none" + )] pub dropdown_foreground: Option, - #[serde(rename = "input.background")] + + #[serde( + default, + rename = "input.background", + deserialize_with = "empty_string_as_none" + )] pub input_background: Option, - #[serde(rename = "input.foreground")] + + #[serde( + default, + rename = "input.foreground", + deserialize_with = "empty_string_as_none" + )] pub input_foreground: Option, - #[serde(rename = "input.border")] + + #[serde( + default, + rename = "input.border", + deserialize_with = "empty_string_as_none" + )] pub input_border: Option, - #[serde(rename = "input.placeholderForeground")] + + #[serde( + default, + rename = "input.placeholderForeground", + deserialize_with = "empty_string_as_none" + )] pub input_placeholder_foreground: Option, - #[serde(rename = "inputOption.activeBorder")] + + #[serde( + default, + rename = "inputOption.activeBorder", + deserialize_with = "empty_string_as_none" + )] pub input_option_active_border: Option, - #[serde(rename = "inputValidation.infoBorder")] + + #[serde( + default, + rename = "inputValidation.infoBorder", + deserialize_with = "empty_string_as_none" + )] pub input_validation_info_border: Option, - #[serde(rename = "inputValidation.warningBorder")] + + #[serde( + default, + rename = "inputValidation.warningBorder", + deserialize_with = "empty_string_as_none" + )] pub input_validation_warning_border: Option, - #[serde(rename = "inputValidation.errorBorder")] + + #[serde( + default, + rename = "inputValidation.errorBorder", + deserialize_with = "empty_string_as_none" + )] pub input_validation_error_border: Option, - #[serde(rename = "badge.foreground")] + + #[serde( + default, + rename = "badge.foreground", + deserialize_with = "empty_string_as_none" + )] pub badge_foreground: Option, - #[serde(rename = "badge.background")] + + #[serde( + default, + rename = "badge.background", + deserialize_with = "empty_string_as_none" + )] pub badge_background: Option, - #[serde(rename = "progressBar.background")] + + #[serde( + default, + rename = "progressBar.background", + deserialize_with = "empty_string_as_none" + )] pub progress_bar_background: Option, - #[serde(rename = "list.activeSelectionBackground")] + + #[serde( + default, + rename = "list.activeSelectionBackground", + deserialize_with = "empty_string_as_none" + )] pub list_active_selection_background: Option, - #[serde(rename = "list.activeSelectionForeground")] + + #[serde( + default, + rename = "list.activeSelectionForeground", + deserialize_with = "empty_string_as_none" + )] pub list_active_selection_foreground: Option, - #[serde(rename = "list.dropBackground")] + + #[serde( + default, + rename = "list.dropBackground", + deserialize_with = "empty_string_as_none" + )] pub list_drop_background: Option, - #[serde(rename = "list.focusBackground")] + + #[serde( + default, + rename = "list.focusBackground", + deserialize_with = "empty_string_as_none" + )] pub list_focus_background: Option, - #[serde(rename = "list.highlightForeground")] + + #[serde( + default, + rename = "list.highlightForeground", + deserialize_with = "empty_string_as_none" + )] pub list_highlight_foreground: Option, - #[serde(rename = "list.hoverBackground")] + + #[serde( + default, + rename = "list.hoverBackground", + deserialize_with = "empty_string_as_none" + )] pub list_hover_background: Option, - #[serde(rename = "list.inactiveSelectionBackground")] + + #[serde( + default, + rename = "list.inactiveSelectionBackground", + deserialize_with = "empty_string_as_none" + )] pub list_inactive_selection_background: Option, - #[serde(rename = "list.warningForeground")] + + #[serde( + default, + rename = "list.warningForeground", + deserialize_with = "empty_string_as_none" + )] pub list_warning_foreground: Option, - #[serde(rename = "list.errorForeground")] + + #[serde( + default, + rename = "list.errorForeground", + deserialize_with = "empty_string_as_none" + )] pub list_error_foreground: Option, - #[serde(rename = "activityBar.background")] + + #[serde( + default, + rename = "activityBar.background", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_background: Option, - #[serde(rename = "activityBar.inactiveForeground")] + + #[serde( + default, + rename = "activityBar.inactiveForeground", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_inactive_foreground: Option, - #[serde(rename = "activityBar.foreground")] + + #[serde( + default, + rename = "activityBar.foreground", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_foreground: Option, - #[serde(rename = "activityBar.activeBorder")] + + #[serde( + default, + rename = "activityBar.activeBorder", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_active_border: Option, - #[serde(rename = "activityBar.activeBackground")] + + #[serde( + default, + rename = "activityBar.activeBackground", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_active_background: Option, - #[serde(rename = "activityBarBadge.background")] + + #[serde( + default, + rename = "activityBarBadge.background", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_badge_background: Option, - #[serde(rename = "activityBarBadge.foreground")] + + #[serde( + default, + rename = "activityBarBadge.foreground", + deserialize_with = "empty_string_as_none" + )] pub activity_bar_badge_foreground: Option, - #[serde(rename = "sideBar.background")] + + #[serde( + default, + rename = "sideBar.background", + deserialize_with = "empty_string_as_none" + )] pub side_bar_background: Option, - #[serde(rename = "sideBarTitle.foreground")] + + #[serde( + default, + rename = "sideBarTitle.foreground", + deserialize_with = "empty_string_as_none" + )] pub side_bar_title_foreground: Option, - #[serde(rename = "sideBarSectionHeader.background")] + + #[serde( + default, + rename = "sideBarSectionHeader.background", + deserialize_with = "empty_string_as_none" + )] pub side_bar_section_header_background: Option, - #[serde(rename = "sideBarSectionHeader.border")] + + #[serde( + default, + rename = "sideBarSectionHeader.border", + deserialize_with = "empty_string_as_none" + )] pub side_bar_section_header_border: Option, - #[serde(rename = "editorGroup.border")] + + #[serde( + default, + rename = "editorGroup.border", + deserialize_with = "empty_string_as_none" + )] pub editor_group_border: Option, - #[serde(rename = "editorGroup.dropBackground")] + + #[serde( + default, + rename = "editorGroup.dropBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_group_drop_background: Option, - #[serde(rename = "editorGroupHeader.tabsBackground")] + + #[serde( + default, + rename = "editorGroupHeader.tabsBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_group_header_tabs_background: Option, - #[serde(rename = "tab.activeBackground")] + + #[serde( + default, + rename = "tab.activeBackground", + deserialize_with = "empty_string_as_none" + )] pub tab_active_background: Option, - #[serde(rename = "tab.activeForeground")] + + #[serde( + default, + rename = "tab.activeForeground", + deserialize_with = "empty_string_as_none" + )] pub tab_active_foreground: Option, - #[serde(rename = "tab.border")] + + #[serde( + default, + rename = "tab.border", + deserialize_with = "empty_string_as_none" + )] pub tab_border: Option, - #[serde(rename = "tab.activeBorderTop")] + + #[serde( + default, + rename = "tab.activeBorderTop", + deserialize_with = "empty_string_as_none" + )] pub tab_active_border_top: Option, - #[serde(rename = "tab.inactiveBackground")] + + #[serde( + default, + rename = "tab.inactiveBackground", + deserialize_with = "empty_string_as_none" + )] pub tab_inactive_background: Option, - #[serde(rename = "tab.inactiveForeground")] + + #[serde( + default, + rename = "tab.inactiveForeground", + deserialize_with = "empty_string_as_none" + )] pub tab_inactive_foreground: Option, - #[serde(rename = "editor.foreground")] + + #[serde( + default, + rename = "editor.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_foreground: Option, - #[serde(rename = "editor.background")] + + #[serde( + default, + rename = "editor.background", + deserialize_with = "empty_string_as_none" + )] pub editor_background: Option, - #[serde(rename = "editorInlayHint.foreground")] + + #[serde( + default, + rename = "editorInlayHint.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_inlay_hint_foreground: Option, - #[serde(rename = "editorInlayHint.background")] + + #[serde( + default, + rename = "editorInlayHint.background", + deserialize_with = "empty_string_as_none" + )] pub editor_inlay_hint_background: Option, - #[serde(rename = "editorInlayHint.parameterForeground")] + + #[serde( + default, + rename = "editorInlayHint.parameterForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_inlay_hint_parameter_foreground: Option, - #[serde(rename = "editorInlayHint.parameterBackground")] + + #[serde( + default, + rename = "editorInlayHint.parameterBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_inlay_hint_parameter_background: Option, - #[serde(rename = "editorInlayHint.typForeground")] + + #[serde( + default, + rename = "editorInlayHint.typForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_inlay_hint_typ_foreground: Option, - #[serde(rename = "editorInlayHint.typBackground")] + + #[serde( + default, + rename = "editorInlayHint.typBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_inlay_hint_typ_background: Option, - #[serde(rename = "editorLineNumber.foreground")] + + #[serde( + default, + rename = "editorLineNumber.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_line_number_foreground: Option, - #[serde(rename = "editor.selectionBackground")] + + #[serde( + default, + rename = "editor.selectionBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_selection_background: Option, - #[serde(rename = "editor.selectionHighlightBackground")] + + #[serde( + default, + rename = "editor.selectionHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_selection_highlight_background: Option, - #[serde(rename = "editor.foldBackground")] + + #[serde( + default, + rename = "editor.foldBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_fold_background: Option, - #[serde(rename = "editor.wordHighlightBackground")] + + #[serde( + default, + rename = "editor.wordHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_word_highlight_background: Option, - #[serde(rename = "editor.wordHighlightStrongBackground")] + + #[serde( + default, + rename = "editor.wordHighlightStrongBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_word_highlight_strong_background: Option, - #[serde(rename = "editor.findMatchBackground")] + + #[serde( + default, + rename = "editor.findMatchBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_find_match_background: Option, - #[serde(rename = "editor.findMatchHighlightBackground")] + + #[serde( + default, + rename = "editor.findMatchHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_find_match_highlight_background: Option, - #[serde(rename = "editor.findRangeHighlightBackground")] + + #[serde( + default, + rename = "editor.findRangeHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_find_range_highlight_background: Option, - #[serde(rename = "editor.hoverHighlightBackground")] + + #[serde( + default, + rename = "editor.hoverHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_hover_highlight_background: Option, - #[serde(rename = "editor.lineHighlightBorder")] + + #[serde( + default, + rename = "editor.lineHighlightBorder", + deserialize_with = "empty_string_as_none" + )] pub editor_line_highlight_border: Option, - #[serde(rename = "editorLink.activeForeground")] + + #[serde( + default, + rename = "editorLink.activeForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_link_active_foreground: Option, - #[serde(rename = "editor.rangeHighlightBackground")] + + #[serde( + default, + rename = "editor.rangeHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_range_highlight_background: Option, - #[serde(rename = "editor.snippetTabstopHighlightBackground")] + + #[serde( + default, + rename = "editor.snippetTabstopHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_snippet_tabstop_highlight_background: Option, - #[serde(rename = "editor.snippetTabstopHighlightBorder")] + + #[serde( + default, + rename = "editor.snippetTabstopHighlightBorder", + deserialize_with = "empty_string_as_none" + )] pub editor_snippet_tabstop_highlight_border: Option, - #[serde(rename = "editor.snippetFinalTabstopHighlightBackground")] + + #[serde( + default, + rename = "editor.snippetFinalTabstopHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_snippet_final_tabstop_highlight_background: Option, - #[serde(rename = "editor.snippetFinalTabstopHighlightBorder")] + + #[serde( + default, + rename = "editor.snippetFinalTabstopHighlightBorder", + deserialize_with = "empty_string_as_none" + )] pub editor_snippet_final_tabstop_highlight_border: Option, - #[serde(rename = "editorWhitespace.foreground")] + + #[serde( + default, + rename = "editorWhitespace.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_whitespace_foreground: Option, - #[serde(rename = "editorIndentGuide.background")] + + #[serde( + default, + rename = "editorIndentGuide.background", + deserialize_with = "empty_string_as_none" + )] pub editor_indent_guide_background: Option, - #[serde(rename = "editorIndentGuide.activeBackground")] + + #[serde( + default, + rename = "editorIndentGuide.activeBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_indent_guide_active_background: Option, - #[serde(rename = "editorRuler.foreground")] + + #[serde( + default, + rename = "editorRuler.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_ruler_foreground: Option, - #[serde(rename = "editorCodeLens.foreground")] + + #[serde( + default, + rename = "editorCodeLens.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_code_lens_foreground: Option, - #[serde(rename = "editorBracketHighlight.foreground1")] + + #[serde( + default, + rename = "editorBracketHighlight.foreground1", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_foreground1: Option, - #[serde(rename = "editorBracketHighlight.foreground2")] + + #[serde( + default, + rename = "editorBracketHighlight.foreground2", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_foreground2: Option, - #[serde(rename = "editorBracketHighlight.foreground3")] + + #[serde( + default, + rename = "editorBracketHighlight.foreground3", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_foreground3: Option, - #[serde(rename = "editorBracketHighlight.foreground4")] + + #[serde( + default, + rename = "editorBracketHighlight.foreground4", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_foreground4: Option, - #[serde(rename = "editorBracketHighlight.foreground5")] + + #[serde( + default, + rename = "editorBracketHighlight.foreground5", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_foreground5: Option, - #[serde(rename = "editorBracketHighlight.foreground6")] + + #[serde( + default, + rename = "editorBracketHighlight.foreground6", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_foreground6: Option, - #[serde(rename = "editorBracketHighlight.unexpectedBracket.foreground")] + + #[serde( + default, + rename = "editorBracketHighlight.unexpectedBracket.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_bracket_highlight_unexpected_bracket_foreground: Option, - #[serde(rename = "editorOverviewRuler.border")] + + #[serde( + default, + rename = "editorOverviewRuler.border", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_border: Option, - #[serde(rename = "editorOverviewRuler.selectionHighlightForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.selectionHighlightForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_selection_highlight_foreground: Option, - #[serde(rename = "editorOverviewRuler.wordHighlightForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.wordHighlightForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_word_highlight_foreground: Option, - #[serde(rename = "editorOverviewRuler.wordHighlightStrongForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.wordHighlightStrongForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_word_highlight_strong_foreground: Option, - #[serde(rename = "editorOverviewRuler.modifiedForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.modifiedForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_modified_foreground: Option, - #[serde(rename = "editorOverviewRuler.addedForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.addedForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_added_foreground: Option, - #[serde(rename = "editorOverviewRuler.deletedForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.deletedForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_deleted_foreground: Option, - #[serde(rename = "editorOverviewRuler.errorForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.errorForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_error_foreground: Option, - #[serde(rename = "editorOverviewRuler.warningForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.warningForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_warning_foreground: Option, - #[serde(rename = "editorOverviewRuler.infoForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.infoForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_info_foreground: Option, - #[serde(rename = "editorError.foreground")] + + #[serde( + default, + rename = "editorError.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_error_foreground: Option, - #[serde(rename = "editorWarning.foreground")] + + #[serde( + default, + rename = "editorWarning.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_warning_foreground: Option, - #[serde(rename = "editorGutter.modifiedBackground")] + + #[serde( + default, + rename = "editorGutter.modifiedBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_gutter_modified_background: Option, - #[serde(rename = "editorGutter.addedBackground")] + + #[serde( + default, + rename = "editorGutter.addedBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_gutter_added_background: Option, - #[serde(rename = "editorGutter.deletedBackground")] + + #[serde( + default, + rename = "editorGutter.deletedBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_gutter_deleted_background: Option, - #[serde(rename = "gitDecoration.modifiedResourceForeground")] + + #[serde( + default, + rename = "gitDecoration.modifiedResourceForeground", + deserialize_with = "empty_string_as_none" + )] pub git_decoration_modified_resource_foreground: Option, - #[serde(rename = "gitDecoration.deletedResourceForeground")] + + #[serde( + default, + rename = "gitDecoration.deletedResourceForeground", + deserialize_with = "empty_string_as_none" + )] pub git_decoration_deleted_resource_foreground: Option, - #[serde(rename = "gitDecoration.untrackedResourceForeground")] + + #[serde( + default, + rename = "gitDecoration.untrackedResourceForeground", + deserialize_with = "empty_string_as_none" + )] pub git_decoration_untracked_resource_foreground: Option, - #[serde(rename = "gitDecoration.ignoredResourceForeground")] + + #[serde( + default, + rename = "gitDecoration.ignoredResourceForeground", + deserialize_with = "empty_string_as_none" + )] pub git_decoration_ignored_resource_foreground: Option, - #[serde(rename = "gitDecoration.conflictingResourceForeground")] + + #[serde( + default, + rename = "gitDecoration.conflictingResourceForeground", + deserialize_with = "empty_string_as_none" + )] pub git_decoration_conflicting_resource_foreground: Option, - #[serde(rename = "diffEditor.insertedTextBackground")] + + #[serde( + default, + rename = "diffEditor.insertedTextBackground", + deserialize_with = "empty_string_as_none" + )] pub diff_editor_inserted_text_background: Option, - #[serde(rename = "diffEditor.removedTextBackground")] + + #[serde( + default, + rename = "diffEditor.removedTextBackground", + deserialize_with = "empty_string_as_none" + )] pub diff_editor_removed_text_background: Option, - #[serde(rename = "inlineChat.regionHighlight")] + + #[serde( + default, + rename = "inlineChat.regionHighlight", + deserialize_with = "empty_string_as_none" + )] pub inline_chat_region_highlight: Option, - #[serde(rename = "editorWidget.background")] + + #[serde( + default, + rename = "editorWidget.background", + deserialize_with = "empty_string_as_none" + )] pub editor_widget_background: Option, - #[serde(rename = "editorSuggestWidget.background")] + + #[serde( + default, + rename = "editorSuggestWidget.background", + deserialize_with = "empty_string_as_none" + )] pub editor_suggest_widget_background: Option, - #[serde(rename = "editorSuggestWidget.foreground")] + + #[serde( + default, + rename = "editorSuggestWidget.foreground", + deserialize_with = "empty_string_as_none" + )] pub editor_suggest_widget_foreground: Option, - #[serde(rename = "editorSuggestWidget.selectedBackground")] + + #[serde( + default, + rename = "editorSuggestWidget.selectedBackground", + deserialize_with = "empty_string_as_none" + )] pub editor_suggest_widget_selected_background: Option, - #[serde(rename = "editorHoverWidget.background")] + + #[serde( + default, + rename = "editorHoverWidget.background", + deserialize_with = "empty_string_as_none" + )] pub editor_hover_widget_background: Option, - #[serde(rename = "editorHoverWidget.border")] + + #[serde( + default, + rename = "editorHoverWidget.border", + deserialize_with = "empty_string_as_none" + )] pub editor_hover_widget_border: Option, - #[serde(rename = "editorMarkerNavigation.background")] + + #[serde( + default, + rename = "editorMarkerNavigation.background", + deserialize_with = "empty_string_as_none" + )] pub editor_marker_navigation_background: Option, - #[serde(rename = "peekView.border")] + + #[serde( + default, + rename = "peekView.border", + deserialize_with = "empty_string_as_none" + )] pub peek_view_border: Option, - #[serde(rename = "peekViewEditor.background")] + + #[serde( + default, + rename = "peekViewEditor.background", + deserialize_with = "empty_string_as_none" + )] pub peek_view_editor_background: Option, - #[serde(rename = "peekViewEditor.matchHighlightBackground")] + + #[serde( + default, + rename = "peekViewEditor.matchHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_editor_match_highlight_background: Option, - #[serde(rename = "peekViewResult.background")] + + #[serde( + default, + rename = "peekViewResult.background", + deserialize_with = "empty_string_as_none" + )] pub peek_view_result_background: Option, - #[serde(rename = "peekViewResult.fileForeground")] + + #[serde( + default, + rename = "peekViewResult.fileForeground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_result_file_foreground: Option, - #[serde(rename = "peekViewResult.lineForeground")] + + #[serde( + default, + rename = "peekViewResult.lineForeground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_result_line_foreground: Option, - #[serde(rename = "peekViewResult.matchHighlightBackground")] + + #[serde( + default, + rename = "peekViewResult.matchHighlightBackground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_result_match_highlight_background: Option, - #[serde(rename = "peekViewResult.selectionBackground")] + + #[serde( + default, + rename = "peekViewResult.selectionBackground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_result_selection_background: Option, - #[serde(rename = "peekViewResult.selectionForeground")] + + #[serde( + default, + rename = "peekViewResult.selectionForeground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_result_selection_foreground: Option, - #[serde(rename = "peekViewTitle.background")] + + #[serde( + default, + rename = "peekViewTitle.background", + deserialize_with = "empty_string_as_none" + )] pub peek_view_title_background: Option, - #[serde(rename = "peekViewTitleDescription.foreground")] + + #[serde( + default, + rename = "peekViewTitleDescription.foreground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_title_description_foreground: Option, - #[serde(rename = "peekViewTitleLabel.foreground")] + + #[serde( + default, + rename = "peekViewTitleLabel.foreground", + deserialize_with = "empty_string_as_none" + )] pub peek_view_title_label_foreground: Option, - #[serde(rename = "merge.currentHeaderBackground")] + + #[serde( + default, + rename = "merge.currentHeaderBackground", + deserialize_with = "empty_string_as_none" + )] pub merge_current_header_background: Option, - #[serde(rename = "merge.incomingHeaderBackground")] + + #[serde( + default, + rename = "merge.incomingHeaderBackground", + deserialize_with = "empty_string_as_none" + )] pub merge_incoming_header_background: Option, - #[serde(rename = "editorOverviewRuler.currentContentForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.currentContentForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_current_content_foreground: Option, - #[serde(rename = "editorOverviewRuler.incomingContentForeground")] + + #[serde( + default, + rename = "editorOverviewRuler.incomingContentForeground", + deserialize_with = "empty_string_as_none" + )] pub editor_overview_ruler_incoming_content_foreground: Option, - #[serde(rename = "panel.background")] + + #[serde( + default, + rename = "panel.background", + deserialize_with = "empty_string_as_none" + )] pub panel_background: Option, - #[serde(rename = "panel.border")] + + #[serde( + default, + rename = "panel.border", + deserialize_with = "empty_string_as_none" + )] pub panel_border: Option, - #[serde(rename = "panelTitle.activeBorder")] + + #[serde( + default, + rename = "panelTitle.activeBorder", + deserialize_with = "empty_string_as_none" + )] pub panel_title_active_border: Option, - #[serde(rename = "panelTitle.activeForeground")] + + #[serde( + default, + rename = "panelTitle.activeForeground", + deserialize_with = "empty_string_as_none" + )] pub panel_title_active_foreground: Option, - #[serde(rename = "panelTitle.inactiveForeground")] + + #[serde( + default, + rename = "panelTitle.inactiveForeground", + deserialize_with = "empty_string_as_none" + )] pub panel_title_inactive_foreground: Option, - #[serde(rename = "statusBar.background")] + + #[serde( + default, + rename = "statusBar.background", + deserialize_with = "empty_string_as_none" + )] pub status_bar_background: Option, - #[serde(rename = "statusBar.foreground")] + + #[serde( + default, + rename = "statusBar.foreground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_foreground: Option, - #[serde(rename = "statusBar.debuggingBackground")] + + #[serde( + default, + rename = "statusBar.debuggingBackground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_debugging_background: Option, - #[serde(rename = "statusBar.debuggingForeground")] + + #[serde( + default, + rename = "statusBar.debuggingForeground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_debugging_foreground: Option, - #[serde(rename = "statusBar.noFolderBackground")] + + #[serde( + default, + rename = "statusBar.noFolderBackground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_no_folder_background: Option, - #[serde(rename = "statusBar.noFolderForeground")] + + #[serde( + default, + rename = "statusBar.noFolderForeground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_no_folder_foreground: Option, - #[serde(rename = "statusBarItem.prominentBackground")] + + #[serde( + default, + rename = "statusBarItem.prominentBackground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_item_prominent_background: Option, - #[serde(rename = "statusBarItem.prominentHoverBackground")] + + #[serde( + default, + rename = "statusBarItem.prominentHoverBackground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_item_prominent_hover_background: Option, - #[serde(rename = "statusBarItem.remoteForeground")] + + #[serde( + default, + rename = "statusBarItem.remoteForeground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_item_remote_foreground: Option, - #[serde(rename = "statusBarItem.remoteBackground")] + + #[serde( + default, + rename = "statusBarItem.remoteBackground", + deserialize_with = "empty_string_as_none" + )] pub status_bar_item_remote_background: Option, - #[serde(rename = "titleBar.activeBackground")] + + #[serde( + default, + rename = "titleBar.activeBackground", + deserialize_with = "empty_string_as_none" + )] pub title_bar_active_background: Option, - #[serde(rename = "titleBar.activeForeground")] + + #[serde( + default, + rename = "titleBar.activeForeground", + deserialize_with = "empty_string_as_none" + )] pub title_bar_active_foreground: Option, - #[serde(rename = "titleBar.inactiveBackground")] + + #[serde( + default, + rename = "titleBar.inactiveBackground", + deserialize_with = "empty_string_as_none" + )] pub title_bar_inactive_background: Option, - #[serde(rename = "titleBar.inactiveForeground")] + + #[serde( + default, + rename = "titleBar.inactiveForeground", + deserialize_with = "empty_string_as_none" + )] pub title_bar_inactive_foreground: Option, - #[serde(rename = "extensionButton.prominentForeground")] + + #[serde( + default, + rename = "extensionButton.prominentForeground", + deserialize_with = "empty_string_as_none" + )] pub extension_button_prominent_foreground: Option, - #[serde(rename = "extensionButton.prominentBackground")] + + #[serde( + default, + rename = "extensionButton.prominentBackground", + deserialize_with = "empty_string_as_none" + )] pub extension_button_prominent_background: Option, - #[serde(rename = "extensionButton.prominentHoverBackground")] + + #[serde( + default, + rename = "extensionButton.prominentHoverBackground", + deserialize_with = "empty_string_as_none" + )] pub extension_button_prominent_hover_background: Option, - #[serde(rename = "pickerGroup.border")] + + #[serde( + default, + rename = "pickerGroup.border", + deserialize_with = "empty_string_as_none" + )] pub picker_group_border: Option, - #[serde(rename = "pickerGroup.foreground")] + + #[serde( + default, + rename = "pickerGroup.foreground", + deserialize_with = "empty_string_as_none" + )] pub picker_group_foreground: Option, - #[serde(rename = "debugToolBar.background")] + + #[serde( + default, + rename = "debugToolBar.background", + deserialize_with = "empty_string_as_none" + )] pub debug_tool_bar_background: Option, - #[serde(rename = "walkThrough.embeddedEditorBackground")] + + #[serde( + default, + rename = "walkThrough.embeddedEditorBackground", + deserialize_with = "empty_string_as_none" + )] pub walk_through_embedded_editor_background: Option, - #[serde(rename = "settings.headerForeground")] + + #[serde( + default, + rename = "settings.headerForeground", + deserialize_with = "empty_string_as_none" + )] pub settings_header_foreground: Option, - #[serde(rename = "settings.modifiedItemIndicator")] + + #[serde( + default, + rename = "settings.modifiedItemIndicator", + deserialize_with = "empty_string_as_none" + )] pub settings_modified_item_indicator: Option, - #[serde(rename = "settings.dropdownBackground")] + + #[serde( + default, + rename = "settings.dropdownBackground", + deserialize_with = "empty_string_as_none" + )] pub settings_dropdown_background: Option, - #[serde(rename = "settings.dropdownForeground")] + + #[serde( + default, + rename = "settings.dropdownForeground", + deserialize_with = "empty_string_as_none" + )] pub settings_dropdown_foreground: Option, - #[serde(rename = "settings.dropdownBorder")] + + #[serde( + default, + rename = "settings.dropdownBorder", + deserialize_with = "empty_string_as_none" + )] pub settings_dropdown_border: Option, - #[serde(rename = "settings.checkboxBackground")] + + #[serde( + default, + rename = "settings.checkboxBackground", + deserialize_with = "empty_string_as_none" + )] pub settings_checkbox_background: Option, - #[serde(rename = "settings.checkboxForeground")] + + #[serde( + default, + rename = "settings.checkboxForeground", + deserialize_with = "empty_string_as_none" + )] pub settings_checkbox_foreground: Option, - #[serde(rename = "settings.checkboxBorder")] + + #[serde( + default, + rename = "settings.checkboxBorder", + deserialize_with = "empty_string_as_none" + )] pub settings_checkbox_border: Option, - #[serde(rename = "settings.textInputBackground")] + + #[serde( + default, + rename = "settings.textInputBackground", + deserialize_with = "empty_string_as_none" + )] pub settings_text_input_background: Option, - #[serde(rename = "settings.textInputForeground")] + + #[serde( + default, + rename = "settings.textInputForeground", + deserialize_with = "empty_string_as_none" + )] pub settings_text_input_foreground: Option, - #[serde(rename = "settings.textInputBorder")] + + #[serde( + default, + rename = "settings.textInputBorder", + deserialize_with = "empty_string_as_none" + )] pub settings_text_input_border: Option, - #[serde(rename = "settings.numberInputBackground")] + + #[serde( + default, + rename = "settings.numberInputBackground", + deserialize_with = "empty_string_as_none" + )] pub settings_number_input_background: Option, - #[serde(rename = "settings.numberInputForeground")] + + #[serde( + default, + rename = "settings.numberInputForeground", + deserialize_with = "empty_string_as_none" + )] pub settings_number_input_foreground: Option, - #[serde(rename = "settings.numberInputBorder")] + + #[serde( + default, + rename = "settings.numberInputBorder", + deserialize_with = "empty_string_as_none" + )] pub settings_number_input_border: Option, - #[serde(rename = "breadcrumb.foreground")] + + #[serde( + default, + rename = "breadcrumb.foreground", + deserialize_with = "empty_string_as_none" + )] pub breadcrumb_foreground: Option, - #[serde(rename = "breadcrumb.background")] + + #[serde( + default, + rename = "breadcrumb.background", + deserialize_with = "empty_string_as_none" + )] pub breadcrumb_background: Option, - #[serde(rename = "breadcrumb.focusForeground")] + + #[serde( + default, + rename = "breadcrumb.focusForeground", + deserialize_with = "empty_string_as_none" + )] pub breadcrumb_focus_foreground: Option, - #[serde(rename = "breadcrumb.activeSelectionForeground")] + + #[serde( + default, + rename = "breadcrumb.activeSelectionForeground", + deserialize_with = "empty_string_as_none" + )] pub breadcrumb_active_selection_foreground: Option, - #[serde(rename = "breadcrumbPicker.background")] + + #[serde( + default, + rename = "breadcrumbPicker.background", + deserialize_with = "empty_string_as_none" + )] pub breadcrumb_picker_background: Option, - #[serde(rename = "listFilterWidget.background")] + + #[serde( + default, + rename = "listFilterWidget.background", + deserialize_with = "empty_string_as_none" + )] pub list_filter_widget_background: Option, - #[serde(rename = "listFilterWidget.outline")] + + #[serde( + default, + rename = "listFilterWidget.outline", + deserialize_with = "empty_string_as_none" + )] pub list_filter_widget_outline: Option, - #[serde(rename = "listFilterWidget.noMatchesOutline")] + + #[serde( + default, + rename = "listFilterWidget.noMatchesOutline", + deserialize_with = "empty_string_as_none" + )] pub list_filter_widget_no_matches_outline: Option, } From 726d761646e51e378292845723e65ff1bbf8e157 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Fri, 8 Dec 2023 10:12:18 -0800 Subject: [PATCH 060/110] Bump tree-sitter-vue to remove dangling submodule --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 44b705c129..f3f301f3fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10511,7 +10511,7 @@ dependencies = [ [[package]] name = "tree-sitter-vue" version = "0.0.1" -source = "git+https://github.com/zed-industries/tree-sitter-vue?rev=9b6cb221ccb8d0b956fcb17e9a1efac2feefeb58#9b6cb221ccb8d0b956fcb17e9a1efac2feefeb58" +source = "git+https://github.com/zed-industries/tree-sitter-vue?rev=6608d9d60c386f19d80af7d8132322fa11199c42#6608d9d60c386f19d80af7d8132322fa11199c42" dependencies = [ "cc", "tree-sitter", diff --git a/Cargo.toml b/Cargo.toml index 5a3c451fd3..2190066df5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -205,7 +205,7 @@ tree-sitter-yaml = { git = "https://github.com/zed-industries/tree-sitter-yaml", tree-sitter-lua = "0.0.14" tree-sitter-nix = { git = "https://github.com/nix-community/tree-sitter-nix", rev = "66e3e9ce9180ae08fc57372061006ef83f0abde7" } tree-sitter-nu = { git = "https://github.com/nushell/tree-sitter-nu", rev = "786689b0562b9799ce53e824cb45a1a2a04dc673"} -tree-sitter-vue = {git = "https://github.com/zed-industries/tree-sitter-vue", rev = "9b6cb221ccb8d0b956fcb17e9a1efac2feefeb58"} +tree-sitter-vue = {git = "https://github.com/zed-industries/tree-sitter-vue", rev = "6608d9d60c386f19d80af7d8132322fa11199c42"} tree-sitter-uiua = {git = "https://github.com/shnarazk/tree-sitter-uiua", rev = "9260f11be5900beda4ee6d1a24ab8ddfaf5a19b2"} [patch.crates-io] From a5a0ad8b5c06a595027ea7ab6f6bf645f0c70915 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 13:13:19 -0500 Subject: [PATCH 061/110] Add missing serde attribute to `foreground` --- crates/theme_importer/src/vscode/theme.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/theme_importer/src/vscode/theme.rs b/crates/theme_importer/src/vscode/theme.rs index 2c3fcd1752..f214f5089d 100644 --- a/crates/theme_importer/src/vscode/theme.rs +++ b/crates/theme_importer/src/vscode/theme.rs @@ -161,6 +161,7 @@ pub struct VsCodeColors { )] pub focus_border: Option, + #[serde(default, deserialize_with = "empty_string_as_none")] pub foreground: Option, #[serde( From be6c909587c5c3d852288f7cb03e86f7e0875b1a Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 13:13:40 -0500 Subject: [PATCH 062/110] Remove some unused imports --- crates/feedback2/src/feedback_modal.rs | 2 +- crates/workspace2/src/status_bar.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index ada844ecda..23d8c38626 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -14,7 +14,7 @@ use language::Buffer; use project::Project; use regex::Regex; use serde_derive::Serialize; -use ui::{prelude::*, Button, ButtonStyle, IconPosition, Label, Tooltip}; +use ui::{prelude::*, Button, ButtonStyle, IconPosition, Tooltip}; use util::ResultExt; use workspace::Workspace; diff --git a/crates/workspace2/src/status_bar.rs b/crates/workspace2/src/status_bar.rs index 22e2fa128d..c095fd03b0 100644 --- a/crates/workspace2/src/status_bar.rs +++ b/crates/workspace2/src/status_bar.rs @@ -6,7 +6,7 @@ use gpui::{ WindowContext, }; use ui::prelude::*; -use ui::{h_stack, Icon, IconButton}; +use ui::{h_stack}; use util::ResultExt; pub trait StatusItemView: Render { From ab5b76e9438314164158eed6cbab519cafd7406d Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 13:14:22 -0500 Subject: [PATCH 063/110] Pull Git status colors from VS Code themes --- crates/theme2/src/themes/andromeda.rs | 2 + crates/theme2/src/themes/ayu.rs | 9 ++++ crates/theme2/src/themes/dracula.rs | 4 ++ crates/theme2/src/themes/gruvbox.rs | 24 ++++++++++ crates/theme2/src/themes/night_owl.rs | 4 ++ crates/theme2/src/themes/noctis.rs | 44 +++++++++++++++++++ crates/theme2/src/themes/nord.rs | 4 ++ crates/theme2/src/themes/palenight.rs | 12 +++++ crates/theme2/src/themes/rose_pine.rs | 12 +++++ crates/theme2/src/themes/synthwave_84.rs | 3 ++ crates/theme_importer/src/vscode/converter.rs | 20 +++++++-- 11 files changed, 134 insertions(+), 4 deletions(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 577bbea543..c789f4f395 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -63,6 +63,7 @@ pub fn andromeda() -> UserThemeFamily { error: Some(rgba(0xfc644dff).into()), hidden: Some(rgba(0x746f77ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x555555ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -267,6 +268,7 @@ pub fn andromeda() -> UserThemeFamily { error: Some(rgba(0xfc644dff).into()), hidden: Some(rgba(0x746f77ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x555555ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 10ef469490..c9bb3dd514 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -63,10 +63,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + created: Some(rgba(0x6cbf43b3).into()), deleted: Some(rgba(0xe65050ff).into()), error: Some(rgba(0xe65050ff).into()), hidden: Some(rgba(0x8a9199ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x8a919980).into()), + modified: Some(rgba(0x478accb3).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -359,10 +362,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + created: Some(rgba(0x87d96cb3).into()), deleted: Some(rgba(0xff6666ff).into()), error: Some(rgba(0xff6666ff).into()), hidden: Some(rgba(0x707a8cff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x707a8c80).into()), + modified: Some(rgba(0x80bfffb3).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -655,10 +661,13 @@ pub fn ayu() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + created: Some(rgba(0x7fd962b3).into()), deleted: Some(rgba(0xd95757ff).into()), error: Some(rgba(0xd95757ff).into()), hidden: Some(rgba(0x565b66ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x565b6680).into()), + modified: Some(rgba(0x73b8ffb3).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 19902dd79d..27bc05c64a 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -63,10 +63,14 @@ pub fn dracula() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffb86cff).into()), + created: Some(rgba(0x50fa7bff).into()), deleted: Some(rgba(0xff5555ff).into()), error: Some(rgba(0xff5555ff).into()), hidden: Some(rgba(0x6272a4ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x6272a4ff).into()), + modified: Some(rgba(0x8be9fdff).into()), warning: Some(rgba(0xffb86cff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 43354b2d22..79efc43109 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -60,10 +60,14 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb16286ff).into()), + created: Some(rgba(0x98971aff).into()), deleted: Some(rgba(0xfb4934ff).into()), error: Some(rgba(0xfb4934ff).into()), hidden: Some(rgba(0xa89984ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x7c6f64ff).into()), + modified: Some(rgba(0xd79921ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -331,10 +335,14 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb16286ff).into()), + created: Some(rgba(0x98971aff).into()), deleted: Some(rgba(0xfb4934ff).into()), error: Some(rgba(0xfb4934ff).into()), hidden: Some(rgba(0xa89984ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x7c6f64ff).into()), + modified: Some(rgba(0xd79921ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -602,10 +610,14 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb16286ff).into()), + created: Some(rgba(0x98971aff).into()), deleted: Some(rgba(0xfb4934ff).into()), error: Some(rgba(0xfb4934ff).into()), hidden: Some(rgba(0xa89984ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x7c6f64ff).into()), + modified: Some(rgba(0xd79921ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -873,10 +885,14 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb16286ff).into()), + created: Some(rgba(0x98971aff).into()), deleted: Some(rgba(0x9d0006ff).into()), error: Some(rgba(0x9d0006ff).into()), hidden: Some(rgba(0x7c6f64ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xa89984ff).into()), + modified: Some(rgba(0xd79921ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -1144,10 +1160,14 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb16286ff).into()), + created: Some(rgba(0x98971aff).into()), deleted: Some(rgba(0x9d0006ff).into()), error: Some(rgba(0x9d0006ff).into()), hidden: Some(rgba(0x7c6f64ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xa89984ff).into()), + modified: Some(rgba(0xd79921ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -1415,10 +1435,14 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb16286ff).into()), + created: Some(rgba(0x98971aff).into()), deleted: Some(rgba(0x9d0006ff).into()), error: Some(rgba(0x9d0006ff).into()), hidden: Some(rgba(0x7c6f64ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xa89984ff).into()), + modified: Some(rgba(0xd79921ff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 09b73c10db..cece73f00e 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -63,10 +63,14 @@ pub fn night_owl() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffeb95cc).into()), + created: Some(rgba(0xc5e478ff).into()), deleted: Some(rgba(0xef5350ff).into()), error: Some(rgba(0xef5350ff).into()), hidden: Some(rgba(0x5f7e97ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x395a75ff).into()), + modified: Some(rgba(0xa2bffcff).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index a05422300c..25a31f0290 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -64,10 +64,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffc180ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x9fb6c6ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x5b788bff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -330,10 +334,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffc180ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0xbbaab0ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x5b788bff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -596,10 +604,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xe9a149ff).into()), + created: Some(rgba(0x00c6e0ff).into()), deleted: Some(rgba(0xff4000ff).into()), error: Some(rgba(0xff4000ff).into()), hidden: Some(rgba(0x71838eff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xa8a28faa).into()), + modified: Some(rgba(0x14b832ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() }, @@ -862,10 +874,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xe9a149ff).into()), + created: Some(rgba(0x00c6e0ff).into()), deleted: Some(rgba(0xff4000ff).into()), error: Some(rgba(0xff4000ff).into()), hidden: Some(rgba(0x75718eff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xa8a28faa).into()), + modified: Some(rgba(0x14b832ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() }, @@ -1128,10 +1144,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xe9a149ff).into()), + created: Some(rgba(0x00c6e0ff).into()), deleted: Some(rgba(0xff4000ff).into()), error: Some(rgba(0xff4000ff).into()), hidden: Some(rgba(0x888477ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xa8a28faa).into()), + modified: Some(rgba(0x14b832ff).into()), warning: Some(rgba(0xe07a52ff).into()), ..Default::default() }, @@ -1394,10 +1414,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xdfc09fff).into()), + created: Some(rgba(0x6fb0b8ff).into()), deleted: Some(rgba(0xb96346ff).into()), error: Some(rgba(0xb96346ff).into()), hidden: Some(rgba(0x96a8b6ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x5b788bff).into()), + modified: Some(rgba(0x72c09fff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -1660,10 +1684,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xe4b781ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x87a7abff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x5b858bff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa487ff).into()), ..Default::default() }, @@ -1926,10 +1954,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xe4b781ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x87a7abff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x647e82ff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa487ff).into()), ..Default::default() }, @@ -2192,10 +2224,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xe4b781ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0x87a7abff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x647e82ff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa487ff).into()), ..Default::default() }, @@ -2458,10 +2494,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffc180ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0xa9a5c0ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x5b788bff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, @@ -2724,10 +2764,14 @@ pub fn noctis() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffc180ff).into()), + created: Some(rgba(0x40d4e7ff).into()), deleted: Some(rgba(0xe34e1cff).into()), error: Some(rgba(0xe34e1cff).into()), hidden: Some(rgba(0xb3a5c0ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x5b788bff).into()), + modified: Some(rgba(0x49e9a6ff).into()), warning: Some(rgba(0xffa857ff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index ee32e56645..b4a723d35c 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -63,10 +63,14 @@ pub fn nord() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0x5e81acff).into()), + created: Some(rgba(0xa3be8cff).into()), deleted: Some(rgba(0xbf616aff).into()), error: Some(rgba(0xbf616aff).into()), hidden: Some(rgba(0xd8dee966).into()), hint: Some(rgba(0xd8dee9ff).into()), + ignored: Some(rgba(0xd8dee966).into()), + modified: Some(rgba(0xebcb8bff).into()), warning: Some(rgba(0xebcb8bff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 0b2cfaca99..31de1b798b 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -63,10 +63,14 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffeb95cc).into()), + created: Some(rgba(0xa9c77dff).into()), deleted: Some(rgba(0xef5350ff).into()), error: Some(rgba(0xef5350ff).into()), hidden: Some(rgba(0x929ac9ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x69709890).into()), + modified: Some(rgba(0xe2c08de6).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -338,10 +342,14 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffeb95cc).into()), + created: Some(rgba(0xa9c77dff).into()), deleted: Some(rgba(0xef5350ff).into()), error: Some(rgba(0xef5350ff).into()), hidden: Some(rgba(0x929ac9ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x69709890).into()), + modified: Some(rgba(0xe2c08de6).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { @@ -613,10 +621,14 @@ pub fn palenight() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xffeb95cc).into()), + created: Some(rgba(0xa9c77dff).into()), deleted: Some(rgba(0xef5350ff).into()), error: Some(rgba(0xef5350ff).into()), hidden: Some(rgba(0x929ac9ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0x69709890).into()), + modified: Some(rgba(0xe2c08de6).into()), ..Default::default() }, syntax: Some(UserSyntaxTheme { diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 2e5cf835ab..e0513bbd08 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -63,10 +63,14 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xeb6f92ff).into()), + created: Some(rgba(0xf6c177ff).into()), deleted: Some(rgba(0xeb6f92ff).into()), error: Some(rgba(0xeb6f92ff).into()), hidden: Some(rgba(0x908caaff).into()), hint: Some(rgba(0x908caaff).into()), + ignored: Some(rgba(0x6e6a86ff).into()), + modified: Some(rgba(0xebbcbaff).into()), warning: Some(rgba(0xf6c177ff).into()), ..Default::default() }, @@ -310,10 +314,14 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xeb6f92ff).into()), + created: Some(rgba(0xf6c177ff).into()), deleted: Some(rgba(0xeb6f92ff).into()), error: Some(rgba(0xeb6f92ff).into()), hidden: Some(rgba(0x908caaff).into()), hint: Some(rgba(0x908caaff).into()), + ignored: Some(rgba(0x6e6a86ff).into()), + modified: Some(rgba(0xea9a97ff).into()), warning: Some(rgba(0xf6c177ff).into()), ..Default::default() }, @@ -557,10 +565,14 @@ pub fn rose_pine() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + conflict: Some(rgba(0xb4637aff).into()), + created: Some(rgba(0xea9d34ff).into()), deleted: Some(rgba(0xb4637aff).into()), error: Some(rgba(0xb4637aff).into()), hidden: Some(rgba(0x797593ff).into()), hint: Some(rgba(0x797593ff).into()), + ignored: Some(rgba(0x9893a5ff).into()), + modified: Some(rgba(0xd7827eff).into()), warning: Some(rgba(0xea9d34ff).into()), ..Default::default() }, diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 90e8a9c667..832b92c7a1 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -47,9 +47,12 @@ pub fn synthwave_84() -> UserThemeFamily { ..Default::default() }, status: StatusColorsRefinement { + created: Some(rgba(0x72f1b8ff).into()), deleted: Some(rgba(0xfe4450ff).into()), error: Some(rgba(0xfe4450ff).into()), hint: Some(rgba(0x969696ff).into()), + ignored: Some(rgba(0xffffff59).into()), + modified: Some(rgba(0xb893ceee).into()), warning: Some(rgba(0x72f1b8bb).into()), ..Default::default() }, diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 4e9090d2cd..6e2f11e5ff 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -75,8 +75,14 @@ impl VsCodeThemeConverter { }; Ok(StatusColorsRefinement { - // conflict: None, - // created: None, + conflict: vscode_colors + .git_decoration_conflicting_resource_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, + created: vscode_colors + .git_decoration_untracked_resource_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, deleted: vscode_colors .error_foreground .as_ref() @@ -94,9 +100,15 @@ impl VsCodeThemeConverter { .as_ref() .traverse(|color| try_parse_color(&color))? .or(vscode_base_status_colors.hint), - // ignored: None, + ignored: vscode_colors + .git_decoration_ignored_resource_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, // info: None, - // modified: None, + modified: vscode_colors + .git_decoration_modified_resource_foreground + .as_ref() + .traverse(|color| try_parse_color(&color))?, // renamed: None, // success: None, warning: vscode_colors From fdde76c1a5465fda848d0e5107d902c81302fd31 Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 13:15:12 -0500 Subject: [PATCH 064/110] Cargo fmt --- crates/workspace2/src/status_bar.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/workspace2/src/status_bar.rs b/crates/workspace2/src/status_bar.rs index c095fd03b0..d198b0485e 100644 --- a/crates/workspace2/src/status_bar.rs +++ b/crates/workspace2/src/status_bar.rs @@ -5,8 +5,8 @@ use gpui::{ div, AnyView, Div, IntoElement, ParentElement, Render, Styled, Subscription, View, ViewContext, WindowContext, }; +use ui::h_stack; use ui::prelude::*; -use ui::{h_stack}; use util::ResultExt; pub trait StatusItemView: Render { From 62155f3a88f5d15945621514885fe1851fc7f686 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 13:20:00 -0500 Subject: [PATCH 065/110] Add fallback to constant tokens for numbers --- crates/theme2/src/themes/dracula.rs | 7 ++++ crates/theme2/src/themes/gruvbox.rs | 42 ++++++++++++++++++++++ crates/theme_importer/src/vscode/syntax.rs | 1 + 3 files changed, 50 insertions(+) diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 27bc05c64a..855698b471 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -156,6 +156,13 @@ pub fn dracula() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0xbd93f9ff).into()), + ..Default::default() + }, + ), ( "string".into(), UserHighlightStyle { diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 79efc43109..d961c661a3 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -152,6 +152,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0xd3869bff).into()), + ..Default::default() + }, + ), ( "operator".into(), UserHighlightStyle { @@ -427,6 +434,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0xd3869bff).into()), + ..Default::default() + }, + ), ( "operator".into(), UserHighlightStyle { @@ -702,6 +716,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0xd3869bff).into()), + ..Default::default() + }, + ), ( "operator".into(), UserHighlightStyle { @@ -977,6 +998,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0x8f3f71ff).into()), + ..Default::default() + }, + ), ( "operator".into(), UserHighlightStyle { @@ -1252,6 +1280,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0x8f3f71ff).into()), + ..Default::default() + }, + ), ( "operator".into(), UserHighlightStyle { @@ -1527,6 +1562,13 @@ pub fn gruvbox() -> UserThemeFamily { ..Default::default() }, ), + ( + "number".into(), + UserHighlightStyle { + color: Some(rgba(0x8f3f71ff).into()), + ..Default::default() + }, + ), ( "operator".into(), UserHighlightStyle { diff --git a/crates/theme_importer/src/vscode/syntax.rs b/crates/theme_importer/src/vscode/syntax.rs index 262bd81f77..f055fc3551 100644 --- a/crates/theme_importer/src/vscode/syntax.rs +++ b/crates/theme_importer/src/vscode/syntax.rs @@ -167,6 +167,7 @@ impl ZedSyntaxToken { pub fn fallbacks(&self) -> &[Self] { match self { ZedSyntaxToken::CommentDoc => &[ZedSyntaxToken::Comment], + ZedSyntaxToken::Number => &[ZedSyntaxToken::Constant], ZedSyntaxToken::VariableSpecial => &[ZedSyntaxToken::Variable], ZedSyntaxToken::PunctuationBracket | ZedSyntaxToken::PunctuationDelimiter From 79e6dedb7a98bcc5b7f97aed91f5953579a4d6dd Mon Sep 17 00:00:00 2001 From: Julia Date: Fri, 8 Dec 2023 13:49:42 -0500 Subject: [PATCH 066/110] Track focus shenanigans with context menu Co-Authored-By: Max Brunsfeld --- crates/terminal_view2/src/terminal_element.rs | 16 ++---------- crates/terminal_view2/src/terminal_view.rs | 25 +++++++++---------- crates/ui2/src/components/context_menu.rs | 6 +---- 3 files changed, 15 insertions(+), 32 deletions(-) diff --git a/crates/terminal_view2/src/terminal_element.rs b/crates/terminal_view2/src/terminal_element.rs index d61ba5988e..907e8cd9c1 100644 --- a/crates/terminal_view2/src/terminal_element.rs +++ b/crates/terminal_view2/src/terminal_element.rs @@ -5,7 +5,7 @@ use gpui::{ FontStyle, FontWeight, HighlightStyle, Hsla, InteractiveElement, InteractiveElementState, IntoElement, LayoutId, Model, ModelContext, ModifiersChangedEvent, MouseButton, Pixels, PlatformInputHandler, Point, Rgba, ShapedLine, Size, StatefulInteractiveElement, Styled, - TextRun, TextStyle, TextSystem, UnderlineStyle, View, WhiteSpace, WindowContext, + TextRun, TextStyle, TextSystem, UnderlineStyle, WhiteSpace, WindowContext, }; use itertools::Itertools; use language::CursorShape; @@ -27,8 +27,6 @@ use ui::Tooltip; use std::mem; use std::{fmt::Debug, ops::RangeInclusive}; -use crate::TerminalView; - ///The information generated during layout that is necessary for painting pub struct LayoutState { cells: Vec, @@ -149,7 +147,6 @@ impl LayoutRect { ///We need to keep a reference to the view for mouse events, do we need it for any other terminal stuff, or can we move that to connection? pub struct TerminalElement { terminal: Model, - terminal_view: View, focus: FocusHandle, focused: bool, cursor_visible: bool, @@ -168,7 +165,6 @@ impl StatefulInteractiveElement for TerminalElement {} impl TerminalElement { pub fn new( terminal: Model, - terminal_view: View, focus: FocusHandle, focused: bool, cursor_visible: bool, @@ -176,7 +172,6 @@ impl TerminalElement { ) -> TerminalElement { TerminalElement { terminal, - terminal_view, focused, focus: focus.clone(), cursor_visible, @@ -774,18 +769,11 @@ impl Element for TerminalElement { (layout_id, interactive_state) } - fn paint( - mut self, - bounds: Bounds, - state: &mut Self::State, - cx: &mut WindowContext<'_>, - ) { + fn paint(self, bounds: Bounds, state: &mut Self::State, cx: &mut WindowContext<'_>) { let mut layout = self.compute_layout(bounds, cx); let theme = cx.theme(); - let dispatch_context = self.terminal_view.read(cx).dispatch_context(cx); - self.interactivity().key_context = Some(dispatch_context); cx.paint_quad( bounds, Default::default(), diff --git a/crates/terminal_view2/src/terminal_view.rs b/crates/terminal_view2/src/terminal_view.rs index c4f1512e8c..d41e535d50 100644 --- a/crates/terminal_view2/src/terminal_view.rs +++ b/crates/terminal_view2/src/terminal_view.rs @@ -632,7 +632,6 @@ impl Render for TerminalView { fn render(&mut self, cx: &mut ViewContext) -> Self::Element { let terminal_handle = self.terminal.clone(); - let this_view = cx.view().clone(); let self_id = cx.entity_id(); let focused = self.focus_handle.is_focused(cx); @@ -640,22 +639,25 @@ impl Render for TerminalView { div() .size_full() .relative() + .track_focus(&self.focus_handle) + .key_context(self.dispatch_context(cx)) + .on_action(cx.listener(TerminalView::send_text)) + .on_action(cx.listener(TerminalView::send_keystroke)) + .on_action(cx.listener(TerminalView::copy)) + .on_action(cx.listener(TerminalView::paste)) + .on_action(cx.listener(TerminalView::clear)) + .on_action(cx.listener(TerminalView::show_character_palette)) + .on_action(cx.listener(TerminalView::select_all)) + .on_focus_in(cx.listener(Self::focus_in)) + .on_focus_out(cx.listener(Self::focus_out)) + .on_key_down(cx.listener(Self::key_down)) .child( div() .z_index(0) .absolute() .size_full() - .on_key_down(cx.listener(Self::key_down)) - .on_action(cx.listener(TerminalView::send_text)) - .on_action(cx.listener(TerminalView::send_keystroke)) - .on_action(cx.listener(TerminalView::copy)) - .on_action(cx.listener(TerminalView::paste)) - .on_action(cx.listener(TerminalView::clear)) - .on_action(cx.listener(TerminalView::show_character_palette)) - .on_action(cx.listener(TerminalView::select_all)) .child(TerminalElement::new( terminal_handle, - this_view, self.focus_handle.clone(), focused, self.should_show_cursor(focused, cx), @@ -675,9 +677,6 @@ impl Render for TerminalView { .anchor(gpui::AnchorCorner::TopLeft) .child(menu.clone()) })) - .track_focus(&self.focus_handle) - .on_focus_in(cx.listener(Self::focus_in)) - .on_focus_out(cx.listener(Self::focus_out)) } } diff --git a/crates/ui2/src/components/context_menu.rs b/crates/ui2/src/components/context_menu.rs index 0d6a632db5..c2dc0abe1a 100644 --- a/crates/ui2/src/components/context_menu.rs +++ b/crates/ui2/src/components/context_menu.rs @@ -239,7 +239,6 @@ impl Render for ContextMenu { action, } => { let handler = handler.clone(); - let dismiss = cx.listener(|_, _, cx| cx.emit(DismissEvent)); let label_element = if let Some(icon) = icon { h_stack() @@ -263,10 +262,7 @@ impl Render for ContextMenu { })), ) .selected(Some(ix) == self.selected_index) - .on_click(move |event, cx| { - handler(cx); - dismiss(event, cx) - }) + .on_click(move |_, cx| handler(cx)) .into_any_element() } }, From 1d35a815a68b10af12fc2c612ef4910a66b33877 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 13:50:56 -0500 Subject: [PATCH 067/110] Use `editorGroupHeader.tabsBackground` from VS Code as tab bar background (#3558) This PR changes the color we use for the tab bar background from the VS Code theme to `editorGroupHeader.tabsBackground`. Release Notes: - N/A --- crates/theme2/src/themes/dracula.rs | 2 +- crates/theme2/src/themes/gruvbox.rs | 6 +++++ crates/theme2/src/themes/noctis.rs | 22 +++++++++---------- crates/theme2/src/themes/palenight.rs | 6 ++--- crates/theme2/src/themes/rose_pine.rs | 6 ++--- crates/theme2/src/themes/solarized.rs | 2 ++ crates/theme2/src/themes/synthwave_84.rs | 1 + crates/theme_importer/src/vscode/converter.rs | 2 +- 8 files changed, 28 insertions(+), 19 deletions(-) diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 855698b471..391ef11803 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -36,7 +36,7 @@ pub fn dracula() -> UserThemeFamily { status_bar_background: Some(rgba(0x191a21ff).into()), title_bar_background: Some(rgba(0x21222cff).into()), toolbar_background: Some(rgba(0x282a36ff).into()), - tab_bar_background: Some(rgba(0x282a36ff).into()), + tab_bar_background: Some(rgba(0x191a21ff).into()), tab_inactive_background: Some(rgba(0x21222cff).into()), tab_active_background: Some(rgba(0x282a36ff).into()), editor_background: Some(rgba(0x282a36ff).into()), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index d961c661a3..b27dee65eb 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -34,6 +34,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x1d2021ff).into()), title_bar_background: Some(rgba(0x1d2021ff).into()), + tab_bar_background: Some(rgba(0x1d2021ff).into()), tab_inactive_background: Some(rgba(0x1d2021ff).into()), tab_active_background: Some(rgba(0x32302fff).into()), editor_background: Some(rgba(0x1d2021ff).into()), @@ -316,6 +317,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x282828ff).into()), title_bar_background: Some(rgba(0x282828ff).into()), + tab_bar_background: Some(rgba(0x282828ff).into()), tab_inactive_background: Some(rgba(0x282828ff).into()), tab_active_background: Some(rgba(0x3c3836ff).into()), editor_background: Some(rgba(0x282828ff).into()), @@ -598,6 +600,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x32302fff).into()), title_bar_background: Some(rgba(0x32302fff).into()), + tab_bar_background: Some(rgba(0x32302fff).into()), tab_inactive_background: Some(rgba(0x32302fff).into()), tab_active_background: Some(rgba(0x504945ff).into()), editor_background: Some(rgba(0x32302fff).into()), @@ -880,6 +883,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xf9f5d7ff).into()), title_bar_background: Some(rgba(0xf9f5d7ff).into()), + tab_bar_background: Some(rgba(0xf9f5d7ff).into()), tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), tab_active_background: Some(rgba(0xf2e5bcff).into()), editor_background: Some(rgba(0xf9f5d7ff).into()), @@ -1162,6 +1166,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xfbf1c7ff).into()), title_bar_background: Some(rgba(0xfbf1c7ff).into()), + tab_bar_background: Some(rgba(0xfbf1c7ff).into()), tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), tab_active_background: Some(rgba(0xebdbb2ff).into()), editor_background: Some(rgba(0xfbf1c7ff).into()), @@ -1444,6 +1449,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xf2e5bcff).into()), title_bar_background: Some(rgba(0xf2e5bcff).into()), + tab_bar_background: Some(rgba(0xf2e5bcff).into()), tab_inactive_background: Some(rgba(0xf2e5bcff).into()), tab_active_background: Some(rgba(0xd5c4a1ff).into()), editor_background: Some(rgba(0xf2e5bcff).into()), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 25a31f0290..db24e921cc 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -37,7 +37,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x07273bff).into()), title_bar_background: Some(rgba(0x07273bff).into()), toolbar_background: Some(rgba(0x051b29ff).into()), - tab_bar_background: Some(rgba(0x051b29ff).into()), + tab_bar_background: Some(rgba(0x09334eff).into()), tab_inactive_background: Some(rgba(0x09334eff).into()), tab_active_background: Some(rgba(0x07273bff).into()), editor_background: Some(rgba(0x07273bff).into()), @@ -307,7 +307,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x322a2dff).into()), title_bar_background: Some(rgba(0x322a2dff).into()), toolbar_background: Some(rgba(0x272022ff).into()), - tab_bar_background: Some(rgba(0x272022ff).into()), + tab_bar_background: Some(rgba(0x413036ff).into()), tab_inactive_background: Some(rgba(0x413036ff).into()), tab_active_background: Some(rgba(0x322a2dff).into()), editor_background: Some(rgba(0x322a2dff).into()), @@ -577,7 +577,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0xcaedf2ff).into()), title_bar_background: Some(rgba(0xe7f2f3ff).into()), toolbar_background: Some(rgba(0xe1eeefff).into()), - tab_bar_background: Some(rgba(0xe1eeefff).into()), + tab_bar_background: Some(rgba(0xcaedf2ff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), tab_active_background: Some(rgba(0xf4f6f6ff).into()), editor_background: Some(rgba(0xf4f6f6ff).into()), @@ -847,7 +847,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0xe2dff6ff).into()), title_bar_background: Some(rgba(0xedecf8ff).into()), toolbar_background: Some(rgba(0xe9e7f3ff).into()), - tab_bar_background: Some(rgba(0xe9e7f3ff).into()), + tab_bar_background: Some(rgba(0xe2dff6ff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), editor_background: Some(rgba(0xf2f1f8ff).into()), @@ -1117,7 +1117,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0xf0e9d6ff).into()), title_bar_background: Some(rgba(0xf9f1e1ff).into()), toolbar_background: Some(rgba(0xf6eddaff).into()), - tab_bar_background: Some(rgba(0xf6eddaff).into()), + tab_bar_background: Some(rgba(0xf0e9d6ff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), editor_background: Some(rgba(0xfef8ecff).into()), @@ -1387,7 +1387,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x1b2932ff).into()), title_bar_background: Some(rgba(0x1b2932ff).into()), toolbar_background: Some(rgba(0x0e1920ff).into()), - tab_bar_background: Some(rgba(0x0e1920ff).into()), + tab_bar_background: Some(rgba(0x24333dff).into()), tab_inactive_background: Some(rgba(0x202e37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), editor_background: Some(rgba(0x1b2932ff).into()), @@ -1657,7 +1657,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x041d20ff).into()), title_bar_background: Some(rgba(0x041d20ff).into()), toolbar_background: Some(rgba(0x03191bff).into()), - tab_bar_background: Some(rgba(0x03191bff).into()), + tab_bar_background: Some(rgba(0x062e32ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x052529ff).into()), editor_background: Some(rgba(0x052529ff).into()), @@ -1927,7 +1927,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), toolbar_background: Some(rgba(0x020c0eff).into()), - tab_bar_background: Some(rgba(0x020c0eff).into()), + tab_bar_background: Some(rgba(0x062e32ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), editor_background: Some(rgba(0x031417ff).into()), @@ -2197,7 +2197,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), toolbar_background: Some(rgba(0x020c0eff).into()), - tab_bar_background: Some(rgba(0x020c0eff).into()), + tab_bar_background: Some(rgba(0x062e32ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), editor_background: Some(rgba(0x031417ff).into()), @@ -2467,7 +2467,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x292640ff).into()), title_bar_background: Some(rgba(0x292640ff).into()), toolbar_background: Some(rgba(0x1f1d30ff).into()), - tab_bar_background: Some(rgba(0x1f1d30ff).into()), + tab_bar_background: Some(rgba(0x2f2c49ff).into()), tab_inactive_background: Some(rgba(0x2f2c49ff).into()), tab_active_background: Some(rgba(0x292640ff).into()), editor_background: Some(rgba(0x292640ff).into()), @@ -2737,7 +2737,7 @@ pub fn noctis() -> UserThemeFamily { status_bar_background: Some(rgba(0x30243dff).into()), title_bar_background: Some(rgba(0x30243dff).into()), toolbar_background: Some(rgba(0x291d35ff).into()), - tab_bar_background: Some(rgba(0x291d35ff).into()), + tab_bar_background: Some(rgba(0x3d2e4dff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), editor_background: Some(rgba(0x30243dff).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 31de1b798b..710a0c7c83 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -37,7 +37,7 @@ pub fn palenight() -> UserThemeFamily { status_bar_background: Some(rgba(0x282c3dff).into()), title_bar_background: Some(rgba(0x292d3eff).into()), toolbar_background: Some(rgba(0x292d3eff).into()), - tab_bar_background: Some(rgba(0x292d3eff).into()), + tab_bar_background: Some(rgba(0x31364aff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292d3eff).into()), editor_background: Some(rgba(0x292d3eff).into()), @@ -316,7 +316,7 @@ pub fn palenight() -> UserThemeFamily { status_bar_background: Some(rgba(0x282c3dff).into()), title_bar_background: Some(rgba(0x292d3eff).into()), toolbar_background: Some(rgba(0x292d3eff).into()), - tab_bar_background: Some(rgba(0x292d3eff).into()), + tab_bar_background: Some(rgba(0x31364aff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x292d3eff).into()), editor_background: Some(rgba(0x292d3eff).into()), @@ -595,7 +595,7 @@ pub fn palenight() -> UserThemeFamily { status_bar_background: Some(rgba(0x25293aff).into()), title_bar_background: Some(rgba(0x25293aff).into()), toolbar_background: Some(rgba(0x25293aff).into()), - tab_bar_background: Some(rgba(0x25293aff).into()), + tab_bar_background: Some(rgba(0x31364aff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x25293aff).into()), editor_background: Some(rgba(0x292d3eff).into()), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index e0513bbd08..0f3592cb0f 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -37,7 +37,7 @@ pub fn rose_pine() -> UserThemeFamily { status_bar_background: Some(rgba(0x191724ff).into()), title_bar_background: Some(rgba(0x191724ff).into()), toolbar_background: Some(rgba(0x1f1d2eff).into()), - tab_bar_background: Some(rgba(0x1f1d2eff).into()), + tab_bar_background: Some(rgba(0x00000000).into()), tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), editor_background: Some(rgba(0x191724ff).into()), @@ -288,7 +288,7 @@ pub fn rose_pine() -> UserThemeFamily { status_bar_background: Some(rgba(0x232136ff).into()), title_bar_background: Some(rgba(0x232136ff).into()), toolbar_background: Some(rgba(0x2a273fff).into()), - tab_bar_background: Some(rgba(0x2a273fff).into()), + tab_bar_background: Some(rgba(0x00000000).into()), tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x817c9c14).into()), editor_background: Some(rgba(0x232136ff).into()), @@ -539,7 +539,7 @@ pub fn rose_pine() -> UserThemeFamily { status_bar_background: Some(rgba(0xfaf4edff).into()), title_bar_background: Some(rgba(0xfaf4edff).into()), toolbar_background: Some(rgba(0xfffaf3ff).into()), - tab_bar_background: Some(rgba(0xfffaf3ff).into()), + tab_bar_background: Some(rgba(0x00000000).into()), tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), editor_background: Some(rgba(0xfaf4edff).into()), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 81171e0fb0..71a1ed0204 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -34,6 +34,7 @@ pub fn solarized() -> UserThemeFamily { text: Some(rgba(0xbbbbbbff).into()), status_bar_background: Some(rgba(0x00212bff).into()), title_bar_background: Some(rgba(0x002c39ff).into()), + tab_bar_background: Some(rgba(0x004052ff).into()), tab_inactive_background: Some(rgba(0x004052ff).into()), tab_active_background: Some(rgba(0x002b37ff).into()), editor_background: Some(rgba(0x002b36ff).into()), @@ -294,6 +295,7 @@ pub fn solarized() -> UserThemeFamily { text: Some(rgba(0x333333ff).into()), status_bar_background: Some(rgba(0xeee8d5ff).into()), title_bar_background: Some(rgba(0xeee8d5ff).into()), + tab_bar_background: Some(rgba(0xd9d2c2ff).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), editor_background: Some(rgba(0xfdf6e3ff).into()), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 832b92c7a1..4849fb9f37 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -28,6 +28,7 @@ pub fn synthwave_84() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x241b2fff).into()), title_bar_background: Some(rgba(0x241b2fff).into()), + tab_bar_background: Some(rgba(0x241b2fff).into()), tab_inactive_background: Some(rgba(0x262335ff).into()), editor_background: Some(rgba(0x262335ff).into()), editor_gutter_background: Some(rgba(0x262335ff).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 6e2f11e5ff..596aa09b93 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -202,7 +202,7 @@ impl VsCodeThemeConverter { .flatten() }), tab_bar_background: vscode_colors - .panel_background + .editor_group_header_tabs_background .as_ref() .traverse(|color| try_parse_color(&color))?, tab_active_background: vscode_colors From 1c850f495ca6a29fc427dced0d30492487bdf55f Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 14:03:18 -0500 Subject: [PATCH 068/110] Use `breadcrumb.background` from VS Code for toolbar background (#3559) This PR changes the color we use for the toolbar background from the VS Code theme to `breadcrumb.background`. If this value isn't set then we fall back to the `editor.background`. Release Notes: - N/A --- crates/theme2/src/themes/andromeda.rs | 2 +- crates/theme2/src/themes/gruvbox.rs | 6 +++++ crates/theme2/src/themes/night_owl.rs | 2 +- crates/theme2/src/themes/noctis.rs | 22 ++++++++-------- crates/theme2/src/themes/palenight.rs | 2 +- crates/theme2/src/themes/rose_pine.rs | 6 ++--- crates/theme2/src/themes/solarized.rs | 2 ++ crates/theme2/src/themes/synthwave_84.rs | 1 + crates/theme_importer/src/vscode/converter.rs | 25 ++++++++----------- 9 files changed, 37 insertions(+), 31 deletions(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index c789f4f395..9e61fbe2e0 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -241,7 +241,7 @@ pub fn andromeda() -> UserThemeFamily { text: Some(rgba(0xd5ced9ff).into()), status_bar_background: Some(rgba(0x23262eff).into()), title_bar_background: Some(rgba(0x23262eff).into()), - toolbar_background: Some(rgba(0x23262eff).into()), + toolbar_background: Some(rgba(0x262a33ff).into()), tab_bar_background: Some(rgba(0x23262eff).into()), tab_inactive_background: Some(rgba(0x23262eff).into()), tab_active_background: Some(rgba(0x262a33ff).into()), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index b27dee65eb..161450dbc0 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -34,6 +34,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x1d2021ff).into()), title_bar_background: Some(rgba(0x1d2021ff).into()), + toolbar_background: Some(rgba(0x1d2021ff).into()), tab_bar_background: Some(rgba(0x1d2021ff).into()), tab_inactive_background: Some(rgba(0x1d2021ff).into()), tab_active_background: Some(rgba(0x32302fff).into()), @@ -317,6 +318,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x282828ff).into()), title_bar_background: Some(rgba(0x282828ff).into()), + toolbar_background: Some(rgba(0x282828ff).into()), tab_bar_background: Some(rgba(0x282828ff).into()), tab_inactive_background: Some(rgba(0x282828ff).into()), tab_active_background: Some(rgba(0x3c3836ff).into()), @@ -600,6 +602,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x32302fff).into()), title_bar_background: Some(rgba(0x32302fff).into()), + toolbar_background: Some(rgba(0x32302fff).into()), tab_bar_background: Some(rgba(0x32302fff).into()), tab_inactive_background: Some(rgba(0x32302fff).into()), tab_active_background: Some(rgba(0x504945ff).into()), @@ -883,6 +886,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xf9f5d7ff).into()), title_bar_background: Some(rgba(0xf9f5d7ff).into()), + toolbar_background: Some(rgba(0xf9f5d7ff).into()), tab_bar_background: Some(rgba(0xf9f5d7ff).into()), tab_inactive_background: Some(rgba(0xf9f5d7ff).into()), tab_active_background: Some(rgba(0xf2e5bcff).into()), @@ -1166,6 +1170,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xfbf1c7ff).into()), title_bar_background: Some(rgba(0xfbf1c7ff).into()), + toolbar_background: Some(rgba(0xfbf1c7ff).into()), tab_bar_background: Some(rgba(0xfbf1c7ff).into()), tab_inactive_background: Some(rgba(0xfbf1c7ff).into()), tab_active_background: Some(rgba(0xebdbb2ff).into()), @@ -1449,6 +1454,7 @@ pub fn gruvbox() -> UserThemeFamily { text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xf2e5bcff).into()), title_bar_background: Some(rgba(0xf2e5bcff).into()), + toolbar_background: Some(rgba(0xf2e5bcff).into()), tab_bar_background: Some(rgba(0xf2e5bcff).into()), tab_inactive_background: Some(rgba(0xf2e5bcff).into()), tab_active_background: Some(rgba(0xd5c4a1ff).into()), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index cece73f00e..8e4743e371 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -286,7 +286,7 @@ pub fn night_owl() -> UserThemeFamily { text: Some(rgba(0x403f53ff).into()), status_bar_background: Some(rgba(0xf0f0f0ff).into()), title_bar_background: Some(rgba(0xf0f0f0ff).into()), - toolbar_background: Some(rgba(0xf0f0f0ff).into()), + toolbar_background: Some(rgba(0xfbfbfbff).into()), tab_bar_background: Some(rgba(0xf0f0f0ff).into()), tab_inactive_background: Some(rgba(0xf0f0f0ff).into()), tab_active_background: Some(rgba(0xf6f6f6ff).into()), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index db24e921cc..3a0e96755e 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -36,7 +36,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xbecfdaff).into()), status_bar_background: Some(rgba(0x07273bff).into()), title_bar_background: Some(rgba(0x07273bff).into()), - toolbar_background: Some(rgba(0x051b29ff).into()), + toolbar_background: Some(rgba(0x07273bff).into()), tab_bar_background: Some(rgba(0x09334eff).into()), tab_inactive_background: Some(rgba(0x09334eff).into()), tab_active_background: Some(rgba(0x07273bff).into()), @@ -306,7 +306,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xcbbec2ff).into()), status_bar_background: Some(rgba(0x322a2dff).into()), title_bar_background: Some(rgba(0x322a2dff).into()), - toolbar_background: Some(rgba(0x272022ff).into()), + toolbar_background: Some(rgba(0x322a2dff).into()), tab_bar_background: Some(rgba(0x413036ff).into()), tab_inactive_background: Some(rgba(0x413036ff).into()), tab_active_background: Some(rgba(0x322a2dff).into()), @@ -576,7 +576,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0x005661ff).into()), status_bar_background: Some(rgba(0xcaedf2ff).into()), title_bar_background: Some(rgba(0xe7f2f3ff).into()), - toolbar_background: Some(rgba(0xe1eeefff).into()), + toolbar_background: Some(rgba(0xf4f6f6ff).into()), tab_bar_background: Some(rgba(0xcaedf2ff).into()), tab_inactive_background: Some(rgba(0xcaedf2ff).into()), tab_active_background: Some(rgba(0xf4f6f6ff).into()), @@ -846,7 +846,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0x0c006bff).into()), status_bar_background: Some(rgba(0xe2dff6ff).into()), title_bar_background: Some(rgba(0xedecf8ff).into()), - toolbar_background: Some(rgba(0xe9e7f3ff).into()), + toolbar_background: Some(rgba(0xf2f1f8ff).into()), tab_bar_background: Some(rgba(0xe2dff6ff).into()), tab_inactive_background: Some(rgba(0xe2dff6ff).into()), tab_active_background: Some(rgba(0xf2f1f8ff).into()), @@ -1116,7 +1116,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0x005661ff).into()), status_bar_background: Some(rgba(0xf0e9d6ff).into()), title_bar_background: Some(rgba(0xf9f1e1ff).into()), - toolbar_background: Some(rgba(0xf6eddaff).into()), + toolbar_background: Some(rgba(0xfef8ecff).into()), tab_bar_background: Some(rgba(0xf0e9d6ff).into()), tab_inactive_background: Some(rgba(0xf0e9d6ff).into()), tab_active_background: Some(rgba(0xfef8ecff).into()), @@ -1386,7 +1386,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xc5cdd3ff).into()), status_bar_background: Some(rgba(0x1b2932ff).into()), title_bar_background: Some(rgba(0x1b2932ff).into()), - toolbar_background: Some(rgba(0x0e1920ff).into()), + toolbar_background: Some(rgba(0x1b2932ff).into()), tab_bar_background: Some(rgba(0x24333dff).into()), tab_inactive_background: Some(rgba(0x202e37ff).into()), tab_active_background: Some(rgba(0x1b2932ff).into()), @@ -1656,7 +1656,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x041d20ff).into()), title_bar_background: Some(rgba(0x041d20ff).into()), - toolbar_background: Some(rgba(0x03191bff).into()), + toolbar_background: Some(rgba(0x052529ff).into()), tab_bar_background: Some(rgba(0x062e32ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x052529ff).into()), @@ -1926,7 +1926,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), - toolbar_background: Some(rgba(0x020c0eff).into()), + toolbar_background: Some(rgba(0x031417ff).into()), tab_bar_background: Some(rgba(0x062e32ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), @@ -2196,7 +2196,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), - toolbar_background: Some(rgba(0x020c0eff).into()), + toolbar_background: Some(rgba(0x031417ff).into()), tab_bar_background: Some(rgba(0x062e32ff).into()), tab_inactive_background: Some(rgba(0x062e32ff).into()), tab_active_background: Some(rgba(0x031417ff).into()), @@ -2466,7 +2466,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xc5c2d6ff).into()), status_bar_background: Some(rgba(0x292640ff).into()), title_bar_background: Some(rgba(0x292640ff).into()), - toolbar_background: Some(rgba(0x1f1d30ff).into()), + toolbar_background: Some(rgba(0x292640ff).into()), tab_bar_background: Some(rgba(0x2f2c49ff).into()), tab_inactive_background: Some(rgba(0x2f2c49ff).into()), tab_active_background: Some(rgba(0x292640ff).into()), @@ -2736,7 +2736,7 @@ pub fn noctis() -> UserThemeFamily { text: Some(rgba(0xccbfd9ff).into()), status_bar_background: Some(rgba(0x30243dff).into()), title_bar_background: Some(rgba(0x30243dff).into()), - toolbar_background: Some(rgba(0x291d35ff).into()), + toolbar_background: Some(rgba(0x30243dff).into()), tab_bar_background: Some(rgba(0x3d2e4dff).into()), tab_inactive_background: Some(rgba(0x3d2e4dff).into()), tab_active_background: Some(rgba(0x30243dff).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 710a0c7c83..3036a0ffdb 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -594,7 +594,7 @@ pub fn palenight() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x25293aff).into()), title_bar_background: Some(rgba(0x25293aff).into()), - toolbar_background: Some(rgba(0x25293aff).into()), + toolbar_background: Some(rgba(0x292d3eff).into()), tab_bar_background: Some(rgba(0x31364aff).into()), tab_inactive_background: Some(rgba(0x31364aff).into()), tab_active_background: Some(rgba(0x25293aff).into()), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 0f3592cb0f..d115eca6d3 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -36,7 +36,7 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0xe0def4ff).into()), status_bar_background: Some(rgba(0x191724ff).into()), title_bar_background: Some(rgba(0x191724ff).into()), - toolbar_background: Some(rgba(0x1f1d2eff).into()), + toolbar_background: Some(rgba(0x191724ff).into()), tab_bar_background: Some(rgba(0x00000000).into()), tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x6e6a861a).into()), @@ -287,7 +287,7 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0xe0def4ff).into()), status_bar_background: Some(rgba(0x232136ff).into()), title_bar_background: Some(rgba(0x232136ff).into()), - toolbar_background: Some(rgba(0x2a273fff).into()), + toolbar_background: Some(rgba(0x232136ff).into()), tab_bar_background: Some(rgba(0x00000000).into()), tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x817c9c14).into()), @@ -538,7 +538,7 @@ pub fn rose_pine() -> UserThemeFamily { text: Some(rgba(0x575279ff).into()), status_bar_background: Some(rgba(0xfaf4edff).into()), title_bar_background: Some(rgba(0xfaf4edff).into()), - toolbar_background: Some(rgba(0xfffaf3ff).into()), + toolbar_background: Some(rgba(0xfaf4edff).into()), tab_bar_background: Some(rgba(0x00000000).into()), tab_inactive_background: Some(rgba(0x00000000).into()), tab_active_background: Some(rgba(0x6e6a860d).into()), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 71a1ed0204..9a7e6c145f 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -34,6 +34,7 @@ pub fn solarized() -> UserThemeFamily { text: Some(rgba(0xbbbbbbff).into()), status_bar_background: Some(rgba(0x00212bff).into()), title_bar_background: Some(rgba(0x002c39ff).into()), + toolbar_background: Some(rgba(0x002b36ff).into()), tab_bar_background: Some(rgba(0x004052ff).into()), tab_inactive_background: Some(rgba(0x004052ff).into()), tab_active_background: Some(rgba(0x002b37ff).into()), @@ -295,6 +296,7 @@ pub fn solarized() -> UserThemeFamily { text: Some(rgba(0x333333ff).into()), status_bar_background: Some(rgba(0xeee8d5ff).into()), title_bar_background: Some(rgba(0xeee8d5ff).into()), + toolbar_background: Some(rgba(0xfdf6e3ff).into()), tab_bar_background: Some(rgba(0xd9d2c2ff).into()), tab_inactive_background: Some(rgba(0xd3cbb7ff).into()), tab_active_background: Some(rgba(0xfdf6e3ff).into()), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 4849fb9f37..5d6214e231 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -28,6 +28,7 @@ pub fn synthwave_84() -> UserThemeFamily { text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x241b2fff).into()), title_bar_background: Some(rgba(0x241b2fff).into()), + toolbar_background: Some(rgba(0x262335ff).into()), tab_bar_background: Some(rgba(0x241b2fff).into()), tab_inactive_background: Some(rgba(0x262335ff).into()), editor_background: Some(rgba(0x262335ff).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 596aa09b93..6c5ef51fe6 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -122,6 +122,11 @@ impl VsCodeThemeConverter { fn convert_theme_colors(&self) -> Result { let vscode_colors = &self.theme.colors; + let vscode_editor_background = vscode_colors + .editor_background + .as_ref() + .traverse(|color| try_parse_color(&color))?; + Ok(ThemeColorsRefinement { border: vscode_colors .panel_border @@ -155,10 +160,7 @@ impl VsCodeThemeConverter { .panel_background .as_ref() .traverse(|color| try_parse_color(&color))?, - background: vscode_colors - .editor_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, + background: vscode_editor_background, title_bar_background: vscode_colors .title_bar_active_background .as_ref() @@ -214,17 +216,12 @@ impl VsCodeThemeConverter { .as_ref() .traverse(|color| try_parse_color(&color))?, toolbar_background: vscode_colors - .panel_background + .breadcrumb_background .as_ref() - .traverse(|color| try_parse_color(&color))?, - editor_background: vscode_colors - .editor_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, - editor_gutter_background: vscode_colors - .editor_background - .as_ref() - .traverse(|color| try_parse_color(&color))?, + .traverse(|color| try_parse_color(&color))? + .or(vscode_editor_background), + editor_background: vscode_editor_background, + editor_gutter_background: vscode_editor_background, editor_line_number: vscode_colors .editor_line_number_foreground .as_ref() From 77c8108f9beaa3be7a2e6b048688f65e06e1c0e9 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 14:13:50 -0500 Subject: [PATCH 069/110] Use `dropdown.background` from VS Code for elevated surface background --- crates/theme2/src/themes/andromeda.rs | 4 ++-- crates/theme2/src/themes/ayu.rs | 6 ++--- crates/theme2/src/themes/dracula.rs | 2 +- crates/theme2/src/themes/gruvbox.rs | 6 +++++ crates/theme2/src/themes/noctis.rs | 22 +++++++++---------- crates/theme2/src/themes/nord.rs | 2 +- crates/theme2/src/themes/palenight.rs | 2 +- crates/theme2/src/themes/solarized.rs | 2 ++ crates/theme2/src/themes/synthwave_84.rs | 1 + crates/theme_importer/src/vscode/converter.rs | 2 +- 10 files changed, 29 insertions(+), 20 deletions(-) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 9e61fbe2e0..8ff4b6887f 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -25,7 +25,7 @@ pub fn andromeda() -> UserThemeFamily { border_selected: Some(rgba(0x1b1d23ff).into()), border_transparent: Some(rgba(0x1b1d23ff).into()), border_disabled: Some(rgba(0x1b1d23ff).into()), - elevated_surface_background: Some(rgba(0x23262eff).into()), + elevated_surface_background: Some(rgba(0x2b303bff).into()), surface_background: Some(rgba(0x23262eff).into()), background: Some(rgba(0x23262eff).into()), element_background: Some(rgba(0x00e8c5cc).into()), @@ -230,7 +230,7 @@ pub fn andromeda() -> UserThemeFamily { border_selected: Some(rgba(0x1b1d23ff).into()), border_transparent: Some(rgba(0x1b1d23ff).into()), border_disabled: Some(rgba(0x1b1d23ff).into()), - elevated_surface_background: Some(rgba(0x23262eff).into()), + elevated_surface_background: Some(rgba(0x2b303bff).into()), surface_background: Some(rgba(0x23262eff).into()), background: Some(rgba(0x262a33ff).into()), element_background: Some(rgba(0x00e8c5cc).into()), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index c9bb3dd514..92bdb32f6f 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -25,7 +25,7 @@ pub fn ayu() -> UserThemeFamily { border_selected: Some(rgba(0x6b7d8f1f).into()), border_transparent: Some(rgba(0x6b7d8f1f).into()), border_disabled: Some(rgba(0x6b7d8f1f).into()), - elevated_surface_background: Some(rgba(0xf8f9faff).into()), + elevated_surface_background: Some(rgba(0xfcfcfcff).into()), surface_background: Some(rgba(0xf8f9faff).into()), background: Some(rgba(0xf8f9faff).into()), element_background: Some(rgba(0xffaa33ff).into()), @@ -324,7 +324,7 @@ pub fn ayu() -> UserThemeFamily { border_selected: Some(rgba(0x171b24ff).into()), border_transparent: Some(rgba(0x171b24ff).into()), border_disabled: Some(rgba(0x171b24ff).into()), - elevated_surface_background: Some(rgba(0x1f2430ff).into()), + elevated_surface_background: Some(rgba(0x242936ff).into()), surface_background: Some(rgba(0x1f2430ff).into()), background: Some(rgba(0x1f2430ff).into()), element_background: Some(rgba(0xffcc66ff).into()), @@ -623,7 +623,7 @@ pub fn ayu() -> UserThemeFamily { border_selected: Some(rgba(0x1e232bff).into()), border_transparent: Some(rgba(0x1e232bff).into()), border_disabled: Some(rgba(0x1e232bff).into()), - elevated_surface_background: Some(rgba(0x0b0e14ff).into()), + elevated_surface_background: Some(rgba(0x0d1017ff).into()), surface_background: Some(rgba(0x0b0e14ff).into()), background: Some(rgba(0x0b0e14ff).into()), element_background: Some(rgba(0xe6b450ff).into()), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index 391ef11803..d4c395831c 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -24,7 +24,7 @@ pub fn dracula() -> UserThemeFamily { border_selected: Some(rgba(0xbd93f9ff).into()), border_transparent: Some(rgba(0xbd93f9ff).into()), border_disabled: Some(rgba(0xbd93f9ff).into()), - elevated_surface_background: Some(rgba(0x282a36ff).into()), + elevated_surface_background: Some(rgba(0x343746ff).into()), surface_background: Some(rgba(0x282a36ff).into()), background: Some(rgba(0x282a36ff).into()), element_background: Some(rgba(0x44475aff).into()), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 161450dbc0..106c18868b 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -25,6 +25,7 @@ pub fn gruvbox() -> UserThemeFamily { border_selected: Some(rgba(0x3c3836ff).into()), border_transparent: Some(rgba(0x3c3836ff).into()), border_disabled: Some(rgba(0x3c3836ff).into()), + elevated_surface_background: Some(rgba(0x1d2021ff).into()), background: Some(rgba(0x1d2021ff).into()), element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0x3c383680).into()), @@ -309,6 +310,7 @@ pub fn gruvbox() -> UserThemeFamily { border_selected: Some(rgba(0x3c3836ff).into()), border_transparent: Some(rgba(0x3c3836ff).into()), border_disabled: Some(rgba(0x3c3836ff).into()), + elevated_surface_background: Some(rgba(0x282828ff).into()), background: Some(rgba(0x282828ff).into()), element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0x3c383680).into()), @@ -593,6 +595,7 @@ pub fn gruvbox() -> UserThemeFamily { border_selected: Some(rgba(0x3c3836ff).into()), border_transparent: Some(rgba(0x3c3836ff).into()), border_disabled: Some(rgba(0x3c3836ff).into()), + elevated_surface_background: Some(rgba(0x32302fff).into()), background: Some(rgba(0x32302fff).into()), element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0x3c383680).into()), @@ -877,6 +880,7 @@ pub fn gruvbox() -> UserThemeFamily { border_selected: Some(rgba(0xebdbb2ff).into()), border_transparent: Some(rgba(0xebdbb2ff).into()), border_disabled: Some(rgba(0xebdbb2ff).into()), + elevated_surface_background: Some(rgba(0xf9f5d7ff).into()), background: Some(rgba(0xf9f5d7ff).into()), element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0xebdbb280).into()), @@ -1161,6 +1165,7 @@ pub fn gruvbox() -> UserThemeFamily { border_selected: Some(rgba(0xebdbb2ff).into()), border_transparent: Some(rgba(0xebdbb2ff).into()), border_disabled: Some(rgba(0xebdbb2ff).into()), + elevated_surface_background: Some(rgba(0xfbf1c7ff).into()), background: Some(rgba(0xfbf1c7ff).into()), element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0xebdbb280).into()), @@ -1445,6 +1450,7 @@ pub fn gruvbox() -> UserThemeFamily { border_selected: Some(rgba(0xebdbb2ff).into()), border_transparent: Some(rgba(0xebdbb2ff).into()), border_disabled: Some(rgba(0xebdbb2ff).into()), + elevated_surface_background: Some(rgba(0xf2e5bcff).into()), background: Some(rgba(0xf2e5bcff).into()), element_background: Some(rgba(0x45858880).into()), element_hover: Some(rgba(0xebdbb280).into()), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 3a0e96755e..3a9203c804 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -25,7 +25,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x1679b6ff).into()), border_transparent: Some(rgba(0x1679b6ff).into()), border_disabled: Some(rgba(0x1679b6ff).into()), - elevated_surface_background: Some(rgba(0x051b29ff).into()), + elevated_surface_background: Some(rgba(0x09334eff).into()), surface_background: Some(rgba(0x051b29ff).into()), background: Some(rgba(0x07273bff).into()), element_background: Some(rgba(0x007f99ff).into()), @@ -295,7 +295,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x997582ff).into()), border_transparent: Some(rgba(0x997582ff).into()), border_disabled: Some(rgba(0x997582ff).into()), - elevated_surface_background: Some(rgba(0x272022ff).into()), + elevated_surface_background: Some(rgba(0x413036ff).into()), surface_background: Some(rgba(0x272022ff).into()), background: Some(rgba(0x322a2dff).into()), element_background: Some(rgba(0x007f99ff).into()), @@ -565,7 +565,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x00c6e0ff).into()), border_transparent: Some(rgba(0x00c6e0ff).into()), border_disabled: Some(rgba(0x00c6e0ff).into()), - elevated_surface_background: Some(rgba(0xe1eeefff).into()), + elevated_surface_background: Some(rgba(0xf4f6f6ff).into()), surface_background: Some(rgba(0xe1eeefff).into()), background: Some(rgba(0xf4f6f6ff).into()), element_background: Some(rgba(0x099099ff).into()), @@ -835,7 +835,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0xaea4f4ff).into()), border_transparent: Some(rgba(0xaea4f4ff).into()), border_disabled: Some(rgba(0xaea4f4ff).into()), - elevated_surface_background: Some(rgba(0xe9e7f3ff).into()), + elevated_surface_background: Some(rgba(0xf2f1f8ff).into()), surface_background: Some(rgba(0xe9e7f3ff).into()), background: Some(rgba(0xf2f1f8ff).into()), element_background: Some(rgba(0x8e80ffff).into()), @@ -1105,7 +1105,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x00c6e0ff).into()), border_transparent: Some(rgba(0x00c6e0ff).into()), border_disabled: Some(rgba(0x00c6e0ff).into()), - elevated_surface_background: Some(rgba(0xf6eddaff).into()), + elevated_surface_background: Some(rgba(0xfef8ecff).into()), surface_background: Some(rgba(0xf6eddaff).into()), background: Some(rgba(0xfef8ecff).into()), element_background: Some(rgba(0x099099ff).into()), @@ -1375,7 +1375,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x496d83ff).into()), border_transparent: Some(rgba(0x496d83ff).into()), border_disabled: Some(rgba(0x496d83ff).into()), - elevated_surface_background: Some(rgba(0x0e1920ff).into()), + elevated_surface_background: Some(rgba(0x202e37ff).into()), surface_background: Some(rgba(0x0e1920ff).into()), background: Some(rgba(0x1b2932ff).into()), element_background: Some(rgba(0x2e616bff).into()), @@ -1645,7 +1645,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x0e6671ff).into()), border_transparent: Some(rgba(0x0e6671ff).into()), border_disabled: Some(rgba(0x0e6671ff).into()), - elevated_surface_background: Some(rgba(0x03191bff).into()), + elevated_surface_background: Some(rgba(0x073940ff).into()), surface_background: Some(rgba(0x03191bff).into()), background: Some(rgba(0x052529ff).into()), element_background: Some(rgba(0x099099ff).into()), @@ -1915,7 +1915,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x0e6671ff).into()), border_transparent: Some(rgba(0x0e6671ff).into()), border_disabled: Some(rgba(0x0e6671ff).into()), - elevated_surface_background: Some(rgba(0x020c0eff).into()), + elevated_surface_background: Some(rgba(0x031417ff).into()), surface_background: Some(rgba(0x020c0eff).into()), background: Some(rgba(0x031417ff).into()), element_background: Some(rgba(0x099099ff).into()), @@ -2185,7 +2185,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x0e6671ff).into()), border_transparent: Some(rgba(0x0e6671ff).into()), border_disabled: Some(rgba(0x0e6671ff).into()), - elevated_surface_background: Some(rgba(0x020c0eff).into()), + elevated_surface_background: Some(rgba(0x031417ff).into()), surface_background: Some(rgba(0x020c0eff).into()), background: Some(rgba(0x031417ff).into()), element_background: Some(rgba(0x099099ff).into()), @@ -2455,7 +2455,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x6e67a8ff).into()), border_transparent: Some(rgba(0x6e67a8ff).into()), border_disabled: Some(rgba(0x6e67a8ff).into()), - elevated_surface_background: Some(rgba(0x1f1d30ff).into()), + elevated_surface_background: Some(rgba(0x2f2c49ff).into()), surface_background: Some(rgba(0x1f1d30ff).into()), background: Some(rgba(0x292640ff).into()), element_background: Some(rgba(0x007f99ff).into()), @@ -2725,7 +2725,7 @@ pub fn noctis() -> UserThemeFamily { border_selected: Some(rgba(0x8767a8ff).into()), border_transparent: Some(rgba(0x8767a8ff).into()), border_disabled: Some(rgba(0x8767a8ff).into()), - elevated_surface_background: Some(rgba(0x291d35ff).into()), + elevated_surface_background: Some(rgba(0x3d2e4dff).into()), surface_background: Some(rgba(0x291d35ff).into()), background: Some(rgba(0x30243dff).into()), element_background: Some(rgba(0x007f99ff).into()), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index b4a723d35c..e8d2bdc8b7 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -24,7 +24,7 @@ pub fn nord() -> UserThemeFamily { border_selected: Some(rgba(0x3b4252ff).into()), border_transparent: Some(rgba(0x3b4252ff).into()), border_disabled: Some(rgba(0x3b4252ff).into()), - elevated_surface_background: Some(rgba(0x2e3440ff).into()), + elevated_surface_background: Some(rgba(0x3b4252ff).into()), surface_background: Some(rgba(0x2e3440ff).into()), background: Some(rgba(0x2e3440ff).into()), element_background: Some(rgba(0x88c0d0ee).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 3036a0ffdb..82f8418e0d 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -583,7 +583,7 @@ pub fn palenight() -> UserThemeFamily { border_selected: Some(rgba(0x2c2f40ff).into()), border_transparent: Some(rgba(0x2c2f40ff).into()), border_disabled: Some(rgba(0x2c2f40ff).into()), - elevated_surface_background: Some(rgba(0x25293aff).into()), + elevated_surface_background: Some(rgba(0x292d3eff).into()), surface_background: Some(rgba(0x25293aff).into()), background: Some(rgba(0x292d3eff).into()), element_background: Some(rgba(0x7e57c2cc).into()), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 9a7e6c145f..bc4752f7a6 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -25,6 +25,7 @@ pub fn solarized() -> UserThemeFamily { border_selected: Some(rgba(0x003847ff).into()), border_transparent: Some(rgba(0x003847ff).into()), border_disabled: Some(rgba(0x003847ff).into()), + elevated_surface_background: Some(rgba(0x00212bff).into()), background: Some(rgba(0x002b36ff).into()), element_background: Some(rgba(0x2aa19899).into()), element_hover: Some(rgba(0x004454aa).into()), @@ -288,6 +289,7 @@ pub fn solarized() -> UserThemeFamily { border_selected: Some(rgba(0xddd6c1ff).into()), border_transparent: Some(rgba(0xddd6c1ff).into()), border_disabled: Some(rgba(0xddd6c1ff).into()), + elevated_surface_background: Some(rgba(0xeee8d5ff).into()), background: Some(rgba(0xfdf6e3ff).into()), element_background: Some(rgba(0xac9d57ff).into()), element_hover: Some(rgba(0xdfca8844).into()), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 5d6214e231..51855bdbef 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -19,6 +19,7 @@ pub fn synthwave_84() -> UserThemeFamily { styles: UserThemeStylesRefinement { colors: ThemeColorsRefinement { border_focused: Some(rgba(0x1f212bff).into()), + elevated_surface_background: Some(rgba(0x232530ff).into()), background: Some(rgba(0x262335ff).into()), element_background: Some(rgba(0x614d85ff).into()), element_hover: Some(rgba(0x37294d99).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 6c5ef51fe6..1980327e01 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -153,7 +153,7 @@ impl VsCodeThemeConverter { .as_ref() .traverse(|color| try_parse_color(&color))?, elevated_surface_background: vscode_colors - .panel_background + .dropdown_background .as_ref() .traverse(|color| try_parse_color(&color))?, surface_background: vscode_colors From 27501d2929777db5b33e752c4e14ab2465a2ac78 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 14:19:56 -0500 Subject: [PATCH 070/110] Pull in colors for selected ghost elements --- crates/theme2/src/themes/andromeda.rs | 2 ++ crates/theme2/src/themes/ayu.rs | 3 +++ crates/theme2/src/themes/dracula.rs | 1 + crates/theme2/src/themes/gruvbox.rs | 6 ++++++ crates/theme2/src/themes/night_owl.rs | 2 ++ crates/theme2/src/themes/noctis.rs | 11 +++++++++++ crates/theme2/src/themes/nord.rs | 1 + crates/theme2/src/themes/palenight.rs | 3 +++ crates/theme2/src/themes/rose_pine.rs | 3 +++ crates/theme2/src/themes/solarized.rs | 2 ++ crates/theme2/src/themes/synthwave_84.rs | 1 + crates/theme_importer/src/vscode/converter.rs | 4 ++++ 12 files changed, 39 insertions(+) diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 8ff4b6887f..031dd51025 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -33,6 +33,7 @@ pub fn andromeda() -> UserThemeFamily { element_selected: Some(rgba(0x23262eff).into()), drop_target_background: Some(rgba(0x3a404eff).into()), ghost_element_hover: Some(rgba(0x23262eff).into()), + ghost_element_selected: Some(rgba(0x23262eff).into()), text: Some(rgba(0xd5ced9ff).into()), status_bar_background: Some(rgba(0x23262eff).into()), title_bar_background: Some(rgba(0x23262eff).into()), @@ -238,6 +239,7 @@ pub fn andromeda() -> UserThemeFamily { element_selected: Some(rgba(0x23262eff).into()), drop_target_background: Some(rgba(0x3a404eff).into()), ghost_element_hover: Some(rgba(0x23262eff).into()), + ghost_element_selected: Some(rgba(0x23262eff).into()), text: Some(rgba(0xd5ced9ff).into()), status_bar_background: Some(rgba(0x23262eff).into()), title_bar_background: Some(rgba(0x23262eff).into()), diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 92bdb32f6f..1d6bb1634c 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -32,6 +32,7 @@ pub fn ayu() -> UserThemeFamily { element_hover: Some(rgba(0x56728f1f).into()), element_selected: Some(rgba(0x56728f1f).into()), ghost_element_hover: Some(rgba(0x56728f1f).into()), + ghost_element_selected: Some(rgba(0x56728f1f).into()), text: Some(rgba(0x8a9199ff).into()), status_bar_background: Some(rgba(0xf8f9faff).into()), title_bar_background: Some(rgba(0xf8f9faff).into()), @@ -331,6 +332,7 @@ pub fn ayu() -> UserThemeFamily { element_hover: Some(rgba(0x63759926).into()), element_selected: Some(rgba(0x63759926).into()), ghost_element_hover: Some(rgba(0x63759926).into()), + ghost_element_selected: Some(rgba(0x63759926).into()), text: Some(rgba(0x707a8cff).into()), status_bar_background: Some(rgba(0x1f2430ff).into()), title_bar_background: Some(rgba(0x1f2430ff).into()), @@ -630,6 +632,7 @@ pub fn ayu() -> UserThemeFamily { element_hover: Some(rgba(0x47526640).into()), element_selected: Some(rgba(0x47526640).into()), ghost_element_hover: Some(rgba(0x47526640).into()), + ghost_element_selected: Some(rgba(0x47526640).into()), text: Some(rgba(0x565b66ff).into()), status_bar_background: Some(rgba(0x0b0e14ff).into()), title_bar_background: Some(rgba(0x0b0e14ff).into()), diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index d4c395831c..795d7d5083 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -32,6 +32,7 @@ pub fn dracula() -> UserThemeFamily { element_selected: Some(rgba(0x44475aff).into()), drop_target_background: Some(rgba(0x44475aff).into()), ghost_element_hover: Some(rgba(0x44475a75).into()), + ghost_element_selected: Some(rgba(0x44475aff).into()), text: Some(rgba(0xf8f8f2ff).into()), status_bar_background: Some(rgba(0x191a21ff).into()), title_bar_background: Some(rgba(0x21222cff).into()), diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index 106c18868b..6d0851bbee 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -32,6 +32,7 @@ pub fn gruvbox() -> UserThemeFamily { element_selected: Some(rgba(0x3c383680).into()), drop_target_background: Some(rgba(0x3c3836ff).into()), ghost_element_hover: Some(rgba(0x3c383680).into()), + ghost_element_selected: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x1d2021ff).into()), title_bar_background: Some(rgba(0x1d2021ff).into()), @@ -317,6 +318,7 @@ pub fn gruvbox() -> UserThemeFamily { element_selected: Some(rgba(0x3c383680).into()), drop_target_background: Some(rgba(0x3c3836ff).into()), ghost_element_hover: Some(rgba(0x3c383680).into()), + ghost_element_selected: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x282828ff).into()), title_bar_background: Some(rgba(0x282828ff).into()), @@ -602,6 +604,7 @@ pub fn gruvbox() -> UserThemeFamily { element_selected: Some(rgba(0x3c383680).into()), drop_target_background: Some(rgba(0x3c3836ff).into()), ghost_element_hover: Some(rgba(0x3c383680).into()), + ghost_element_selected: Some(rgba(0x3c383680).into()), text: Some(rgba(0xebdbb2ff).into()), status_bar_background: Some(rgba(0x32302fff).into()), title_bar_background: Some(rgba(0x32302fff).into()), @@ -887,6 +890,7 @@ pub fn gruvbox() -> UserThemeFamily { element_selected: Some(rgba(0xebdbb280).into()), drop_target_background: Some(rgba(0xebdbb2ff).into()), ghost_element_hover: Some(rgba(0xebdbb280).into()), + ghost_element_selected: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xf9f5d7ff).into()), title_bar_background: Some(rgba(0xf9f5d7ff).into()), @@ -1172,6 +1176,7 @@ pub fn gruvbox() -> UserThemeFamily { element_selected: Some(rgba(0xebdbb280).into()), drop_target_background: Some(rgba(0xebdbb2ff).into()), ghost_element_hover: Some(rgba(0xebdbb280).into()), + ghost_element_selected: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xfbf1c7ff).into()), title_bar_background: Some(rgba(0xfbf1c7ff).into()), @@ -1457,6 +1462,7 @@ pub fn gruvbox() -> UserThemeFamily { element_selected: Some(rgba(0xebdbb280).into()), drop_target_background: Some(rgba(0xebdbb2ff).into()), ghost_element_hover: Some(rgba(0xebdbb280).into()), + ghost_element_selected: Some(rgba(0xebdbb280).into()), text: Some(rgba(0x3c3836ff).into()), status_bar_background: Some(rgba(0xf2e5bcff).into()), title_bar_background: Some(rgba(0xf2e5bcff).into()), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 8e4743e371..cb4278526d 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -33,6 +33,7 @@ pub fn night_owl() -> UserThemeFamily { element_selected: Some(rgba(0x234d708c).into()), drop_target_background: Some(rgba(0x011627ff).into()), ghost_element_hover: Some(rgba(0x011627ff).into()), + ghost_element_selected: Some(rgba(0x234d708c).into()), text: Some(rgba(0xd6deebff).into()), status_bar_background: Some(rgba(0x011627ff).into()), title_bar_background: Some(rgba(0x011627ff).into()), @@ -283,6 +284,7 @@ pub fn night_owl() -> UserThemeFamily { element_hover: Some(rgba(0xd3e8f8ff).into()), element_selected: Some(rgba(0xd3e8f8ff).into()), ghost_element_hover: Some(rgba(0xd3e8f8ff).into()), + ghost_element_selected: Some(rgba(0xd3e8f8ff).into()), text: Some(rgba(0x403f53ff).into()), status_bar_background: Some(rgba(0xf0f0f0ff).into()), title_bar_background: Some(rgba(0xf0f0f0ff).into()), diff --git a/crates/theme2/src/themes/noctis.rs b/crates/theme2/src/themes/noctis.rs index 3a9203c804..e1497f57ab 100644 --- a/crates/theme2/src/themes/noctis.rs +++ b/crates/theme2/src/themes/noctis.rs @@ -33,6 +33,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x0c3f5fff).into()), drop_target_background: Some(rgba(0x002a4dff).into()), ghost_element_hover: Some(rgba(0x00558a65).into()), + ghost_element_selected: Some(rgba(0x0c3f5fff).into()), text: Some(rgba(0xbecfdaff).into()), status_bar_background: Some(rgba(0x07273bff).into()), title_bar_background: Some(rgba(0x07273bff).into()), @@ -303,6 +304,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x5c2e3e99).into()), drop_target_background: Some(rgba(0x38292eff).into()), ghost_element_hover: Some(rgba(0x533641ff).into()), + ghost_element_selected: Some(rgba(0x5c2e3e99).into()), text: Some(rgba(0xcbbec2ff).into()), status_bar_background: Some(rgba(0x322a2dff).into()), title_bar_background: Some(rgba(0x322a2dff).into()), @@ -573,6 +575,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0xb6e1e7ff).into()), drop_target_background: Some(rgba(0xb2cacdff).into()), ghost_element_hover: Some(rgba(0xd1eafaff).into()), + ghost_element_selected: Some(rgba(0xb6e1e7ff).into()), text: Some(rgba(0x005661ff).into()), status_bar_background: Some(rgba(0xcaedf2ff).into()), title_bar_background: Some(rgba(0xe7f2f3ff).into()), @@ -843,6 +846,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0xbcb6e7ff).into()), drop_target_background: Some(rgba(0xafaad4aa).into()), ghost_element_hover: Some(rgba(0xd2ccffff).into()), + ghost_element_selected: Some(rgba(0xbcb6e7ff).into()), text: Some(rgba(0x0c006bff).into()), status_bar_background: Some(rgba(0xe2dff6ff).into()), title_bar_background: Some(rgba(0xedecf8ff).into()), @@ -1113,6 +1117,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0xb6e1e7ff).into()), drop_target_background: Some(rgba(0xcdcbb2ff).into()), ghost_element_hover: Some(rgba(0xd2f3f9ff).into()), + ghost_element_selected: Some(rgba(0xb6e1e7ff).into()), text: Some(rgba(0x005661ff).into()), status_bar_background: Some(rgba(0xf0e9d6ff).into()), title_bar_background: Some(rgba(0xf9f1e1ff).into()), @@ -1383,6 +1388,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x2c414eff).into()), drop_target_background: Some(rgba(0x152837ff).into()), ghost_element_hover: Some(rgba(0x00558aff).into()), + ghost_element_selected: Some(rgba(0x2c414eff).into()), text: Some(rgba(0xc5cdd3ff).into()), status_bar_background: Some(rgba(0x1b2932ff).into()), title_bar_background: Some(rgba(0x1b2932ff).into()), @@ -1653,6 +1659,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x0e6671ff).into()), drop_target_background: Some(rgba(0x00404dff).into()), ghost_element_hover: Some(rgba(0x0b515bff).into()), + ghost_element_selected: Some(rgba(0x0e6671ff).into()), text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x041d20ff).into()), title_bar_background: Some(rgba(0x041d20ff).into()), @@ -1923,6 +1930,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x0e6671ff).into()), drop_target_background: Some(rgba(0x00404dff).into()), ghost_element_hover: Some(rgba(0x0b515bff).into()), + ghost_element_selected: Some(rgba(0x0e6671ff).into()), text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), @@ -2193,6 +2201,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x0e6671ff).into()), drop_target_background: Some(rgba(0x00404dff).into()), ghost_element_hover: Some(rgba(0x0b515bff).into()), + ghost_element_selected: Some(rgba(0x0e6671ff).into()), text: Some(rgba(0xb2cacdff).into()), status_bar_background: Some(rgba(0x031417ff).into()), title_bar_background: Some(rgba(0x031417ff).into()), @@ -2463,6 +2472,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x332e5cff).into()), drop_target_background: Some(rgba(0x202040ff).into()), ghost_element_hover: Some(rgba(0x383866ff).into()), + ghost_element_selected: Some(rgba(0x332e5cff).into()), text: Some(rgba(0xc5c2d6ff).into()), status_bar_background: Some(rgba(0x292640ff).into()), title_bar_background: Some(rgba(0x292640ff).into()), @@ -2733,6 +2743,7 @@ pub fn noctis() -> UserThemeFamily { element_selected: Some(rgba(0x472e60ff).into()), drop_target_background: Some(rgba(0x302040ff).into()), ghost_element_hover: Some(rgba(0x6a448dff).into()), + ghost_element_selected: Some(rgba(0x472e60ff).into()), text: Some(rgba(0xccbfd9ff).into()), status_bar_background: Some(rgba(0x30243dff).into()), title_bar_background: Some(rgba(0x30243dff).into()), diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index e8d2bdc8b7..c5634bebcf 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -32,6 +32,7 @@ pub fn nord() -> UserThemeFamily { element_selected: Some(rgba(0x88c0d0ff).into()), drop_target_background: Some(rgba(0x88c0d099).into()), ghost_element_hover: Some(rgba(0x3b4252ff).into()), + ghost_element_selected: Some(rgba(0x88c0d0ff).into()), text: Some(rgba(0xd8dee9ff).into()), status_bar_background: Some(rgba(0x3b4252ff).into()), title_bar_background: Some(rgba(0x2e3440ff).into()), diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 82f8418e0d..1cebdc83e2 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -33,6 +33,7 @@ pub fn palenight() -> UserThemeFamily { element_selected: Some(rgba(0x7e57c2ff).into()), drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), + ghost_element_selected: Some(rgba(0x7e57c2ff).into()), text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x282c3dff).into()), title_bar_background: Some(rgba(0x292d3eff).into()), @@ -312,6 +313,7 @@ pub fn palenight() -> UserThemeFamily { element_selected: Some(rgba(0x7e57c2ff).into()), drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), + ghost_element_selected: Some(rgba(0x7e57c2ff).into()), text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x282c3dff).into()), title_bar_background: Some(rgba(0x292d3eff).into()), @@ -591,6 +593,7 @@ pub fn palenight() -> UserThemeFamily { element_selected: Some(rgba(0x7e57c2ff).into()), drop_target_background: Some(rgba(0x2e3245ff).into()), ghost_element_hover: Some(rgba(0x0000001a).into()), + ghost_element_selected: Some(rgba(0x7e57c2ff).into()), text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x25293aff).into()), title_bar_background: Some(rgba(0x25293aff).into()), diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index d115eca6d3..91b79821c8 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -33,6 +33,7 @@ pub fn rose_pine() -> UserThemeFamily { element_selected: Some(rgba(0x6e6a8633).into()), drop_target_background: Some(rgba(0x1f1d2eff).into()), ghost_element_hover: Some(rgba(0x6e6a861a).into()), + ghost_element_selected: Some(rgba(0x6e6a8633).into()), text: Some(rgba(0xe0def4ff).into()), status_bar_background: Some(rgba(0x191724ff).into()), title_bar_background: Some(rgba(0x191724ff).into()), @@ -284,6 +285,7 @@ pub fn rose_pine() -> UserThemeFamily { element_selected: Some(rgba(0x817c9c26).into()), drop_target_background: Some(rgba(0x2a273fff).into()), ghost_element_hover: Some(rgba(0x817c9c14).into()), + ghost_element_selected: Some(rgba(0x817c9c26).into()), text: Some(rgba(0xe0def4ff).into()), status_bar_background: Some(rgba(0x232136ff).into()), title_bar_background: Some(rgba(0x232136ff).into()), @@ -535,6 +537,7 @@ pub fn rose_pine() -> UserThemeFamily { element_selected: Some(rgba(0x6e6a8614).into()), drop_target_background: Some(rgba(0xfffaf3ff).into()), ghost_element_hover: Some(rgba(0x6e6a860d).into()), + ghost_element_selected: Some(rgba(0x6e6a8614).into()), text: Some(rgba(0x575279ff).into()), status_bar_background: Some(rgba(0xfaf4edff).into()), title_bar_background: Some(rgba(0xfaf4edff).into()), diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index bc4752f7a6..ae2ad90051 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -32,6 +32,7 @@ pub fn solarized() -> UserThemeFamily { element_selected: Some(rgba(0x005a6fff).into()), drop_target_background: Some(rgba(0x00445488).into()), ghost_element_hover: Some(rgba(0x004454aa).into()), + ghost_element_selected: Some(rgba(0x005a6fff).into()), text: Some(rgba(0xbbbbbbff).into()), status_bar_background: Some(rgba(0x00212bff).into()), title_bar_background: Some(rgba(0x002c39ff).into()), @@ -295,6 +296,7 @@ pub fn solarized() -> UserThemeFamily { element_hover: Some(rgba(0xdfca8844).into()), element_selected: Some(rgba(0xdfca88ff).into()), ghost_element_hover: Some(rgba(0xdfca8844).into()), + ghost_element_selected: Some(rgba(0xdfca88ff).into()), text: Some(rgba(0x333333ff).into()), status_bar_background: Some(rgba(0xeee8d5ff).into()), title_bar_background: Some(rgba(0xeee8d5ff).into()), diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index 51855bdbef..48d1870147 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -26,6 +26,7 @@ pub fn synthwave_84() -> UserThemeFamily { element_selected: Some(rgba(0xffffff20).into()), drop_target_background: Some(rgba(0x34294f66).into()), ghost_element_hover: Some(rgba(0x37294d99).into()), + ghost_element_selected: Some(rgba(0xffffff20).into()), text: Some(rgba(0xffffffff).into()), status_bar_background: Some(rgba(0x241b2fff).into()), title_bar_background: Some(rgba(0x241b2fff).into()), diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index 1980327e01..8a7d27becb 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -185,6 +185,10 @@ impl VsCodeThemeConverter { .list_hover_background .as_ref() .traverse(|color| try_parse_color(&color))?, + ghost_element_selected: vscode_colors + .list_active_selection_background + .as_ref() + .traverse(|color| try_parse_color(&color))?, drop_target_background: vscode_colors .list_drop_background .as_ref() From f0cc54a0b528766d3f24e5e6a39d517ea3ec324d Mon Sep 17 00:00:00 2001 From: Julia Date: Fri, 8 Dec 2023 14:26:02 -0500 Subject: [PATCH 071/110] Comment the weirdness Co-Authored-By: Max Brunsfeld --- crates/terminal_view2/src/terminal_view.rs | 37 ++++++++++------------ 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/crates/terminal_view2/src/terminal_view.rs b/crates/terminal_view2/src/terminal_view.rs index d41e535d50..83c7779d2e 100644 --- a/crates/terminal_view2/src/terminal_view.rs +++ b/crates/terminal_view2/src/terminal_view.rs @@ -11,8 +11,8 @@ use editor::{scroll::autoscroll::Autoscroll, Editor}; use gpui::{ div, overlay, Action, AnyElement, AppContext, DismissEvent, Div, EventEmitter, FocusEvent, FocusHandle, Focusable, FocusableElement, FocusableView, KeyContext, KeyDownEvent, Keystroke, - Model, MouseButton, MouseDownEvent, Pixels, Render, Subscription, Task, View, VisualContext, - WeakView, + Model, MouseButton, MouseDownEvent, Pixels, Render, Styled, Subscription, Task, View, + VisualContext, WeakView, }; use language::Bias; use persistence::TERMINAL_DB; @@ -651,25 +651,22 @@ impl Render for TerminalView { .on_focus_in(cx.listener(Self::focus_in)) .on_focus_out(cx.listener(Self::focus_out)) .on_key_down(cx.listener(Self::key_down)) + .on_mouse_down( + MouseButton::Right, + cx.listener(|this, event: &MouseDownEvent, cx| { + this.deploy_context_menu(event.position, cx); + cx.notify(); + }), + ) .child( - div() - .z_index(0) - .absolute() - .size_full() - .child(TerminalElement::new( - terminal_handle, - self.focus_handle.clone(), - focused, - self.should_show_cursor(focused, cx), - self.can_navigate_to_selected_word, - )) - .on_mouse_down( - MouseButton::Right, - cx.listener(|this, event: &MouseDownEvent, cx| { - this.deploy_context_menu(event.position, cx); - cx.notify(); - }), - ), + // TODO: Oddly this wrapper div is needed for TerminalElement to not steal events from the context menu + div().size_full().child(TerminalElement::new( + terminal_handle, + self.focus_handle.clone(), + focused, + self.should_show_cursor(focused, cx), + self.can_navigate_to_selected_word, + )), ) .children(self.context_menu.as_ref().map(|(menu, positon, _)| { overlay() From 0dc02b8354c5a28531f92628efbe2f60d2372943 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Fri, 8 Dec 2023 21:38:28 +0200 Subject: [PATCH 072/110] Log Zed build sha in release builds. Also ensure that curl commands for nightly uploads return 200 (fail otherwise). --- crates/zed2/build.rs | 18 ++++++++++++++---- script/upload-nightly | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/crates/zed2/build.rs b/crates/zed2/build.rs index 619f248029..101838b8af 100644 --- a/crates/zed2/build.rs +++ b/crates/zed2/build.rs @@ -27,10 +27,20 @@ fn main() { // Populate git sha environment variable if git is available if let Ok(output) = Command::new("git").args(["rev-parse", "HEAD"]).output() { if output.status.success() { - println!( - "cargo:rustc-env=ZED_COMMIT_SHA={}", - String::from_utf8_lossy(&output.stdout).trim() - ); + let git_sha = String::from_utf8_lossy(&output.stdout); + let git_sha = git_sha.trim(); + + println!("cargo:rustc-env=ZED_COMMIT_SHA={git_sha}"); + + if let Ok(build_profile) = std::env::var("PROFILE") { + if build_profile == "release" { + // This is currently the best way to make `cargo build ...`'s build script + // to print something to stdout without extra verbosity. + println!( + "cargo:warning=Info: using '{git_sha}' hash for ZED_COMMIT_SHA env var" + ); + } + } } } } diff --git a/script/upload-nightly b/script/upload-nightly index 073976a335..f03b2f7fd8 100755 --- a/script/upload-nightly +++ b/script/upload-nightly @@ -20,7 +20,7 @@ function uploadToSpaces string="PUT\n\n${content_type}\n${date}\n${acl}\n${storage_type}\n/${SPACE}/${space_path}/${file_name}" signature=$(echo -en "${string}" | openssl sha1 -hmac "${DIGITALOCEAN_SPACES_SECRET_KEY}" -binary | base64) - curl -vv -s -X PUT -T "$file_to_upload" \ + curl --fail -vv -s -X PUT -T "$file_to_upload" \ -H "Host: ${SPACE}.${REGION}.digitaloceanspaces.com" \ -H "Date: $date" \ -H "Content-Type: $content_type" \ From 4353bdb9d5849bc28454a54e4169502dfe9dbe10 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 8 Dec 2023 15:08:35 -0500 Subject: [PATCH 073/110] Restore theme sorting in Zed2 (#3563) This PR restores the sorting of themes in the theme selector in Zed2. Release Notes: - N/A --- crates/theme2/src/registry.rs | 13 +++++++-- crates/theme2/src/theme2.rs | 9 ++++++ crates/theme_selector2/src/theme_selector.rs | 30 +++++++++++--------- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index cb7814cb6f..e212d5f9a7 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -10,6 +10,12 @@ use crate::{ SystemColors, Theme, ThemeColors, ThemeFamily, ThemeStyles, UserTheme, UserThemeFamily, }; +#[derive(Debug, Clone)] +pub struct ThemeMeta { + pub name: SharedString, + pub appearance: Appearance, +} + pub struct ThemeRegistry { themes: HashMap>, } @@ -94,8 +100,11 @@ impl ThemeRegistry { self.themes.keys().cloned() } - pub fn list(&self, _staff: bool) -> impl Iterator + '_ { - self.themes.values().map(|theme| theme.name.clone()) + pub fn list(&self, _staff: bool) -> impl Iterator + '_ { + self.themes.values().map(|theme| ThemeMeta { + name: theme.name.clone(), + appearance: theme.appearance(), + }) } pub fn get(&self, name: &str) -> Result> { diff --git a/crates/theme2/src/theme2.rs b/crates/theme2/src/theme2.rs index ff80b9f5f9..cb3808d4f1 100644 --- a/crates/theme2/src/theme2.rs +++ b/crates/theme2/src/theme2.rs @@ -31,6 +31,15 @@ pub enum Appearance { Dark, } +impl Appearance { + pub fn is_light(&self) -> bool { + match self { + Self::Light => true, + Self::Dark => false, + } + } +} + #[derive(Debug, PartialEq, Eq, Clone, Copy)] pub enum LoadThemes { /// Only load the base theme. diff --git a/crates/theme_selector2/src/theme_selector.rs b/crates/theme_selector2/src/theme_selector.rs index 8430f0698b..2aa893b69c 100644 --- a/crates/theme_selector2/src/theme_selector.rs +++ b/crates/theme_selector2/src/theme_selector.rs @@ -2,13 +2,13 @@ use feature_flags::FeatureFlagAppExt; use fs::Fs; use fuzzy::{match_strings, StringMatch, StringMatchCandidate}; use gpui::{ - actions, AppContext, DismissEvent, Div, EventEmitter, FocusableView, Render, SharedString, - View, ViewContext, VisualContext, WeakView, + actions, AppContext, DismissEvent, Div, EventEmitter, FocusableView, Render, View, ViewContext, + VisualContext, WeakView, }; use picker::{Picker, PickerDelegate}; use settings::{update_settings_file, SettingsStore}; use std::sync::Arc; -use theme::{Theme, ThemeRegistry, ThemeSettings}; +use theme::{Theme, ThemeMeta, ThemeRegistry, ThemeSettings}; use ui::{prelude::*, v_stack, ListItem}; use util::ResultExt; use workspace::{ui::HighlightedLabel, Workspace}; @@ -81,7 +81,7 @@ impl ThemeSelector { pub struct ThemeSelectorDelegate { fs: Arc, - theme_names: Vec, + themes: Vec, matches: Vec, original_theme: Arc, selection_completed: bool, @@ -99,21 +99,25 @@ impl ThemeSelectorDelegate { let staff_mode = cx.is_staff(); let registry = cx.global::(); - let theme_names = registry.list(staff_mode).collect::>(); - //todo!(theme sorting) - // theme_names.sort_unstable_by(|a, b| a.is_light.cmp(&b.is_light).then(a.name.cmp(&b.name))); - let matches = theme_names + let mut themes = registry.list(staff_mode).collect::>(); + themes.sort_unstable_by(|a, b| { + a.appearance + .is_light() + .cmp(&b.appearance.is_light()) + .then(a.name.cmp(&b.name)) + }); + let matches = themes .iter() .map(|meta| StringMatch { candidate_id: 0, score: 0.0, positions: Default::default(), - string: meta.to_string(), + string: meta.name.to_string(), }) .collect(); let mut this = Self { fs, - theme_names, + themes, matches, original_theme: original_theme.clone(), selected_index: 0, @@ -213,13 +217,13 @@ impl PickerDelegate for ThemeSelectorDelegate { ) -> gpui::Task<()> { let background = cx.background_executor().clone(); let candidates = self - .theme_names + .themes .iter() .enumerate() .map(|(id, meta)| StringMatchCandidate { id, - char_bag: meta.as_ref().into(), - string: meta.to_string(), + char_bag: meta.name.as_ref().into(), + string: meta.name.to_string(), }) .collect::>(); From 113c7287df2ddab3fbba159447b23a8a4624852b Mon Sep 17 00:00:00 2001 From: "Joseph T. Lyons" Date: Fri, 8 Dec 2023 15:26:06 -0500 Subject: [PATCH 074/110] Allow modals to override their dismissal Co-Authored-By: Mikayla Maki --- .../src/collab_panel/channel_modal.rs | 2 + .../src/collab_panel/contact_finder.rs | 2 + .../command_palette2/src/command_palette.rs | 4 +- crates/feedback2/src/feedback_modal.rs | 58 +++++++++------ crates/file_finder2/src/file_finder.rs | 4 +- crates/go_to_line2/src/go_to_line.rs | 3 + .../src/language_selector.rs | 3 +- crates/outline2/src/outline.rs | 3 +- .../recent_projects2/src/recent_projects.rs | 6 +- crates/theme_selector2/src/theme_selector.rs | 4 +- crates/welcome2/src/base_keymap_picker.rs | 3 +- crates/workspace2/src/modal_layer.rs | 70 ++++++++++++++----- crates/workspace2/src/workspace2.rs | 2 +- 13 files changed, 118 insertions(+), 46 deletions(-) diff --git a/crates/collab_ui2/src/collab_panel/channel_modal.rs b/crates/collab_ui2/src/collab_panel/channel_modal.rs index af6343b98a..3a630a1959 100644 --- a/crates/collab_ui2/src/collab_panel/channel_modal.rs +++ b/crates/collab_ui2/src/collab_panel/channel_modal.rs @@ -13,6 +13,7 @@ use picker::{Picker, PickerDelegate}; use std::sync::Arc; use ui::prelude::*; use util::TryFutureExt; +use workspace::ModalView; actions!( SelectNextControl, @@ -140,6 +141,7 @@ impl ChannelModal { } impl EventEmitter for ChannelModal {} +impl ModalView for ChannelModal {} impl FocusableView for ChannelModal { fn focus_handle(&self, cx: &AppContext) -> gpui::FocusHandle { diff --git a/crates/collab_ui2/src/collab_panel/contact_finder.rs b/crates/collab_ui2/src/collab_panel/contact_finder.rs index 1623d10eab..742c25d148 100644 --- a/crates/collab_ui2/src/collab_panel/contact_finder.rs +++ b/crates/collab_ui2/src/collab_panel/contact_finder.rs @@ -9,6 +9,7 @@ use std::sync::Arc; use theme::ActiveTheme as _; use ui::prelude::*; use util::{ResultExt as _, TryFutureExt}; +use workspace::ModalView; pub fn init(cx: &mut AppContext) { //Picker::::init(cx); @@ -95,6 +96,7 @@ pub struct ContactFinderDelegate { } impl EventEmitter for ContactFinder {} +impl ModalView for ContactFinder {} impl FocusableView for ContactFinder { fn focus_handle(&self, cx: &AppContext) -> FocusHandle { diff --git a/crates/command_palette2/src/command_palette.rs b/crates/command_palette2/src/command_palette.rs index 57c1fa5614..306ccc2b5a 100644 --- a/crates/command_palette2/src/command_palette.rs +++ b/crates/command_palette2/src/command_palette.rs @@ -16,7 +16,7 @@ use util::{ channel::{parse_zed_link, ReleaseChannel, RELEASE_CHANNEL}, ResultExt, }; -use workspace::Workspace; +use workspace::{ModalView, Workspace}; use zed_actions::OpenZedURL; actions!(Toggle); @@ -26,6 +26,8 @@ pub fn init(cx: &mut AppContext) { cx.observe_new_views(CommandPalette::register).detach(); } +impl ModalView for CommandPalette {} + pub struct CommandPalette { picker: View>, } diff --git a/crates/feedback2/src/feedback_modal.rs b/crates/feedback2/src/feedback_modal.rs index 23d8c38626..ed8944be06 100644 --- a/crates/feedback2/src/feedback_modal.rs +++ b/crates/feedback2/src/feedback_modal.rs @@ -4,7 +4,7 @@ use anyhow::bail; use client::{Client, ZED_SECRET_CLIENT_TOKEN, ZED_SERVER_URL}; use db::kvp::KEY_VALUE_STORE; use editor::{Editor, EditorEvent}; -use futures::AsyncReadExt; +use futures::{AsyncReadExt, Future}; use gpui::{ div, rems, serde_json, AppContext, DismissEvent, Div, EventEmitter, FocusHandle, FocusableView, Model, PromptLevel, Render, Task, View, ViewContext, @@ -16,7 +16,7 @@ use regex::Regex; use serde_derive::Serialize; use ui::{prelude::*, Button, ButtonStyle, IconPosition, Tooltip}; use util::ResultExt; -use workspace::Workspace; +use workspace::{ModalView, Workspace}; use crate::{system_specs::SystemSpecs, GiveFeedback, OpenZedCommunityRepo}; @@ -52,6 +52,13 @@ impl FocusableView for FeedbackModal { } impl EventEmitter for FeedbackModal {} +impl ModalView for FeedbackModal { + fn dismiss(&mut self, cx: &mut ViewContext) -> Task { + let prompt = Self::prompt_dismiss(cx); + cx.spawn(|_, _| prompt) + } +} + impl FeedbackModal { pub fn register(workspace: &mut Workspace, cx: &mut ViewContext) { let _handle = cx.view().downgrade(); @@ -105,7 +112,7 @@ impl FeedbackModal { let feedback_editor = cx.build_view(|cx| { let mut editor = Editor::for_buffer(buffer, Some(project.clone()), cx); editor.set_placeholder_text( - "You can use markdown to add links or organize feedback.", + "You can use markdown to organize your feedback wiht add code and links, or organize feedback.", cx, ); // editor.set_show_gutter(false, cx); @@ -242,7 +249,27 @@ impl FeedbackModal { // Close immediately if no text in field // Ask to close if text in the field fn cancel(&mut self, _: &menu::Cancel, cx: &mut ViewContext) { - cx.emit(DismissEvent); + Self::dismiss_event(cx) + } + + fn dismiss_event(cx: &mut ViewContext) { + let dismiss = Self::prompt_dismiss(cx); + + cx.spawn(|this, mut cx| async move { + if dismiss.await { + this.update(&mut cx, |_, cx| cx.emit(DismissEvent)).ok(); + } + }) + .detach() + } + + fn prompt_dismiss(cx: &mut ViewContext) -> impl Future { + let answer = cx.prompt(PromptLevel::Info, "Discard feedback?", &["Yes", "No"]); + + async { + let answer = answer.await.ok(); + answer == Some(0) + } } } @@ -267,20 +294,7 @@ impl Render for FeedbackModal { } else { "Submit" }; - let dismiss = cx.listener(|_, _, cx| { - cx.emit(DismissEvent); - }); - // TODO: get the "are you sure you want to dismiss?" prompt here working - let dismiss_prompt = cx.listener(|_, _, _| { - // let answer = cx.prompt(PromptLevel::Info, "Exit feedback?", &["Yes", "No"]); - // cx.spawn(|_, _| async move { - // let answer = answer.await.ok(); - // if answer == Some(0) { - // cx.emit(DismissEvent); - // } - // }) - // .detach(); - }); + let open_community_repo = cx.listener(|_, _, cx| cx.dispatch_action(Box::new(OpenZedCommunityRepo))); @@ -368,9 +382,13 @@ impl Render for FeedbackModal { // TODO: Will require somehow overriding the modal dismal default behavior .map(|this| { if has_feedback { - this.on_click(dismiss_prompt) + this.on_click(cx.listener(|_, _, cx| { + Self::dismiss_event(cx) + })) } else { - this.on_click(dismiss) + this.on_click(cx.listener(|_, _, cx| { + cx.emit(DismissEvent); + })) } }), ) diff --git a/crates/file_finder2/src/file_finder.rs b/crates/file_finder2/src/file_finder.rs index 63bf465a73..7324b3667a 100644 --- a/crates/file_finder2/src/file_finder.rs +++ b/crates/file_finder2/src/file_finder.rs @@ -17,10 +17,12 @@ use std::{ use text::Point; use ui::{prelude::*, HighlightedLabel, ListItem}; use util::{paths::PathLikeWithPosition, post_inc, ResultExt}; -use workspace::Workspace; +use workspace::{ModalView, Workspace}; actions!(Toggle); +impl ModalView for FileFinder {} + pub struct FileFinder { picker: View>, } diff --git a/crates/go_to_line2/src/go_to_line.rs b/crates/go_to_line2/src/go_to_line.rs index aff9942c26..1a64b29c4c 100644 --- a/crates/go_to_line2/src/go_to_line.rs +++ b/crates/go_to_line2/src/go_to_line.rs @@ -8,6 +8,7 @@ use text::{Bias, Point}; use theme::ActiveTheme; use ui::{h_stack, prelude::*, v_stack, Label}; use util::paths::FILE_ROW_COLUMN_DELIMITER; +use workspace::ModalView; actions!(Toggle); @@ -23,6 +24,8 @@ pub struct GoToLine { _subscriptions: Vec, } +impl ModalView for GoToLine {} + impl FocusableView for GoToLine { fn focus_handle(&self, cx: &AppContext) -> FocusHandle { self.line_editor.focus_handle(cx) diff --git a/crates/language_selector2/src/language_selector.rs b/crates/language_selector2/src/language_selector.rs index 5d6914d1e2..1ba989ba5d 100644 --- a/crates/language_selector2/src/language_selector.rs +++ b/crates/language_selector2/src/language_selector.rs @@ -14,7 +14,7 @@ use project::Project; use std::sync::Arc; use ui::{prelude::*, HighlightedLabel, ListItem}; use util::ResultExt; -use workspace::Workspace; +use workspace::{ModalView, Workspace}; actions!(Toggle); @@ -81,6 +81,7 @@ impl FocusableView for LanguageSelector { } impl EventEmitter for LanguageSelector {} +impl ModalView for LanguageSelector {} pub struct LanguageSelectorDelegate { language_selector: WeakView, diff --git a/crates/outline2/src/outline.rs b/crates/outline2/src/outline.rs index 45e167411e..bfa93d2099 100644 --- a/crates/outline2/src/outline.rs +++ b/crates/outline2/src/outline.rs @@ -20,7 +20,7 @@ use std::{ use theme::{color_alpha, ActiveTheme, ThemeSettings}; use ui::{prelude::*, ListItem}; use util::ResultExt; -use workspace::Workspace; +use workspace::{ModalView, Workspace}; actions!(Toggle); @@ -57,6 +57,7 @@ impl FocusableView for OutlineView { } impl EventEmitter for OutlineView {} +impl ModalView for OutlineView {} impl Render for OutlineView { type Element = Div; diff --git a/crates/recent_projects2/src/recent_projects.rs b/crates/recent_projects2/src/recent_projects.rs index d2c13b40a3..e014783687 100644 --- a/crates/recent_projects2/src/recent_projects.rs +++ b/crates/recent_projects2/src/recent_projects.rs @@ -13,8 +13,8 @@ use std::sync::Arc; use ui::{prelude::*, ListItem}; use util::paths::PathExt; use workspace::{ - notifications::simple_message_notification::MessageNotification, Workspace, WorkspaceLocation, - WORKSPACE_DB, + notifications::simple_message_notification::MessageNotification, ModalView, Workspace, + WorkspaceLocation, WORKSPACE_DB, }; pub use projects::OpenRecent; @@ -27,6 +27,8 @@ pub struct RecentProjects { picker: View>, } +impl ModalView for RecentProjects {} + impl RecentProjects { fn new(delegate: RecentProjectsDelegate, cx: &mut ViewContext) -> Self { Self { diff --git a/crates/theme_selector2/src/theme_selector.rs b/crates/theme_selector2/src/theme_selector.rs index 8430f0698b..61f1cdf8fe 100644 --- a/crates/theme_selector2/src/theme_selector.rs +++ b/crates/theme_selector2/src/theme_selector.rs @@ -11,7 +11,7 @@ use std::sync::Arc; use theme::{Theme, ThemeRegistry, ThemeSettings}; use ui::{prelude::*, v_stack, ListItem}; use util::ResultExt; -use workspace::{ui::HighlightedLabel, Workspace}; +use workspace::{ui::HighlightedLabel, ModalView, Workspace}; actions!(Toggle, Reload); @@ -52,6 +52,8 @@ pub fn reload(cx: &mut AppContext) { } } +impl ModalView for ThemeSelector {} + pub struct ThemeSelector { picker: View>, } diff --git a/crates/welcome2/src/base_keymap_picker.rs b/crates/welcome2/src/base_keymap_picker.rs index 4e829972f0..9e672de69d 100644 --- a/crates/welcome2/src/base_keymap_picker.rs +++ b/crates/welcome2/src/base_keymap_picker.rs @@ -10,7 +10,7 @@ use settings::{update_settings_file, Settings}; use std::sync::Arc; use ui::{prelude::*, ListItem}; use util::ResultExt; -use workspace::{ui::HighlightedLabel, Workspace}; +use workspace::{ui::HighlightedLabel, ModalView, Workspace}; actions!(ToggleBaseKeymapSelector); @@ -47,6 +47,7 @@ impl FocusableView for BaseKeymapSelector { } impl EventEmitter for BaseKeymapSelector {} +impl ModalView for BaseKeymapSelector {} impl BaseKeymapSelector { pub fn new( diff --git a/crates/workspace2/src/modal_layer.rs b/crates/workspace2/src/modal_layer.rs index a9b6189fdc..a109352995 100644 --- a/crates/workspace2/src/modal_layer.rs +++ b/crates/workspace2/src/modal_layer.rs @@ -1,11 +1,33 @@ +use futures::FutureExt; use gpui::{ - div, prelude::*, px, AnyView, Div, FocusHandle, ManagedView, Render, Subscription, View, - ViewContext, + div, prelude::*, px, AnyView, Div, FocusHandle, ManagedView, Render, Subscription, Task, View, + ViewContext, WindowContext, }; use ui::{h_stack, v_stack}; +pub trait ModalView: ManagedView { + fn dismiss(&mut self, cx: &mut ViewContext) -> Task { + Task::ready(true) + } +} + +trait ModalViewHandle { + fn should_dismiss(&mut self, cx: &mut WindowContext) -> Task; + fn view(&self) -> AnyView; +} + +impl ModalViewHandle for View { + fn should_dismiss(&mut self, cx: &mut WindowContext) -> Task { + self.update(cx, |this, cx| this.dismiss(cx)) + } + + fn view(&self) -> AnyView { + self.clone().into() + } +} + pub struct ActiveModal { - modal: AnyView, + modal: Box, subscription: Subscription, previous_focus_handle: Option, focus_handle: FocusHandle, @@ -22,11 +44,11 @@ impl ModalLayer { pub fn toggle_modal(&mut self, cx: &mut ViewContext, build_view: B) where - V: ManagedView, + V: ModalView, B: FnOnce(&mut ViewContext) -> V, { if let Some(active_modal) = &self.active_modal { - let is_close = active_modal.modal.clone().downcast::().is_ok(); + let is_close = active_modal.modal.view().downcast::().is_ok(); self.hide_modal(cx); if is_close { return; @@ -38,10 +60,10 @@ impl ModalLayer { pub fn show_modal(&mut self, new_modal: View, cx: &mut ViewContext) where - V: ManagedView, + V: ModalView, { self.active_modal = Some(ActiveModal { - modal: new_modal.clone().into(), + modal: Box::new(new_modal.clone()), subscription: cx.subscribe(&new_modal, |this, modal, e, cx| this.hide_modal(cx)), previous_focus_handle: cx.focused(), focus_handle: cx.focus_handle(), @@ -51,15 +73,29 @@ impl ModalLayer { } pub fn hide_modal(&mut self, cx: &mut ViewContext) { - if let Some(active_modal) = self.active_modal.take() { - if let Some(previous_focus) = active_modal.previous_focus_handle { - if active_modal.focus_handle.contains_focused(cx) { - previous_focus.focus(cx); - } - } - } + let Some(active_modal) = self.active_modal.as_mut() else { + return; + }; - cx.notify(); + let dismiss = active_modal.modal.should_dismiss(cx); + + cx.spawn(|this, mut cx| async move { + if dismiss.await { + this.update(&mut cx, |this, cx| { + if let Some(active_modal) = this.active_modal.take() { + if let Some(previous_focus) = active_modal.previous_focus_handle { + if active_modal.focus_handle.contains_focused(cx) { + previous_focus.focus(cx); + } + } + cx.notify(); + } + }) + .ok(); + } + }) + .shared() + .detach(); } pub fn active_modal(&self) -> Option> @@ -67,7 +103,7 @@ impl ModalLayer { V: 'static, { let active_modal = self.active_modal.as_ref()?; - active_modal.modal.clone().downcast::().ok() + active_modal.modal.view().downcast::().ok() } } @@ -98,7 +134,7 @@ impl Render for ModalLayer { .on_mouse_down_out(cx.listener(|this, _, cx| { this.hide_modal(cx); })) - .child(active_modal.modal.clone()), + .child(active_modal.modal.view()), ), ) } diff --git a/crates/workspace2/src/workspace2.rs b/crates/workspace2/src/workspace2.rs index 251f0685b0..012c881e5b 100644 --- a/crates/workspace2/src/workspace2.rs +++ b/crates/workspace2/src/workspace2.rs @@ -3414,7 +3414,7 @@ impl Workspace { self.modal_layer.read(cx).active_modal() } - pub fn toggle_modal(&mut self, cx: &mut ViewContext, build: B) + pub fn toggle_modal(&mut self, cx: &mut ViewContext, build: B) where B: FnOnce(&mut ViewContext) -> V, { From 6955579f1978dcf50fa1498f7e9c21b942d509d1 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Thu, 7 Dec 2023 18:14:10 -0800 Subject: [PATCH 075/110] Start work on chat panel and non-uniform list Co-authored-by: Nathan --- crates/assistant2/src/assistant.rs | 4 +- crates/assistant2/src/assistant_panel.rs | 7 +- crates/collab_ui2/src/chat_panel.rs | 579 +++++++----------- .../src/chat_panel/message_editor.rs | 42 +- crates/gpui2/src/elements/list.rs | 493 +++++++++++++++ crates/gpui2/src/elements/mod.rs | 2 + crates/gpui2/src/elements/uniform_list.rs | 2 +- crates/gpui2/src/gpui2.rs | 20 + crates/rich_text2/src/rich_text.rs | 9 +- 9 files changed, 758 insertions(+), 400 deletions(-) create mode 100644 crates/gpui2/src/elements/list.rs diff --git a/crates/assistant2/src/assistant.rs b/crates/assistant2/src/assistant.rs index 910eeda9e1..871ab131e5 100644 --- a/crates/assistant2/src/assistant.rs +++ b/crates/assistant2/src/assistant.rs @@ -12,7 +12,7 @@ use chrono::{DateTime, Local}; use collections::HashMap; use fs::Fs; use futures::StreamExt; -use gpui::{actions, AppContext}; +use gpui::{actions, AppContext, SharedString}; use regex::Regex; use serde::{Deserialize, Serialize}; use std::{cmp::Reverse, ffi::OsStr, path::PathBuf, sync::Arc}; @@ -47,7 +47,7 @@ struct MessageMetadata { enum MessageStatus { Pending, Done, - Error(Arc), + Error(SharedString), } #[derive(Serialize, Deserialize)] diff --git a/crates/assistant2/src/assistant_panel.rs b/crates/assistant2/src/assistant_panel.rs index 359056d9d3..79ebb6602d 100644 --- a/crates/assistant2/src/assistant_panel.rs +++ b/crates/assistant2/src/assistant_panel.rs @@ -1628,8 +1628,9 @@ impl Conversation { metadata.status = MessageStatus::Done; } Err(error) => { - metadata.status = - MessageStatus::Error(error.to_string().trim().into()); + metadata.status = MessageStatus::Error(SharedString::from( + error.to_string().trim().to_string(), + )); } } cx.notify(); @@ -2273,7 +2274,7 @@ impl ConversationEditor { Some( div() .id("error") - .tooltip(move |cx| Tooltip::text(&error, cx)) + .tooltip(move |cx| Tooltip::text(error.clone(), cx)) .child(IconElement::new(Icon::XCircle)), ) } else { diff --git a/crates/collab_ui2/src/chat_panel.rs b/crates/collab_ui2/src/chat_panel.rs index e9e2610a86..0f6d6c3cd1 100644 --- a/crates/collab_ui2/src/chat_panel.rs +++ b/crates/collab_ui2/src/chat_panel.rs @@ -1,6 +1,4 @@ -// use crate::{ -// channel_view::ChannelView, is_channels_feature_enabled, render_avatar, ChatPanelSettings, -// }; +// use crate::{channel_view::ChannelView, is_channels_feature_enabled, ChatPanelSettings}; // use anyhow::Result; // use call::ActiveCall; // use channel::{ChannelChat, ChannelChatEvent, ChannelMessageId, ChannelStore}; @@ -9,13 +7,9 @@ // use db::kvp::KEY_VALUE_STORE; // use editor::Editor; // use gpui::{ -// actions, -// elements::*, -// platform::{CursorStyle, MouseButton}, -// serde_json, -// views::{ItemType, Select, SelectStyle}, -// AnyViewHandle, AppContext, AsyncAppContext, Entity, ModelHandle, Subscription, Task, View, -// ViewContext, ViewHandle, WeakViewHandle, +// actions, div, list, px, serde_json, AnyElement, AnyView, AppContext, AsyncAppContext, Div, +// Entity, EventEmitter, FocusableView, ListOffset, ListScrollHandle, Model, Orientation, Render, +// Subscription, Task, View, ViewContext, WeakView, // }; // use language::LanguageRegistry; // use menu::Confirm; @@ -23,10 +17,10 @@ // use project::Fs; // use rich_text::RichText; // use serde::{Deserialize, Serialize}; -// use settings::SettingsStore; +// use settings::{Settings, SettingsStore}; // use std::sync::Arc; -// use theme::{IconButton, Theme}; // use time::{OffsetDateTime, UtcOffset}; +// use ui::{h_stack, v_stack, Avatar, Button, Label}; // use util::{ResultExt, TryFutureExt}; // use workspace::{ // dock::{DockPosition, Panel}, @@ -40,19 +34,18 @@ // pub struct ChatPanel { // client: Arc, -// channel_store: ModelHandle, +// channel_store: Model, // languages: Arc, -// active_chat: Option<(ModelHandle, Subscription)>, -// message_list: ListState, -// input_editor: ViewHandle, -// channel_select: ViewHandle, +// // ) -> AnyElement, -// ) -> AnyElement, -// // ) -> AnyElement, + // ) -> AnyElement, - // ) -> AnyElement