aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuriy Gabuev2022-11-01 14:48:43 +0000
committerGitHub2022-11-01 14:48:43 +0000
commitc803ef8753bc828c9c68f40878d9467ead50dc0d (patch)
tree1bf3ff9bfa1c622217668ea9692d7342d413dbdd
parent8ff92c749287fb3ac4a68661d0ee99cb56cc6295 (diff)
Fix `delete_char_backward` for paired characters (#4558)
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.
-rw-r--r--helix-term/src/commands.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index adb4802d..35439431 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
{