Skip to content

Commit 3a561d4

Browse files
committed
fix: Show full line when patch span is points to line end
1 parent de04397 commit 3a561d4

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/renderer/source_map.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ impl<'a> SourceMap<'a> {
130130
}
131131
lines.push(line_info);
132132
}
133+
134+
if lines.is_empty() && !self.lines.is_empty() {
135+
lines.push(self.lines.last().unwrap());
136+
}
137+
133138
lines
134139
}
135140

tests/formatter.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3725,8 +3725,8 @@ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
37253725
|
37263726
help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
37273727
|
3728-
3 | // Span after line end
3729-
|
3728+
3 | [1, 2, 3].into_iter().for_each(|n| { *n; }); // Span after line end
3729+
| ++++++++++++++++++++++
37303730
"#]];
37313731
let renderer = Renderer::plain();
37323732
assert_data_eq!(renderer.render(input), expected_ascii);
@@ -3748,8 +3748,8 @@ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
37483748
╰╴
37493749
help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
37503750
╭╴
3751-
3 │ // Span after line end
3752-
╰╴
3751+
3 │ [1, 2, 3].into_iter().for_each(|n| { *n; }); // Span after line end
3752+
╰╴ ++++++++++++++++++++++
37533753
"#]];
37543754
let renderer = renderer.decor_style(DecorStyle::Unicode);
37553755
assert_data_eq!(renderer.render(input), expected_unicode);
@@ -3817,8 +3817,8 @@ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
38173817
|
38183818
help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
38193819
|
3820-
3 | // Span after line end
3821-
|
3820+
3 | [1, 2, 3].into_iter().for_each(|n| { *n; }); // Span after line end
3821+
| ++++++++++++++++++++++
38223822
"#]];
38233823
let renderer = Renderer::plain();
38243824
assert_data_eq!(renderer.render(input), expected_ascii);
@@ -3840,8 +3840,8 @@ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
38403840
╰╴
38413841
help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
38423842
╭╴
3843-
3 │ // Span after line end
3844-
╰╴
3843+
3 │ [1, 2, 3].into_iter().for_each(|n| { *n; }); // Span after line end
3844+
╰╴ ++++++++++++++++++++++
38453845
"#]];
38463846
let renderer = renderer.decor_style(DecorStyle::Unicode);
38473847
assert_data_eq!(renderer.render(input), expected_unicode);

0 commit comments

Comments
 (0)