diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 5867f3b2d6f8f20a3579592cc72c457eb49c16c6..aac0d28ead1ab3a8b51574b307bac121910dcc11 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -1183,7 +1183,7 @@ pub struct Editor { hovered_diff_hunk_row: Option, pull_diagnostics_task: Task<()>, pull_diagnostics_background_task: Task<()>, - in_project_search: bool, + pub in_project_search: bool, previous_search_ranges: Option]>>, breadcrumb_header: Option, focused_block: Option, diff --git a/crates/search/src/buffer_search.rs b/crates/search/src/buffer_search.rs index 0c488ec6505633ae70f2c9ac144aa877d7711d64..713ae54706447612f3e74a8d3bf7d94b5efdf351 100644 --- a/crates/search/src/buffer_search.rs +++ b/crates/search/src/buffer_search.rs @@ -37,7 +37,7 @@ use ui::{ }; use util::{ResultExt, paths::PathMatcher}; use workspace::{ - ToolbarItemEvent, ToolbarItemLocation, ToolbarItemView, Workspace, + DeploySearch, ToolbarItemEvent, ToolbarItemLocation, ToolbarItemView, Workspace, item::{ItemBufferKind, ItemHandle}, searchable::{ Direction, FilteredSearchRange, SearchEvent, SearchableItemHandle, WeakSearchableItemHandle, @@ -132,7 +132,7 @@ impl EventEmitter for BufferSearchBar {} impl Render for BufferSearchBar { fn render(&mut self, window: &mut Window, cx: &mut Context) -> impl IntoElement { if self.dismissed { - return div().id("search_bar"); + return div().id("search_bar").into_any_element(); } let focus_handle = self.focus_handle(cx); @@ -850,19 +850,18 @@ impl BufferSearchBar { fn active_item_is_multibuffer(&self, cx: &App) -> bool { if let Some(item) = &self.active_searchable_item { - dbg!("Calling"); let buffer_kind = item.buffer_kind(cx); - if item - .act_as_type(TypeId::of::(), cx) - .is_some() - { - dbg!("Called success"); - return false; + if buffer_kind == ItemBufferKind::Multibuffer { + if let Some(editor) = item.act_as_type(TypeId::of::(), cx) { + let editor = editor.downcast::().expect("is an editor"); + return !editor.read(cx).in_project_search; + } else { + return false; + } + } else { + false } - dbg!("Called fail"); - - buffer_kind == ItemBufferKind::Multibuffer } else { false }