Search only in active pane when using Editor::find_or_create

This commit is contained in:
Antonio Scandurra 2022-03-17 11:39:39 +01:00
parent a691c2fbdb
commit e6755f4115
2 changed files with 2 additions and 11 deletions

View file

@ -848,9 +848,10 @@ impl Editor {
if let Some(item) = project::File::from_dyn(buffer.read(cx).file())
.and_then(|file| file.project_entry_id(cx))
.and_then(|entry_id| workspace.item_for_entry(entry_id, cx))
.and_then(|entry_id| workspace.active_pane().read(cx).item_for_entry(entry_id))
.and_then(|item| item.downcast())
{
workspace.activate_item(&item, cx);
return item;
}

View file

@ -646,16 +646,6 @@ impl Workspace {
}
}
pub fn item_for_entry(
&self,
entry_id: ProjectEntryId,
cx: &AppContext,
) -> Option<Box<dyn ItemHandle>> {
self.panes()
.iter()
.find_map(|pane| pane.read(cx).item_for_entry(entry_id))
}
pub fn item_of_type<T: Item>(&self, cx: &AppContext) -> Option<ViewHandle<T>> {
self.items_of_type(cx).max_by_key(|item| item.id())
}