@@ -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;
@@ -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>,
@@ -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,