Detailed changes
@@ -75,7 +75,7 @@ pub fn text_style(cx: &mut WindowContext) -> TextStyle {
font_size: theme::get_buffer_font_size(cx).into(),
font_style: FontStyle::Normal,
line_height: cx.line_height().into(),
- background_color: Some(theme.colors().terminal_background),
+ background_color: Some(theme.colors().terminal_ansi_background),
white_space: WhiteSpace::Normal,
truncate: None,
// These are going to be overridden per-cell
@@ -662,7 +662,7 @@ impl Element for TerminalElement {
font_size: font_size.into(),
font_style: FontStyle::Normal,
line_height: line_height.into(),
- background_color: Some(theme.colors().terminal_background),
+ background_color: Some(theme.colors().terminal_ansi_background),
white_space: WhiteSpace::Normal,
truncate: None,
// These are going to be overridden per-cell
@@ -778,7 +778,7 @@ impl Element for TerminalElement {
&[TextRun {
len,
font: text_style.font(),
- color: theme.colors().terminal_background,
+ color: theme.colors().terminal_ansi_background,
background_color: None,
underline: Default::default(),
strikethrough: None,
@@ -1158,7 +1158,7 @@ pub fn convert_color(fg: &terminal::alacritty_terminal::vte::ansi::Color, theme:
NamedColor::BrightCyan => colors.terminal_ansi_bright_cyan,
NamedColor::BrightWhite => colors.terminal_ansi_bright_white,
NamedColor::Foreground => colors.terminal_foreground,
- NamedColor::Background => colors.terminal_background,
+ NamedColor::Background => colors.terminal_ansi_background,
NamedColor::Cursor => theme.players().local().cursor,
NamedColor::DimBlack => colors.terminal_ansi_dim_black,
NamedColor::DimRed => colors.terminal_ansi_dim_red,
@@ -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(),
@@ -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(),
@@ -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()
@@ -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.