@@ -1161,7 +1161,10 @@ fn search_impl(doc: &mut Document, view: &mut View, contents: &str, regex: &Rege
1161 let selection = if extend {
1161 let selection = if extend {
1162 selection.clone().push(Range::new(start, end))
1162 selection.clone().push(Range::new(start, end))
1163 } else {
1163 } else {
1164− Selection::single(start, end)
1164+ selection
1166+ .remove(selection.primary_index())
1167+ .push(Range::new(start, end))
1167 doc.set_selection(view.id, selection);
1170 doc.set_selection(view.id, selection);