on master help sign in
Use OR of all selections in search_selection command (#3138)

Closes #2312

commit9a496237215dc09ef8f639fc79f7e63e2309c080 authorMilanVasko <m.vasko2@gmail.com> dateWed 27 Jul 2022, 11:02 (4 years ago) parent846a6b6
1 file changed+9−3
helix-term/src/commands.rs+9−3
helix-term/src/commands.rs+9−3
@@ -1748,10 +1748,16 @@ fn extend_search_prev(cx: &mut Context) {
17481748fn search_selection(cx: &mut Context) {
17491749 let (view, doc) = current!(cx.editor);
17501750 let contents = doc.text().slice(..);
1751− let query = doc.selection(view.id).primary().fragment(contents);
1752− let regex = regex::escape(&query);
1751+
1752+ let regex = doc
1753+ .selection(view.id)
1754+ .iter()
1755+ .map(|selection| regex::escape(&selection.fragment(contents)))
1756+ .collect::<Vec<_>>()
1757+ .join("|");
1758+
1759+ let msg = format!("register '{}' set to '{}'", '/', &regex);
17531760 cx.editor.registers.get_mut('/').push(regex);
1754− let msg = format!("register '{}' set to '{}'", '/', query);
17551761 cx.editor.set_status(msg);
17561762}
17571763