From f7de0ad8ae3b17a148f7c460491edbcfe67c9dcf Mon Sep 17 00:00:00 2001 From: Julia Date: Mon, 1 May 2023 16:48:27 -0400 Subject: [PATCH] Show diagnostic source in diagnostic multibuffer headers --- crates/diagnostics/src/diagnostics.rs | 13 +++++++++++-- crates/theme/src/theme.rs | 1 + styles/src/styleTree/editor.ts | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/crates/diagnostics/src/diagnostics.rs b/crates/diagnostics/src/diagnostics.rs index 6973d83f9b..22f67265ec 100644 --- a/crates/diagnostics/src/diagnostics.rs +++ b/crates/diagnostics/src/diagnostics.rs @@ -697,8 +697,18 @@ fn diagnostic_header_renderer(diagnostic: Diagnostic) -> RenderBlock { icon.constrained() .with_width(icon_width) .aligned() - .contained(), + .contained() + .with_margin_right(cx.gutter_padding), ) + .with_children(diagnostic.source.as_ref().map(|source| { + Label::new( + format!("{source}: "), + style.source.label.clone().with_font_size(font_size), + ) + .contained() + .with_style(style.message.container) + .aligned() + })) .with_child( Label::new( message.clone(), @@ -707,7 +717,6 @@ fn diagnostic_header_renderer(diagnostic: Diagnostic) -> RenderBlock { .with_highlights(highlights.clone()) .contained() .with_style(style.message.container) - .with_margin_left(cx.gutter_padding) .aligned(), ) .with_children(diagnostic.code.clone().map(|code| { diff --git a/crates/theme/src/theme.rs b/crates/theme/src/theme.rs index d296284772..1211f53742 100644 --- a/crates/theme/src/theme.rs +++ b/crates/theme/src/theme.rs @@ -659,6 +659,7 @@ pub struct DiagnosticPathHeader { pub struct DiagnosticHeader { #[serde(flatten)] pub container: ContainerStyle, + pub source: ContainedLabel, pub message: ContainedLabel, pub code: ContainedText, pub text_scale_factor: f32, diff --git a/styles/src/styleTree/editor.ts b/styles/src/styleTree/editor.ts index 84ef51406e..cd0adf6bc7 100644 --- a/styles/src/styleTree/editor.ts +++ b/styles/src/styleTree/editor.ts @@ -176,6 +176,9 @@ export default function editor(colorScheme: ColorScheme) { left: 10, }, }, + source: { + text: text(colorScheme.middle, "sans", { size: "sm", weight: "bold", }), + }, message: { highlightText: text(colorScheme.middle, "sans", { size: "sm",