From 9f9746872ed63f0cf58f34be5b2dda339d3fedb5 Mon Sep 17 00:00:00 2001 From: Smit Barmase Date: Thu, 3 Apr 2025 02:00:44 +0530 Subject: [PATCH] editor: Fix typing closing bracket skips it even when `use_autoclose` is disabled (#27960) Closes #27769 When adding snippet we were not respecting autoclose setting, before creating AutocloseRegion. This leads to cursor to skip over instead of typing that character. This PR fixes it. Release Notes: - Fixed certain case where typing closing bracket would skip it when auto close setting is turned off. --- crates/editor/src/editor.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index cb516c59c1..d1e19a20e9 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -7876,13 +7876,18 @@ impl Editor { } } if let Some(pair) = bracket_pair { - let start = snapshot.anchor_after(selection_head); - let end = snapshot.anchor_after(selection_head); - self.autoclose_regions.push(AutocloseRegion { - selection_id: selection.id, - range: start..end, - pair, - }); + let snapshot_settings = snapshot.language_settings_at(selection_head, cx); + let autoclose_enabled = + self.use_autoclose && snapshot_settings.use_autoclose; + if autoclose_enabled { + let start = snapshot.anchor_after(selection_head); + let end = snapshot.anchor_after(selection_head); + self.autoclose_regions.push(AutocloseRegion { + selection_id: selection.id, + range: start..end, + pair, + }); + } } } }