Skip to content

Commit 6974a32

Browse files
committed
feat: Add custom Levels
1 parent 44ea438 commit 6974a32

19 files changed

+352
-263
lines changed

benches/bench.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
1+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
22

33
#[divan::bench]
44
fn simple() -> String {
@@ -24,7 +24,7 @@ fn simple() -> String {
2424
_ => continue,
2525
}
2626
}"#;
27-
let message = Level::Error.message("mismatched types").id("E0308").group(
27+
let message = Level::ERROR.message("mismatched types").id("E0308").group(
2828
Group::new().element(
2929
Snippet::source(source)
3030
.line_start(51)
@@ -69,7 +69,7 @@ fn fold(bencher: divan::Bencher<'_, '_>, context: usize) {
6969
(input, span)
7070
})
7171
.bench_values(|(input, span)| {
72-
let message = Level::Error.message("mismatched types").id("E0308").group(
72+
let message = Level::ERROR.message("mismatched types").id("E0308").group(
7373
Group::new().element(
7474
Snippet::source(&input)
7575
.fold(true)

examples/custom_error.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use annotate_snippets::renderer::OutputTheme;
2-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
2+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
33

44
fn main() {
55
let source = r#"//@ compile-flags: -Ztreat-err-as-bug
@@ -15,8 +15,10 @@ fn main() {
1515
pub static C: u32 = 0 - 1;
1616
//~^ ERROR could not evaluate static initializer
1717
"#;
18-
let message = Level::None
19-
.message("error: internal compiler error[E0080]: could not evaluate static initializer")
18+
let message = Level::ERROR
19+
.text(Some("error: internal compiler error"))
20+
.message("could not evaluate static initializer")
21+
.id("E0080")
2022
.group(
2123
Group::new().element(
2224
Snippet::source(source)

examples/custom_error.svg

Lines changed: 3 additions & 2 deletions
Loading

examples/custom_level.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use annotate_snippets::renderer::OutputTheme;
2-
use annotate_snippets::{AnnotationKind, Group, Level, Patch, Renderer, Snippet};
2+
use annotate_snippets::{level::Level, AnnotationKind, Group, Patch, Renderer, Snippet};
33

44
fn main() {
55
let source = r#"// Regression test for issue #114529
@@ -29,7 +29,7 @@ fn main() {
2929
}
3030
}
3131
"#;
32-
let message = Level::Error
32+
let message = Level::ERROR
3333
.message("`break` with value from a `while` loop")
3434
.id("E0571")
3535
.group(
@@ -52,9 +52,11 @@ fn main() {
5252
)
5353
.group(
5454
Group::new()
55-
.element(Level::None.title(
56-
"suggestion: use `break` on its own without a value inside this `while` loop",
57-
))
55+
.element(
56+
Level::HELP
57+
.text(Some("suggestion"))
58+
.title("use `break` on its own without a value inside this `while` loop"),
59+
)
5860
.element(
5961
Snippet::source(source)
6062
.line_start(1)

examples/custom_level.svg

Lines changed: 2 additions & 1 deletion
Loading

examples/expected_type.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
1+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
22

33
fn main() {
44
let source = r#" annotations: vec![SourceAnnotation {
55
label: "expected struct `annotate_snippets::snippet::Slice`, found reference"
66
,
77
range: <22, 25>,"#;
88
let message =
9-
Level::Error.message("expected type, found `22`").group(
9+
Level::ERROR.message("expected type, found `22`").group(
1010
Group::new().element(
1111
Snippet::source(source)
1212
.line_start(26)

examples/footer.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
1+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
22

33
fn main() {
4-
let message = Level::Error
4+
let message = Level::ERROR
55
.message("mismatched types")
66
.id("E0308")
77
.group(
@@ -14,7 +14,7 @@ fn main() {
1414
)),
1515
),
1616
)
17-
.group(Group::new().element(Level::Note.title(
17+
.group(Group::new().element(Level::NOTE.title(
1818
"expected type: `snippet::Annotation`\n found type: `__&__snippet::Annotation`",
1919
)));
2020

examples/format.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
1+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
22

33
fn main() {
44
let source = r#") -> Option<String> {
@@ -23,7 +23,7 @@ fn main() {
2323
_ => continue,
2424
}
2525
}"#;
26-
let message = Level::Error.message("mismatched types").id("E0308").group(
26+
let message = Level::ERROR.message("mismatched types").id("E0308").group(
2727
Group::new().element(
2828
Snippet::source(source)
2929
.line_start(51)

examples/highlight_source.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
1+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
22

33
fn main() {
44
let source = r#"//@ compile-flags: -Z teach
@@ -9,7 +9,7 @@ const CON: Vec<i32> = vec![1, 2, 3]; //~ ERROR E0010
99
//~| ERROR cannot call non-const method
1010
fn main() {}
1111
"#;
12-
let message = Level::Error
12+
let message = Level::ERROR
1313
.message("allocations are not allowed in constants")
1414
.id("E0010")
1515
.group(
@@ -26,7 +26,7 @@ fn main() {}
2626
),
2727
)
2828
.element(
29-
Level::Note.title("The runtime heap is not yet available at compile-time, so no runtime heap allocations can be created."),
29+
Level::NOTE.title("The runtime heap is not yet available at compile-time, so no runtime heap allocations can be created."),
3030
),
3131
);
3232

examples/highlight_title.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use annotate_snippets::{AnnotationKind, Group, Level, Renderer, Snippet};
1+
use annotate_snippets::{level::Level, AnnotationKind, Group, Renderer, Snippet};
22
use anstyle::Effects;
33

44
fn main() {
@@ -43,7 +43,7 @@ fn main() {
4343
magenta.render_reset()
4444
);
4545

46-
let message = Level::Error.message("mismatched types").id("E0308").group(
46+
let message = Level::ERROR.message("mismatched types").id("E0308").group(
4747
Group::new()
4848
.element(
4949
Snippet::source(source)
@@ -60,7 +60,7 @@ fn main() {
6060
.label("arguments to this function are incorrect"),
6161
),
6262
)
63-
.element(Level::Note.title(&title)),
63+
.element(Level::NOTE.title(&title)),
6464
);
6565

6666
let renderer = Renderer::styled().anonymized_line_numbers(true);

0 commit comments

Comments
 (0)