From b7dd12e53e3a9774dfb9da378c1a9e9683c89a85 Mon Sep 17 00:00:00 2001 From: KCaverly Date: Thu, 17 Aug 2023 11:11:09 +0100 Subject: [PATCH] ensured search results are cleared appropriately while cycling modes --- crates/search/src/project_search.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index 065b8d0880..e15bd0e27a 100644 --- a/crates/search/src/project_search.rs +++ b/crates/search/src/project_search.rs @@ -673,9 +673,22 @@ impl ProjectSearchView { } } + fn clear_search(&mut self, cx: &mut ViewContext) { + self.model.update(cx, |model, cx| { + model.pending_search = None; + model.no_results = None; + model.match_ranges.clear(); + + model.excerpts.update(cx, |excerpts, cx| { + excerpts.clear(cx); + }); + }); + } + fn activate_search_mode(&mut self, mode: SearchMode, cx: &mut ViewContext) { + self.clear_search(cx); + let previous_mode = self.current_mode; - log::error!("Going from {previous_mode:?} to {:?}", mode); if previous_mode == mode { return; } @@ -684,7 +697,6 @@ impl ProjectSearchView { match mode { SearchMode::Semantic => { - dbg!("Matched on Semantic"); let has_permission = self.semantic_permissioned(cx); self.active_match_index = None; cx.spawn(|this, mut cx| async move { @@ -738,9 +750,6 @@ impl ProjectSearchView { } } - if let Some(query) = self.build_search_query(cx) { - self.search(cx); - }; cx.notify(); } fn new(model: ModelHandle, cx: &mut ViewContext) -> Self {