Styling option for separating terminal view background from background color (#17611)

Closes #17313

Release Notes:

- Added theme styling option to separate terminal background view from
terminal background color, for transparent terminal backgrounds
This commit is contained in:
Albert Marashi 2024-09-18 02:21:31 +09:30 committed by GitHub
parent 3d69942f71
commit 0070635b4d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 19 additions and 5 deletions

View file

@ -84,6 +84,7 @@ impl ThemeColors {
terminal_foreground: black().light().step_12(),
terminal_bright_foreground: black().light().step_11(),
terminal_dim_foreground: black().light().step_10(),
terminal_ansi_background: neutral().light().step_1(),
terminal_ansi_bright_black: black().light().step_11(),
terminal_ansi_bright_red: red().light().step_10(),
terminal_ansi_bright_green: green().light().step_10(),
@ -179,6 +180,7 @@ impl ThemeColors {
editor_document_highlight_read_background: neutral().dark_alpha().step_4(),
editor_document_highlight_write_background: neutral().dark_alpha().step_4(),
terminal_background: neutral().dark().step_1(),
terminal_ansi_background: neutral().dark().step_1(),
terminal_foreground: white().dark().step_12(),
terminal_bright_foreground: white().dark().step_11(),
terminal_dim_foreground: white().dark().step_10(),

View file

@ -105,6 +105,7 @@ pub(crate) fn one_dark() -> Theme {
terminal_background: bg,
// todo("Use one colors for terminal")
terminal_ansi_background: crate::black().dark().step_12(),
terminal_foreground: crate::white().dark().step_12(),
terminal_bright_foreground: crate::white().dark().step_11(),
terminal_dim_foreground: crate::white().dark().step_10(),

View file

@ -421,6 +421,10 @@ pub struct ThemeColorsContent {
#[serde(rename = "terminal.foreground")]
pub terminal_foreground: Option<String>,
/// Terminal ansi background color.
#[serde(rename = "terminal.ansi.background")]
pub terminal_ansi_background: Option<String>,
/// Bright terminal foreground color.
#[serde(rename = "terminal.bright_foreground")]
pub terminal_bright_foreground: Option<String>,
@ -792,6 +796,10 @@ impl ThemeColorsContent {
.terminal_background
.as_ref()
.and_then(|color| try_parse_color(color).ok()),
terminal_ansi_background: self
.terminal_ansi_background
.as_ref()
.and_then(|color| try_parse_color(color).ok()),
terminal_foreground: self
.terminal_foreground
.as_ref()

View file

@ -175,7 +175,7 @@ pub struct ThemeColors {
// ===
// Terminal
// ===
/// Terminal background color.
/// Terminal layout background color.
pub terminal_background: Hsla,
/// Terminal foreground color.
pub terminal_foreground: Hsla,
@ -184,6 +184,9 @@ pub struct ThemeColors {
/// Dim terminal foreground color.
pub terminal_dim_foreground: Hsla,
/// Terminal ansi background color.
pub terminal_ansi_background: Hsla,
/// Black ANSI terminal color.
pub terminal_ansi_black: Hsla,
/// Bright black ANSI terminal color.