Clean up imports, and leave a note-to-self on refactoring improvement.

KyleBarton created

Change summary

crates/breadcrumbs/src/breadcrumbs.rs | 9 +++++++--
crates/editor/src/element.rs          | 1 +
crates/editor/src/items.rs            | 4 ++--
3 files changed, 10 insertions(+), 4 deletions(-)

Detailed changes

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<ToolbarItemEvent> for Breadcrumbs {}
 
+// Potential idea:
+// - Rename this to "BreadcrumbToolbar" or something
+// - Create a wrapping "Breadcrumb" struct for Vec<BreadcrumbText>
+// - 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<Self>) -> impl IntoElement {
         const MAX_SEGMENTS: usize = 12;

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<BreadcrumbText>,

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,