From 23a2288aff8dd37fe395c7a15091e3b9a59d1c07 Mon Sep 17 00:00:00 2001 From: Yuriy Gabuev Date: Tue, 1 Nov 2022 14:13:03 +0100 Subject: [PATCH] Fix `delete_char_backward` for paired characters When backward-deleting a character, if this character and the following character form a Pair, we want to delete both. However, there is a bug that deletes both characters also if both characters are closers of some Pair. This commit fixes that by adding an additional check that the deleted character should be an opener in a Pair. Closes https://github.com/helix-editor/helix/issues/4544. --- helix-term/src/commands.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index adb4802d8f45..354394312278 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -3198,6 +3198,7 @@ pub mod insert { (Some(_x), Some(_y), Some(ap)) if range.is_single_grapheme(text) && ap.get(_x).is_some() + && ap.get(_x).unwrap().open == _x && ap.get(_x).unwrap().close == _y => // delete both autopaired characters {