From 713fe0f1e2d0f530d902206f212a6fd972f21c82 Mon Sep 17 00:00:00 2001 From: Mario Carneiro Date: Mon, 1 Mar 2021 00:51:16 -0800 Subject: [PATCH 1/2] fix off by one error in multiline highlighting --- src/display_list/from_snippet.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/display_list/from_snippet.rs b/src/display_list/from_snippet.rs index d32d1e0..272c063 100644 --- a/src/display_list/from_snippet.rs +++ b/src/display_list/from_snippet.rs @@ -427,9 +427,10 @@ fn format_body( }); } + let end_mark = (end - line_start).saturating_sub(1); let range = ( - (end - line_start) - margin_left, - (end - line_start + 1) - margin_left, + end_mark - margin_left, + (end_mark + 1) - margin_left, ); body.insert( body_idx + 1, From 34df93e4a8ab568625d177a7ccecf1e69f3209df Mon Sep 17 00:00:00 2001 From: Mario Carneiro Date: Mon, 1 Mar 2021 21:30:29 -0500 Subject: [PATCH 2/2] fix tests --- tests/fixtures/no-color/multiline_annotation.toml | 2 +- tests/fixtures/no-color/multiline_annotation2.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/fixtures/no-color/multiline_annotation.toml b/tests/fixtures/no-color/multiline_annotation.toml index bdb577f..c3dc1e9 100644 --- a/tests/fixtures/no-color/multiline_annotation.toml +++ b/tests/fixtures/no-color/multiline_annotation.toml @@ -33,7 +33,7 @@ range = [5, 19] [[slices.annotations]] label = "expected enum `std::option::Option`, found ()" annotation_type = "Error" -range = [22, 765] +range = [22, 766] [title] label = "mismatched types" id = "E0308" diff --git a/tests/fixtures/no-color/multiline_annotation2.toml b/tests/fixtures/no-color/multiline_annotation2.toml index 6ec0b1f..845bf9f 100644 --- a/tests/fixtures/no-color/multiline_annotation2.toml +++ b/tests/fixtures/no-color/multiline_annotation2.toml @@ -10,7 +10,7 @@ fold = false [[slices.annotations]] label = "missing fields `lineno`, `content`" annotation_type = "Error" -range = [31, 127] +range = [31, 128] [title] label = "pattern does not mention fields `lineno`, `content`"