diff options
author | Ryang Sohn | 2022-06-14 13:37:40 +0000 |
---|---|---|
committer | GitHub | 2022-06-14 13:37:40 +0000 |
commit | 3bd554557782ff4c3c5d2f686f01c4a84aab6e41 (patch) | |
tree | edea2e0737214fdc758ee6de20212ff314da65f7 /helix-term | |
parent | d7bd4416754fb4e3051c3ceedd5fd525b0361ef8 (diff) |
Add a check to prevent re-selecting same range (#2760)
Diffstat (limited to 'helix-term')
-rw-r--r-- | helix-term/src/commands.rs | 11 |
1 files 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); |