Compare commits
1 Commits
migrate-pr
...
improve-ve
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96fbc43cef |
@@ -96,11 +96,11 @@
|
||||
"terminal.ansi.bright_white": "#fafafaff",
|
||||
"terminal.ansi.dim_white": "#575d65ff",
|
||||
"link_text.hover": "#74ade8ff",
|
||||
"version_control.added": "#27a657ff",
|
||||
"version_control.added": "#2EA04833",
|
||||
"version_control.modified": "#d3b020ff",
|
||||
"version_control.word_added": "#2EA04859",
|
||||
"version_control.word_deleted": "#78081BCC",
|
||||
"version_control.deleted": "#e06c76ff",
|
||||
"version_control.word_added": "#2EA0483D",
|
||||
"version_control.word_deleted": "#78081BB3",
|
||||
"version_control.deleted": "#78081B66",
|
||||
"version_control.conflict_marker.ours": "#a1c1811a",
|
||||
"version_control.conflict_marker.theirs": "#74ade81a",
|
||||
"conflict": "#dec184ff",
|
||||
@@ -499,11 +499,11 @@
|
||||
"terminal.ansi.bright_white": "#ffffffff",
|
||||
"terminal.ansi.dim_white": "#aaaaaaff",
|
||||
"link_text.hover": "#5c78e2ff",
|
||||
"version_control.added": "#27a657ff",
|
||||
"version_control.added": "#2EA04833",
|
||||
"version_control.modified": "#d3b020ff",
|
||||
"version_control.word_added": "#2EA04859",
|
||||
"version_control.word_deleted": "#F85149CC",
|
||||
"version_control.deleted": "#e06c76ff",
|
||||
"version_control.word_added": "#2EA0483D",
|
||||
"version_control.word_deleted": "#F851493D",
|
||||
"version_control.deleted": "#F8514929",
|
||||
"conflict": "#a48819ff",
|
||||
"conflict.background": "#faf2e6ff",
|
||||
"conflict.border": "#f4e7d1ff",
|
||||
|
||||
@@ -9213,18 +9213,34 @@ impl Element for EditorElement {
|
||||
continue;
|
||||
};
|
||||
|
||||
let background_color = match diff_status.kind {
|
||||
DiffHunkStatusKind::Added =>
|
||||
cx.theme().colors().version_control_added,
|
||||
DiffHunkStatusKind::Deleted =>
|
||||
cx.theme().colors().version_control_deleted,
|
||||
DiffHunkStatusKind::Modified => {
|
||||
debug_panic!("modified diff status for row info");
|
||||
continue;
|
||||
}
|
||||
};
|
||||
let background_color = dbg!(match diff_status.kind {
|
||||
DiffHunkStatusKind::Added =>
|
||||
cx.theme().colors().version_control_added,
|
||||
DiffHunkStatusKind::Deleted =>
|
||||
cx.theme().colors().version_control_deleted,
|
||||
DiffHunkStatusKind::Modified => {
|
||||
debug_panic!("modified diff status for row info");
|
||||
continue;
|
||||
}
|
||||
});
|
||||
|
||||
let hunk_opacity = if is_light { 0.16 } else { 0.12 };
|
||||
// Potential fix with new tokens:
|
||||
// diff.added = "#2EA048"
|
||||
// diff.added_word = @diff.added/24%
|
||||
// diff.added_background = @diff.added/20%
|
||||
//
|
||||
//
|
||||
// Ideal State:
|
||||
// version_control.added = "#2EA048"
|
||||
// version_control.added_word = @version_control.added/24%
|
||||
// version_control.added_background = @version_control.added/20%
|
||||
// version_control.added_icon = "something"
|
||||
|
||||
// let hunk_opacity = if background_color.a < 1.0 {
|
||||
// background_color.a // Use existing alpha
|
||||
// } else {
|
||||
// if is_light { 0.16 } else { 0.20 }
|
||||
// };
|
||||
|
||||
let hollow_highlight = LineHighlight {
|
||||
background: (background_color.opacity(if is_light {
|
||||
@@ -9243,7 +9259,7 @@ impl Element for EditorElement {
|
||||
};
|
||||
|
||||
let filled_highlight = LineHighlight {
|
||||
background: solid_background(background_color.opacity(hunk_opacity)),
|
||||
background: solid_background(background_color),
|
||||
border: None,
|
||||
include_gutter: true,
|
||||
type_id: None,
|
||||
|
||||
@@ -8,37 +8,68 @@ pub(crate) fn neutral() -> ColorScaleSet {
|
||||
sand()
|
||||
}
|
||||
|
||||
const ADDED_COLOR: Hsla = Hsla {
|
||||
const LIGHT_ADDED_COLOR: Hsla = Hsla {
|
||||
h: 134. / 360.,
|
||||
s: 0.55,
|
||||
l: 0.40,
|
||||
a: 1.0,
|
||||
};
|
||||
const WORD_ADDED_COLOR: Hsla = Hsla {
|
||||
const LIGHT_WORD_ADDED_COLOR: Hsla = Hsla {
|
||||
h: 134. / 360.,
|
||||
s: 0.55,
|
||||
l: 0.40,
|
||||
a: 0.35,
|
||||
};
|
||||
const MODIFIED_COLOR: Hsla = Hsla {
|
||||
const LIGHT_MODIFIED_COLOR: Hsla = Hsla {
|
||||
h: 48. / 360.,
|
||||
s: 0.76,
|
||||
l: 0.47,
|
||||
a: 1.0,
|
||||
};
|
||||
const REMOVED_COLOR: Hsla = Hsla {
|
||||
const LIGHT_REMOVED_COLOR: Hsla = Hsla {
|
||||
h: 350. / 360.,
|
||||
s: 0.88,
|
||||
l: 0.25,
|
||||
a: 1.0,
|
||||
};
|
||||
const WORD_DELETED_COLOR: Hsla = Hsla {
|
||||
const LIGHT_WORD_DELETED_COLOR: Hsla = Hsla {
|
||||
h: 350. / 360.,
|
||||
s: 0.88,
|
||||
l: 0.25,
|
||||
a: 0.80,
|
||||
};
|
||||
|
||||
pub(crate) const DARK_ADDED_COLOR: Hsla = Hsla {
|
||||
h: 1.0,
|
||||
s: 0.55,
|
||||
l: 0.30,
|
||||
a: 0.20,
|
||||
};
|
||||
pub(crate) const DARK_WORD_ADDED_COLOR: Hsla = Hsla {
|
||||
h: 135. / 360.,
|
||||
s: 0.55,
|
||||
l: 0.30,
|
||||
a: 0.24,
|
||||
};
|
||||
pub(crate) const DARK_MODIFIED_COLOR: Hsla = Hsla {
|
||||
h: 218. / 360.,
|
||||
s: 0.66,
|
||||
l: 0.36,
|
||||
a: 0.20,
|
||||
};
|
||||
pub(crate) const DARK_REMOVED_COLOR: Hsla = Hsla {
|
||||
h: 356. / 360.,
|
||||
s: 0.87,
|
||||
l: 0.35,
|
||||
a: 0.32,
|
||||
};
|
||||
pub(crate) const DARK_WORD_DELETED_COLOR: Hsla = Hsla {
|
||||
h: 356. / 360.,
|
||||
s: 0.87,
|
||||
l: 0.35,
|
||||
a: 0.50,
|
||||
};
|
||||
|
||||
/// The default colors for the theme.
|
||||
///
|
||||
/// Themes that do not specify all colors are refined off of these defaults.
|
||||
@@ -158,14 +189,14 @@ impl ThemeColors {
|
||||
terminal_ansi_dim_cyan: cyan().light().step_10(),
|
||||
terminal_ansi_dim_white: neutral().light().step_11(),
|
||||
link_text_hover: orange().light().step_10(),
|
||||
version_control_added: ADDED_COLOR,
|
||||
version_control_deleted: REMOVED_COLOR,
|
||||
version_control_modified: MODIFIED_COLOR,
|
||||
version_control_renamed: MODIFIED_COLOR,
|
||||
version_control_added: LIGHT_ADDED_COLOR,
|
||||
version_control_deleted: LIGHT_REMOVED_COLOR,
|
||||
version_control_modified: LIGHT_MODIFIED_COLOR,
|
||||
version_control_renamed: LIGHT_MODIFIED_COLOR,
|
||||
version_control_conflict: orange().light().step_12(),
|
||||
version_control_ignored: gray().light().step_12(),
|
||||
version_control_word_added: WORD_ADDED_COLOR,
|
||||
version_control_word_deleted: WORD_DELETED_COLOR,
|
||||
version_control_word_added: LIGHT_WORD_ADDED_COLOR,
|
||||
version_control_word_deleted: LIGHT_WORD_DELETED_COLOR,
|
||||
version_control_conflict_marker_ours: green().light().step_10().alpha(0.5),
|
||||
version_control_conflict_marker_theirs: blue().light().step_10().alpha(0.5),
|
||||
vim_normal_background: system.transparent,
|
||||
@@ -295,14 +326,14 @@ impl ThemeColors {
|
||||
terminal_ansi_bright_white: neutral().dark().step_11(),
|
||||
terminal_ansi_dim_white: neutral().dark().step_10(),
|
||||
link_text_hover: orange().dark().step_10(),
|
||||
version_control_added: ADDED_COLOR,
|
||||
version_control_deleted: REMOVED_COLOR,
|
||||
version_control_modified: MODIFIED_COLOR,
|
||||
version_control_renamed: MODIFIED_COLOR,
|
||||
version_control_added: DARK_ADDED_COLOR,
|
||||
version_control_deleted: DARK_REMOVED_COLOR,
|
||||
version_control_modified: DARK_MODIFIED_COLOR,
|
||||
version_control_renamed: DARK_MODIFIED_COLOR,
|
||||
version_control_conflict: orange().dark().step_12(),
|
||||
version_control_ignored: gray().dark().step_12(),
|
||||
version_control_word_added: WORD_ADDED_COLOR,
|
||||
version_control_word_deleted: WORD_DELETED_COLOR,
|
||||
version_control_word_added: DARK_WORD_ADDED_COLOR,
|
||||
version_control_word_deleted: DARK_WORD_DELETED_COLOR,
|
||||
version_control_conflict_marker_ours: green().dark().step_10().alpha(0.5),
|
||||
version_control_conflict_marker_theirs: blue().dark().step_10().alpha(0.5),
|
||||
vim_normal_background: system.transparent,
|
||||
|
||||
@@ -3,7 +3,8 @@ use std::sync::Arc;
|
||||
use gpui::{FontStyle, FontWeight, HighlightStyle, Hsla, WindowBackgroundAppearance, hsla};
|
||||
|
||||
use crate::{
|
||||
AccentColors, Appearance, DEFAULT_DARK_THEME, PlayerColors, StatusColors,
|
||||
AccentColors, Appearance, DARK_ADDED_COLOR, DARK_MODIFIED_COLOR, DARK_REMOVED_COLOR,
|
||||
DARK_WORD_ADDED_COLOR, DARK_WORD_DELETED_COLOR, DEFAULT_DARK_THEME, PlayerColors, StatusColors,
|
||||
StatusColorsRefinement, SyntaxTheme, SystemColors, Theme, ThemeColors, ThemeColorsRefinement,
|
||||
ThemeFamily, ThemeStyles, default_color_scales,
|
||||
};
|
||||
@@ -70,37 +71,6 @@ pub(crate) fn zed_default_dark() -> Theme {
|
||||
let teal = hsla(187. / 360., 47. / 100., 55. / 100., 1.0);
|
||||
let yellow = hsla(39. / 360., 67. / 100., 69. / 100., 1.0);
|
||||
|
||||
const ADDED_COLOR: Hsla = Hsla {
|
||||
h: 134. / 360.,
|
||||
s: 0.55,
|
||||
l: 0.40,
|
||||
a: 1.0,
|
||||
};
|
||||
const WORD_ADDED_COLOR: Hsla = Hsla {
|
||||
h: 134. / 360.,
|
||||
s: 0.55,
|
||||
l: 0.40,
|
||||
a: 0.35,
|
||||
};
|
||||
const MODIFIED_COLOR: Hsla = Hsla {
|
||||
h: 48. / 360.,
|
||||
s: 0.76,
|
||||
l: 0.47,
|
||||
a: 1.0,
|
||||
};
|
||||
const REMOVED_COLOR: Hsla = Hsla {
|
||||
h: 350. / 360.,
|
||||
s: 0.88,
|
||||
l: 0.25,
|
||||
a: 1.0,
|
||||
};
|
||||
const WORD_DELETED_COLOR: Hsla = Hsla {
|
||||
h: 350. / 360.,
|
||||
s: 0.88,
|
||||
l: 0.25,
|
||||
a: 0.80,
|
||||
};
|
||||
|
||||
let player = PlayerColors::dark();
|
||||
Theme {
|
||||
id: "one_dark".to_string(),
|
||||
@@ -237,14 +207,14 @@ pub(crate) fn zed_default_dark() -> Theme {
|
||||
minimap_thumb_border: hsla(228. / 360., 8. / 100., 25. / 100., 1.),
|
||||
editor_foreground: hsla(218. / 360., 14. / 100., 71. / 100., 1.),
|
||||
link_text_hover: blue,
|
||||
version_control_added: ADDED_COLOR,
|
||||
version_control_deleted: REMOVED_COLOR,
|
||||
version_control_modified: MODIFIED_COLOR,
|
||||
version_control_renamed: MODIFIED_COLOR,
|
||||
version_control_added: DARK_ADDED_COLOR,
|
||||
version_control_deleted: DARK_REMOVED_COLOR,
|
||||
version_control_modified: DARK_MODIFIED_COLOR,
|
||||
version_control_renamed: DARK_MODIFIED_COLOR,
|
||||
version_control_conflict: crate::orange().light().step_12(),
|
||||
version_control_ignored: crate::gray().light().step_12(),
|
||||
version_control_word_added: WORD_ADDED_COLOR,
|
||||
version_control_word_deleted: WORD_DELETED_COLOR,
|
||||
version_control_word_added: DARK_WORD_ADDED_COLOR,
|
||||
version_control_word_deleted: DARK_WORD_DELETED_COLOR,
|
||||
version_control_conflict_marker_ours: crate::green().light().step_12().alpha(0.5),
|
||||
version_control_conflict_marker_theirs: crate::blue().light().step_12().alpha(0.5),
|
||||
|
||||
|
||||
@@ -287,6 +287,7 @@ pub fn theme_colors_refinement(
|
||||
.panel_background
|
||||
.as_ref()
|
||||
.and_then(|color| try_parse_color(color).ok());
|
||||
|
||||
ThemeColorsRefinement {
|
||||
border,
|
||||
border_variant: this
|
||||
@@ -713,6 +714,7 @@ pub fn theme_colors_refinement(
|
||||
.as_ref()
|
||||
.and_then(|color| try_parse_color(color).ok())
|
||||
// Fall back to `created`, for backwards compatibility.
|
||||
// todo!
|
||||
.or(status_colors.created),
|
||||
version_control_deleted: this
|
||||
.version_control_deleted
|
||||
|
||||
@@ -247,6 +247,10 @@ impl ThemeFamily {
|
||||
};
|
||||
let mut theme_colors_refinement =
|
||||
theme_colors_refinement(&theme.style.colors, &status_colors_refinement);
|
||||
// todo! We could pass in refined_theme_colors to apply default version control colors
|
||||
// instead of falling back to the status colors created ... etc
|
||||
//
|
||||
// That would probably break backwards compatibility though
|
||||
apply_theme_color_defaults(&mut theme_colors_refinement, &refined_player_colors);
|
||||
refined_theme_colors.refine(&theme_colors_refinement);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user