Style go-to-definition links (#3727)

This PR styles go-to-definition links using the link color from the
theme.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2023-12-19 18:41:45 -05:00 committed by GitHub
commit 305cd9b288
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 47 additions and 1 deletions

View File

@ -491,7 +491,7 @@ pub fn show_link_definition(
thickness: px(1.),
..Default::default()
}),
color: Some(gpui::red()),
color: Some(cx.theme().colors().link_text_hover),
..Default::default()
};
let highlight_range =

View File

@ -70,6 +70,7 @@ pub fn ayu() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0x9e75c7ff).into()),
terminal_ansi_cyan: Some(rgba(0x46ba94ff).into()),
terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()),
link_text_hover: Some(rgba(0xffaa33ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -379,6 +380,7 @@ pub fn ayu() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdabafaff).into()),
terminal_ansi_cyan: Some(rgba(0x90e1c6ff).into()),
terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()),
link_text_hover: Some(rgba(0xffcc66ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -688,6 +690,7 @@ pub fn ayu() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xcda1faff).into()),
terminal_ansi_cyan: Some(rgba(0x90e1c6ff).into()),
terminal_ansi_white: Some(rgba(0xc7c7c7ff).into()),
link_text_hover: Some(rgba(0xe6b450ff).into()),
..Default::default()
},
status: StatusColorsRefinement {

View File

@ -70,6 +70,7 @@ pub fn gruvbox() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb16286ff).into()),
terminal_ansi_cyan: Some(rgba(0x689d6aff).into()),
terminal_ansi_white: Some(rgba(0xa89984ff).into()),
link_text_hover: Some(rgba(0x458588ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -365,6 +366,7 @@ pub fn gruvbox() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb16286ff).into()),
terminal_ansi_cyan: Some(rgba(0x689d6aff).into()),
terminal_ansi_white: Some(rgba(0xa89984ff).into()),
link_text_hover: Some(rgba(0x458588ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -660,6 +662,7 @@ pub fn gruvbox() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb16286ff).into()),
terminal_ansi_cyan: Some(rgba(0x689d6aff).into()),
terminal_ansi_white: Some(rgba(0xa89984ff).into()),
link_text_hover: Some(rgba(0x458588ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -955,6 +958,7 @@ pub fn gruvbox() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb16286ff).into()),
terminal_ansi_cyan: Some(rgba(0x689d6aff).into()),
terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),
link_text_hover: Some(rgba(0x458588ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -1250,6 +1254,7 @@ pub fn gruvbox() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb16286ff).into()),
terminal_ansi_cyan: Some(rgba(0x689d6aff).into()),
terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),
link_text_hover: Some(rgba(0x458588ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -1545,6 +1550,7 @@ pub fn gruvbox() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb16286ff).into()),
terminal_ansi_cyan: Some(rgba(0x689d6aff).into()),
terminal_ansi_white: Some(rgba(0x7c6f64ff).into()),
link_text_hover: Some(rgba(0x458588ff).into()),
..Default::default()
},
status: StatusColorsRefinement {

View File

@ -71,6 +71,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xaec3d0ff).into()),
link_text_hover: Some(rgba(0x49ace9ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -351,6 +352,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xb9acb0ff).into()),
link_text_hover: Some(rgba(0xf18eb0ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -631,6 +633,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),
terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),
terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),
link_text_hover: Some(rgba(0x00c6e0ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -911,6 +914,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),
terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),
terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),
link_text_hover: Some(rgba(0x00c6e0ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -1191,6 +1195,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xff5792ff).into()),
terminal_ansi_cyan: Some(rgba(0x00bdd6ff).into()),
terminal_ansi_white: Some(rgba(0x8ca6a6ff).into()),
link_text_hover: Some(rgba(0x00c6e0ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -1471,6 +1476,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xc28097ff).into()),
terminal_ansi_cyan: Some(rgba(0x72b7c0ff).into()),
terminal_ansi_white: Some(rgba(0xc5cdd3ff).into()),
link_text_hover: Some(rgba(0x5998c0ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -1751,6 +1757,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xb2cacdff).into()),
link_text_hover: Some(rgba(0x40d4e7ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -2031,6 +2038,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xb2cacdff).into()),
link_text_hover: Some(rgba(0x40d4e7ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -2311,6 +2319,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xb2cacdff).into()),
link_text_hover: Some(rgba(0x40d4e7ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -2591,6 +2600,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xb6b3ccff).into()),
link_text_hover: Some(rgba(0x998ef1ff).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -2871,6 +2881,7 @@ pub fn noctis() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xdf769bff).into()),
terminal_ansi_cyan: Some(rgba(0x49d6e9ff).into()),
terminal_ansi_white: Some(rgba(0xbfafcfff).into()),
link_text_hover: Some(rgba(0xbf8ef1ff).into()),
..Default::default()
},
status: StatusColorsRefinement {

View File

@ -70,6 +70,7 @@ pub fn nord() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xb48eadff).into()),
terminal_ansi_cyan: Some(rgba(0x88c0d0ff).into()),
terminal_ansi_white: Some(rgba(0xe5e9f0ff).into()),
link_text_hover: Some(rgba(0x88c0d0ff).into()),
..Default::default()
},
status: StatusColorsRefinement {

View File

@ -70,6 +70,7 @@ pub fn rose_pine() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()),
terminal_ansi_cyan: Some(rgba(0xebbcbaff).into()),
terminal_ansi_white: Some(rgba(0xe0def4ff).into()),
link_text_hover: Some(rgba(0xc4a7e7e6).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -332,6 +333,7 @@ pub fn rose_pine() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0xc4a7e7ff).into()),
terminal_ansi_cyan: Some(rgba(0xea9a97ff).into()),
terminal_ansi_white: Some(rgba(0xe0def4ff).into()),
link_text_hover: Some(rgba(0xc4a7e7e6).into()),
..Default::default()
},
status: StatusColorsRefinement {
@ -594,6 +596,7 @@ pub fn rose_pine() -> UserThemeFamily {
terminal_ansi_magenta: Some(rgba(0x907aa9ff).into()),
terminal_ansi_cyan: Some(rgba(0xd7827eff).into()),
terminal_ansi_white: Some(rgba(0x575279ff).into()),
link_text_hover: Some(rgba(0x907aa9e6).into()),
..Default::default()
},
status: StatusColorsRefinement {

View File

@ -54,6 +54,7 @@ pub fn synthwave_84() -> UserThemeFamily {
terminal_ansi_blue: Some(rgba(0x03edf9ff).into()),
terminal_ansi_magenta: Some(rgba(0xff7edbff).into()),
terminal_ansi_cyan: Some(rgba(0x03edf9ff).into()),
link_text_hover: Some(rgba(0xff7edbff).into()),
..Default::default()
},
status: StatusColorsRefinement {

View File

@ -270,6 +270,16 @@ impl<'a> Debug for ThemeColorsRefinementPrinter<'a> {
("terminal_ansi_magenta", self.0.terminal_ansi_magenta),
("terminal_ansi_cyan", self.0.terminal_ansi_cyan),
("terminal_ansi_white", self.0.terminal_ansi_white),
("headline", self.0.headline),
("paragraph", self.0.paragraph),
("link_text", self.0.link_text),
("link_text_hover", self.0.link_text_hover),
("link_uri", self.0.link_uri),
("inline_code_background", self.0.inline_code_background),
("inline_code_border", self.0.inline_code_border),
("code_block_background", self.0.code_block_background),
("code_block_border", self.0.code_block_border),
("emphasis", self.0.emphasis),
];
f.write_str("ThemeColorsRefinement {")?;

View File

@ -217,6 +217,10 @@ impl VsCodeThemeConverter {
.tab_inactive_foreground
.as_ref()
.traverse(|color| try_parse_color(&color))?,
link_text_hover: vscode_colors
.text_link_active_foreground
.as_ref()
.traverse(|color| try_parse_color(&color))?,
tab_bar_background: vscode_colors
.editor_group_header_tabs_background
.as_ref()

View File

@ -154,6 +154,13 @@ pub struct VsCodeColors {
)]
pub terminal_ansi_white: Option<String>,
#[serde(
default,
rename = "textLink.activeForeground",
deserialize_with = "empty_string_as_none"
)]
pub text_link_active_foreground: Option<String>,
#[serde(
default,
rename = "focusBorder",