aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-term/src/commands.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index ca977f80..93867ee1 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -652,8 +652,13 @@ where
let text = doc.text().slice(..);
let selection = doc.selection(view.id).clone().transform(|range| {
- search_fn(text, ch, range.head, count, inclusive)
- .map_or(range, |pos| range.put(text, pos, extend))
+ search_fn(text, ch, range.head, count, inclusive).map_or(range, |pos| {
+ if extend {
+ range.put(text, pos, true)
+ } else {
+ range.put(text, pos.saturating_sub(1), false)
+ }
+ })
});
doc.set_selection(view.id, selection);
})