Skip to content

Commit 5108339

Browse files
authored
Merge pull request #283 from Muscraft/always-style-primary-title
fix: Always style primary_title
2 parents b9dc9e5 + 62f900d commit 5108339

File tree

4 files changed

+70
-3
lines changed

4 files changed

+70
-3
lines changed

src/renderer/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,10 +219,10 @@ impl Renderer {
219219
let mut message_iter = group.elements.iter().enumerate().peekable();
220220
if let Some(title) = &group.title {
221221
let peek = message_iter.peek().map(|(_, s)| s).copied();
222-
let title_style = if g == 0 {
223-
TitleStyle::MainHeader
224-
} else {
222+
let title_style = if title.allows_styling {
225223
TitleStyle::Header
224+
} else {
225+
TitleStyle::MainHeader
226226
};
227227
let buffer_msg_line_offset = buffer.num_lines();
228228
self.render_title(

tests/color/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ mod fold_trailing;
1212
mod issue_9;
1313
mod multiline_removal_suggestion;
1414
mod multiple_annotations;
15+
mod primary_title_second_group;
1516
mod simple;
1617
mod strip_line;
1718
mod strip_line_char;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
2+
3+
use snapbox::{assert_data_eq, file};
4+
5+
#[test]
6+
fn case() {
7+
let report =
8+
&[
9+
Group::with_title(Level::ERROR.primary_title("mismatched types").id("E0308")).element(
10+
Snippet::source(" slices: vec![\"A\",")
11+
.line_start(13)
12+
.path("src/multislice.rs")
13+
.annotation(AnnotationKind::Primary.span(21..24).label(
14+
"expected struct `annotate_snippets::snippet::Slice`, found reference",
15+
)),
16+
),
17+
Group::with_title(Level::NOTE.primary_title(
18+
"expected type: `snippet::Annotation`\n found type: `__&__snippet::Annotation`",
19+
)),
20+
];
21+
22+
let expected = file!["primary_title_second_group.term.svg"];
23+
let renderer = Renderer::styled();
24+
assert_data_eq!(renderer.render(report), expected);
25+
}
Lines changed: 41 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)