diff --git a/crates/breadcrumbs/src/breadcrumbs.rs b/crates/breadcrumbs/src/breadcrumbs.rs index ba91b522b76d8a33f18f18c52930e9335d0a6164..33ccb981e222ff21e3cbc69a45581a66c4c8097c 100644 --- a/crates/breadcrumbs/src/breadcrumbs.rs +++ b/crates/breadcrumbs/src/breadcrumbs.rs @@ -5,12 +5,12 @@ use gpui::{ }; use itertools::Itertools; use settings::Settings; -use std::{any::Any, cmp}; +use std::cmp; use theme::ActiveTheme; use ui::{ButtonLike, ButtonStyle, Label, Tooltip, prelude::*}; use workspace::{ TabBarSettings, ToolbarItemEvent, ToolbarItemLocation, ToolbarItemView, - item::{BreadcrumbText, ItemBufferKind, ItemEvent, ItemHandle}, + item::{BreadcrumbText, ItemEvent, ItemHandle}, }; pub struct Breadcrumbs { @@ -37,6 +37,11 @@ impl Breadcrumbs { impl EventEmitter for Breadcrumbs {} +// Potential idea: +// - Rename this to "BreadcrumbToolbar" or something +// - Create a wrapping "Breadcrumb" struct for Vec +// - Implement render for _that_ breadcrumb struct. +// - Call that from here to eliminate much of the logic. impl Render for Breadcrumbs { fn render(&mut self, window: &mut Window, cx: &mut Context) -> impl IntoElement { const MAX_SEGMENTS: usize = 12; diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index 711888820e52ae030dcbae661e056da3e4d1c4d9..11d9dcb0c173af0638ac73a92b14bc7a346b8841 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -4330,6 +4330,7 @@ impl EditorElement { }) } + // TODO This has too much code in common with Breadcrumb::render. We should find a way to DRY it. fn render_breadcrumb_text( &self, mut segments: Vec, diff --git a/crates/editor/src/items.rs b/crates/editor/src/items.rs index 51613260dfdc52b61bfd36caa1d4880f40a5ec35..738a4cff119d847f2828cf4f75e0f4a334679a1f 100644 --- a/crates/editor/src/items.rs +++ b/crates/editor/src/items.rs @@ -38,8 +38,8 @@ use std::{ sync::Arc, }; use text::{BufferId, BufferSnapshot, Selection}; -use theme::{Theme, ThemeSettings}; -use ui::{IconButtonShape, IconDecorationKind, Tooltip, prelude::*}; +use theme::Theme; +use ui::{IconDecorationKind, Tooltip, prelude::*}; use util::{ResultExt, TryFutureExt, paths::PathExt}; use workspace::{ CollaboratorId, ItemId, ItemNavHistory, ToolbarItemLocation, ViewId, Workspace, WorkspaceId,