From 3586bf8b6ba2b275ccaa2f95dca10b45a5845cfa Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Fri, 15 Dec 2023 17:38:52 +0200 Subject: [PATCH] Display something --- crates/language_tools2/src/lsp_log.rs | 10 ++++++++-- crates/language_tools2/src/syntax_tree_view.rs | 18 ++++++++++++++---- crates/zed2/src/zed2.rs | 11 +++++------ 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/crates/language_tools2/src/lsp_log.rs b/crates/language_tools2/src/lsp_log.rs index 3c3df41442..06cdaf3bf9 100644 --- a/crates/language_tools2/src/lsp_log.rs +++ b/crates/language_tools2/src/lsp_log.rs @@ -741,11 +741,13 @@ impl Render for LspLogToolbarItemView { let _server_selected = current_server.is_some(); let lsp_menu = h_stack() + .size_full() .child(Self::render_language_server_menu_header(current_server, cx)) .children(if self.menu_open { Some( overlay().child( v_stack() + .size_full() // todo!() // .scrollable::(0, None, cx) .children(menu_rows.into_iter().map(|row| { @@ -769,11 +771,11 @@ impl Render for LspLogToolbarItemView { // .with_hoverable(true) // .with_fit_mode(OverlayFitMode::SwitchAnchor) // .with_anchor_corner(AnchorCorner::TopLeft) - // .with_z_index(999), ) } else { None - }); + }) + .z_index(99); let log_cleanup_button = div() .child(Label::new("Clear")) @@ -794,6 +796,7 @@ impl Render for LspLogToolbarItemView { .cursor(CursorStyle::PointingHand); h_stack() + .size_full() .child(lsp_menu) .child(log_cleanup_button) .border_1() @@ -897,6 +900,7 @@ impl LspLogToolbarItemView { cx: &mut ViewContext, ) -> Div { v_stack() + .size_full() .child(Label::new(format!("{} ({})", name.0, worktree_root_name))) .child( div() @@ -911,6 +915,7 @@ impl LspLogToolbarItemView { ) .child( h_stack() + .size_full() .child(Label::new(RPC_MESSAGES)) .child( Checkbox::new( @@ -940,6 +945,7 @@ impl LspLogToolbarItemView { ) .border_1() .border_color(red()) + .bg(red()) } } diff --git a/crates/language_tools2/src/syntax_tree_view.rs b/crates/language_tools2/src/syntax_tree_view.rs index 9c8ec0ee04..4c9e7529c5 100644 --- a/crates/language_tools2/src/syntax_tree_view.rs +++ b/crates/language_tools2/src/syntax_tree_view.rs @@ -319,7 +319,7 @@ impl SyntaxTreeView { anonymous_node_style.color = color; } - let mut row = h_stack(); + let mut row = h_stack().size_full(); if let Some(field_name) = cursor.field_name() { let mut field_style = style.clone(); if let Some(color) = property_color { @@ -378,6 +378,8 @@ impl Render for SyntaxTreeView { self.hover_state_changed(cx); } + let mut rendered = div(); + if let Some(layer) = self .editor .as_ref() @@ -390,7 +392,7 @@ impl Render for SyntaxTreeView { // todo!() // let list_hovered = state.hovered(); let list_hovered = false; - uniform_list( + let list = uniform_list( cx.view().clone(), "SyntaxTreeView", layer.node().descendant_count(), @@ -444,9 +446,11 @@ impl Render for SyntaxTreeView { }), ) .text_bg(editor_colors.background); + + rendered = rendered.child(list); } - div() + rendered } } @@ -505,10 +509,12 @@ impl SyntaxTreeToolbarItemView { Some( v_stack() + .size_full() .child(Self::render_header(&active_layer, cx)) .children(self.menu_open.then(|| { overlay().child( v_stack() + .size_full() .children(active_buffer.syntax_layers().enumerate().map( |(ix, layer)| Self::render_menu_item(&active_layer, layer, ix, cx), )) @@ -519,7 +525,8 @@ impl SyntaxTreeToolbarItemView { } })), ) - })), + })) + .z_index(99), ) } @@ -545,6 +552,7 @@ impl SyntaxTreeToolbarItemView { fn render_header(active_layer: &OwnedSyntaxLayerInfo, cx: &mut ViewContext) -> Div { h_stack() + .size_full() .child(Label::new(active_layer.language.name())) .child(Label::new(format_node_range(active_layer.node()))) .on_mouse_down( @@ -567,6 +575,7 @@ impl SyntaxTreeToolbarItemView { // todo!() styling let _is_selected = layer.node() == active_layer.node(); h_stack() + .size_full() .child(Label::new(layer.language.name().to_string())) .child(Label::new(format_node_range(layer.node()))) .cursor(CursorStyle::PointingHand) @@ -578,6 +587,7 @@ impl SyntaxTreeToolbarItemView { ) .border_1() .border_color(red()) + .bg(red()) } } diff --git a/crates/zed2/src/zed2.rs b/crates/zed2/src/zed2.rs index 27e32fff17..aa21a3e995 100644 --- a/crates/zed2/src/zed2.rs +++ b/crates/zed2/src/zed2.rs @@ -429,12 +429,11 @@ fn initialize_pane(workspace: &mut Workspace, pane: &View, cx: &mut ViewCo toolbar.add_item(diagnostic_editor_controls, cx); let project_search_bar = cx.build_view(|_| ProjectSearchBar::new()); toolbar.add_item(project_search_bar, cx); - // let lsp_log_item = - // cx.add_view(|_| language_tools::LspLogToolbarItemView::new()); - // toolbar.add_item(lsp_log_item, cx); - // let syntax_tree_item = cx - // .add_view(|_| language_tools::SyntaxTreeToolbarItemView::new()); - // toolbar.add_item(syntax_tree_item, cx); + let lsp_log_item = cx.build_view(|_| language_tools::LspLogToolbarItemView::new()); + toolbar.add_item(lsp_log_item, cx); + let syntax_tree_item = + cx.build_view(|_| language_tools::SyntaxTreeToolbarItemView::new()); + toolbar.add_item(syntax_tree_item, cx); }) }); }