summaryrefslogtreecommitdiff
path: root/helix-term
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term')
-rw-r--r--helix-term/src/commands.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 3adb1f29..1c5cbf40 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -1748,10 +1748,16 @@ fn extend_search_prev(cx: &mut Context) {
fn search_selection(cx: &mut Context) {
let (view, doc) = current!(cx.editor);
let contents = doc.text().slice(..);
- let query = doc.selection(view.id).primary().fragment(contents);
- let regex = regex::escape(&query);
+
+ let regex = doc
+ .selection(view.id)
+ .iter()
+ .map(|selection| regex::escape(&selection.fragment(contents)))
+ .collect::<Vec<_>>()
+ .join("|");
+
+ let msg = format!("register '{}' set to '{}'", '/', &regex);
cx.editor.registers.get_mut('/').push(regex);
- let msg = format!("register '{}' set to '{}'", '/', query);
cx.editor.set_status(msg);
}