diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index d45347bc..d7d5b7fc 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -985,10 +985,6 @@ impl Renderer { // | vertical divider between the column number and the code // column number - if line_info.line_index == 0 { - return Vec::new(); - } - let source_string = normalize_whitespace(line_info.line); let line_offset = buffer.num_lines(); diff --git a/tests/formatter.rs b/tests/formatter.rs index dccd0d26..c00fe164 100644 --- a/tests/formatter.rs +++ b/tests/formatter.rs @@ -4281,3 +4281,48 @@ warning: whatever let renderer = renderer.decor_style(DecorStyle::Unicode); assert_data_eq!(renderer.render(report), expected_unicode); } + +#[test] +fn alignment() { + let source = "SELECT bar"; + + let title = "ensure single line at line 0 rendered correctly with group line lined up"; + + let input = &[ + Group::with_title(Level::ERROR.primary_title(title)).element( + Snippet::source(source) + .path("Cargo.toml") + .line_start(0) + .annotation( + AnnotationKind::Primary + .span(7..10) + .label("unexpected token"), + ) + .annotation( + AnnotationKind::Visible + .span(0..10) + .label("while parsing statement"), + ), + ), + ]; + + let expected_ascii = str![[r#" +error: ensure single line at line 0 rendered correctly with group line lined up + --> Cargo.toml:0:8 + | +0 | SELECT bar + | ^^^ unexpected token +"#]]; + let renderer = Renderer::plain(); + assert_data_eq!(renderer.render(input), expected_ascii); + + let expected_unicode = str![[r#" +error: ensure single line at line 0 rendered correctly with group line lined up + ╭▸ Cargo.toml:0:8 + │ +0 │ SELECT bar + ╰╴ ━━━ unexpected token +"#]]; + let renderer = renderer.decor_style(DecorStyle::Unicode); + assert_data_eq!(renderer.render(input), expected_unicode); +}