From 4d68bf2fa6c619d98c3d03e04baaa7f98ee95a68 Mon Sep 17 00:00:00 2001 From: Thorsten Ball Date: Mon, 8 Apr 2024 17:59:25 +0200 Subject: [PATCH] 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 --- 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 eb67ae5151..036e9964ff 100644 --- a/crates/language/src/buffer.rs +++ b/crates/language/src/buffer.rs @@ -2754,10 +2754,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; }