on master help sign in
Use OR of all selections in search_selection command (#3138)
9a49623MilanVasko
helix-term/src/commands.rs+9−3
@@ -1748,10 +1748,16 @@ fn extend_search_prev(cx: &mut Context) {
1748fn search_selection(cx: &mut Context) {
1748fn search_selection(cx: &mut Context) {
1749 let (view, doc) = current!(cx.editor);
1749 let (view, doc) = current!(cx.editor);
1750 let contents = doc.text().slice(..);
1750 let contents = doc.text().slice(..);
1751+
1752+ let regex = doc
1751− let query = doc.selection(view.id).primary().fragment(contents);
1753+ .selection(view.id)
1752− let regex = regex::escape(&query);
1754+ .iter()
1755+ .map(|selection| regex::escape(&selection.fragment(contents)))
1756+ .collect::<Vec<_>>()
1757+ .join("|");
1758+
1759+ let msg = format!("register '{}' set to '{}'", '/', &regex);
1753 cx.editor.registers.get_mut('/').push(regex);
1760 cx.editor.registers.get_mut('/').push(regex);
1754− let msg = format!("register '{}' set to '{}'", '/', query);
1755 cx.editor.set_status(msg);
1761 cx.editor.set_status(msg);
1756}
1762}
1757
1763