mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
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 @@ impl<'a, G: EmissionGuarantee> Diag<'a, G> {
|
||||
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.
|
||||
#[rustc_lint_diagnostics]
|
||||
pub fn note_once(&mut self, msg: impl Into<SubdiagMessage>) -> &mut Self {
|
||||
@ -815,6 +825,17 @@ impl<'a, G: EmissionGuarantee> Diag<'a, G> {
|
||||
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.
|
||||
/// This is like [`Diag::help()`], but it gets its own span.
|
||||
#[rustc_lint_diagnostics]
|
||||
|
@ -1347,7 +1347,7 @@ impl HumanEmitter {
|
||||
label_width += 2;
|
||||
}
|
||||
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();
|
||||
// Account for newlines to align output to its label.
|
||||
for text in normalize_whitespace(&text).lines() {
|
||||
@ -1358,7 +1358,10 @@ impl HumanEmitter {
|
||||
if line == 0 { String::new() } else { " ".repeat(label_width) },
|
||||
text
|
||||
),
|
||||
header_style,
|
||||
match style {
|
||||
Style::Highlight => *style,
|
||||
_ => header_style,
|
||||
},
|
||||
);
|
||||
line += 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user