From d43f95db5f58f9682573d2fe8758e5e4e7317216 Mon Sep 17 00:00:00 2001 From: "gcp-cherry-pick-bot[bot]" <98988430+gcp-cherry-pick-bot[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 11:38:55 -0600 Subject: [PATCH] Fix panic when deleting just-generated text (cherry-pick #10282) (#10287) Cherry-picked Fix panic when deleting just-generated text (#10282) We ran into a panic when deleting text that was just generated by a code action. This fixes it by ensuring we don't run into a 0-minus-1 panic when a buffer_range is empty. Release Notes: - Fixed panic that could occur when deleting generated-by-unsaved text. Co-authored-by: Conrad Co-authored-by: Thorsten Ball Co-authored-by: Conrad --- crates/language/src/buffer.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/language/src/buffer.rs b/crates/language/src/buffer.rs index 1220890958cb40ffbec38429e9982a79e14cdba8..3d754dbc951bc22567a47cc4f5cad2d42100fa62 100644 --- a/crates/language/src/buffer.rs +++ b/crates/language/src/buffer.rs @@ -2777,10 +2777,13 @@ impl BufferSnapshot { range.start + self.line_len(start.row as u32) as usize - start.column; } - buffer_ranges.push((range, node_is_name)); + if !range.is_empty() { + buffer_ranges.push((range, node_is_name)); + } } if buffer_ranges.is_empty() { + matches.advance(); continue; }