Maintain highlighting in note
and help
even when they have a span
This commit is contained in:
parent
60d146580c
commit
db6c05f9b9
@ -741,6 +741,16 @@ pub fn highlighted_note(&mut self, msg: Vec<StringPart>) -> &mut Self {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[rustc_lint_diagnostics]
|
||||||
|
pub fn highlighted_span_note(
|
||||||
|
&mut self,
|
||||||
|
span: impl Into<MultiSpan>,
|
||||||
|
msg: Vec<StringPart>,
|
||||||
|
) -> &mut Self {
|
||||||
|
self.sub_with_highlights(Level::Note, msg, span.into());
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
/// This is like [`Diag::note()`], but it's only printed once.
|
/// This is like [`Diag::note()`], but it's only printed once.
|
||||||
#[rustc_lint_diagnostics]
|
#[rustc_lint_diagnostics]
|
||||||
pub fn note_once(&mut self, msg: impl Into<SubdiagMessage>) -> &mut Self {
|
pub fn note_once(&mut self, msg: impl Into<SubdiagMessage>) -> &mut Self {
|
||||||
@ -815,6 +825,17 @@ pub fn highlighted_help(&mut self, msg: Vec<StringPart>) -> &mut Self {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Add a help message attached to this diagnostic with a customizable highlighted message.
|
||||||
|
#[rustc_lint_diagnostics]
|
||||||
|
pub fn highlighted_span_help(
|
||||||
|
&mut self,
|
||||||
|
span: impl Into<MultiSpan>,
|
||||||
|
msg: Vec<StringPart>,
|
||||||
|
) -> &mut Self {
|
||||||
|
self.sub_with_highlights(Level::Help, msg, span.into());
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
/// Prints the span with some help above it.
|
/// Prints the span with some help above it.
|
||||||
/// This is like [`Diag::help()`], but it gets its own span.
|
/// This is like [`Diag::help()`], but it gets its own span.
|
||||||
#[rustc_lint_diagnostics]
|
#[rustc_lint_diagnostics]
|
||||||
|
@ -1347,7 +1347,7 @@ fn emit_messages_default_inner(
|
|||||||
label_width += 2;
|
label_width += 2;
|
||||||
}
|
}
|
||||||
let mut line = 0;
|
let mut line = 0;
|
||||||
for (text, _) in msgs.iter() {
|
for (text, style) in msgs.iter() {
|
||||||
let text = self.translate_message(text, args).map_err(Report::new).unwrap();
|
let text = self.translate_message(text, args).map_err(Report::new).unwrap();
|
||||||
// Account for newlines to align output to its label.
|
// Account for newlines to align output to its label.
|
||||||
for text in normalize_whitespace(&text).lines() {
|
for text in normalize_whitespace(&text).lines() {
|
||||||
@ -1358,7 +1358,10 @@ fn emit_messages_default_inner(
|
|||||||
if line == 0 { String::new() } else { " ".repeat(label_width) },
|
if line == 0 { String::new() } else { " ".repeat(label_width) },
|
||||||
text
|
text
|
||||||
),
|
),
|
||||||
header_style,
|
match style {
|
||||||
|
Style::Highlight => *style,
|
||||||
|
_ => header_style,
|
||||||
|
},
|
||||||
);
|
);
|
||||||
line += 1;
|
line += 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user