diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index ddb7e987aaf56b8a1dbd11d8220107c84f972471..45b72ed27f3efe6272987755df74d7e1aaadf911 100644 --- a/crates/search/src/project_search.rs +++ b/crates/search/src/project_search.rs @@ -728,10 +728,11 @@ impl ProjectSearchView { if let Some(query) = query { let query = query.with_replacement(self.replacement(cx)); - // TODO: Do we need the clone here? - let mat = self.entity.read(cx).match_ranges[active_index].clone(); + let mat = self.entity.read(cx).match_ranges.get(active_index).cloned(); self.results_editor.update(cx, |editor, cx| { - editor.replace(&mat, &query, window, cx); + if let Some(mat) = mat.as_ref() { + editor.replace(mat, &query, window, cx); + } }); self.select_match(Direction::Next, window, cx) }