From 3bd554557782ff4c3c5d2f686f01c4a84aab6e41 Mon Sep 17 00:00:00 2001 From: Ryang Sohn Date: Tue, 14 Jun 2022 22:37:40 +0900 Subject: [PATCH] Add a check to prevent re-selecting same range (#2760) --- helix-term/src/commands.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 628fd8fb..c9c8e6a9 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -3770,12 +3770,15 @@ fn expand_selection(cx: &mut Context) { let text = doc.text().slice(..); let current_selection = doc.selection(view.id); + let selection = object::expand_selection(syntax, text, current_selection.clone()); - // save current selection so it can be restored using shrink_selection - view.object_selections.push(current_selection.clone()); + // check if selection is different from the last one + if *current_selection != selection { + // save current selection so it can be restored using shrink_selection + view.object_selections.push(current_selection.clone()); - let selection = object::expand_selection(syntax, text, current_selection.clone()); - doc.set_selection(view.id, selection); + doc.set_selection(view.id, selection); + } } }; motion(cx.editor);