Display something

This commit is contained in:
Kirill Bulatov 2023-12-15 17:38:52 +02:00
parent c1f8929e43
commit 3586bf8b6b
3 changed files with 27 additions and 12 deletions

View file

@ -741,11 +741,13 @@ impl Render for LspLogToolbarItemView {
let _server_selected = current_server.is_some(); let _server_selected = current_server.is_some();
let lsp_menu = h_stack() let lsp_menu = h_stack()
.size_full()
.child(Self::render_language_server_menu_header(current_server, cx)) .child(Self::render_language_server_menu_header(current_server, cx))
.children(if self.menu_open { .children(if self.menu_open {
Some( Some(
overlay().child( overlay().child(
v_stack() v_stack()
.size_full()
// todo!() // todo!()
// .scrollable::<LspLogScroll>(0, None, cx) // .scrollable::<LspLogScroll>(0, None, cx)
.children(menu_rows.into_iter().map(|row| { .children(menu_rows.into_iter().map(|row| {
@ -769,11 +771,11 @@ impl Render for LspLogToolbarItemView {
// .with_hoverable(true) // .with_hoverable(true)
// .with_fit_mode(OverlayFitMode::SwitchAnchor) // .with_fit_mode(OverlayFitMode::SwitchAnchor)
// .with_anchor_corner(AnchorCorner::TopLeft) // .with_anchor_corner(AnchorCorner::TopLeft)
// .with_z_index(999),
) )
} else { } else {
None None
}); })
.z_index(99);
let log_cleanup_button = div() let log_cleanup_button = div()
.child(Label::new("Clear")) .child(Label::new("Clear"))
@ -794,6 +796,7 @@ impl Render for LspLogToolbarItemView {
.cursor(CursorStyle::PointingHand); .cursor(CursorStyle::PointingHand);
h_stack() h_stack()
.size_full()
.child(lsp_menu) .child(lsp_menu)
.child(log_cleanup_button) .child(log_cleanup_button)
.border_1() .border_1()
@ -897,6 +900,7 @@ impl LspLogToolbarItemView {
cx: &mut ViewContext<Self>, cx: &mut ViewContext<Self>,
) -> Div { ) -> Div {
v_stack() v_stack()
.size_full()
.child(Label::new(format!("{} ({})", name.0, worktree_root_name))) .child(Label::new(format!("{} ({})", name.0, worktree_root_name)))
.child( .child(
div() div()
@ -911,6 +915,7 @@ impl LspLogToolbarItemView {
) )
.child( .child(
h_stack() h_stack()
.size_full()
.child(Label::new(RPC_MESSAGES)) .child(Label::new(RPC_MESSAGES))
.child( .child(
Checkbox::new( Checkbox::new(
@ -940,6 +945,7 @@ impl LspLogToolbarItemView {
) )
.border_1() .border_1()
.border_color(red()) .border_color(red())
.bg(red())
} }
} }

View file

@ -319,7 +319,7 @@ impl SyntaxTreeView {
anonymous_node_style.color = color; 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() { if let Some(field_name) = cursor.field_name() {
let mut field_style = style.clone(); let mut field_style = style.clone();
if let Some(color) = property_color { if let Some(color) = property_color {
@ -378,6 +378,8 @@ impl Render for SyntaxTreeView {
self.hover_state_changed(cx); self.hover_state_changed(cx);
} }
let mut rendered = div();
if let Some(layer) = self if let Some(layer) = self
.editor .editor
.as_ref() .as_ref()
@ -390,7 +392,7 @@ impl Render for SyntaxTreeView {
// todo!() // todo!()
// let list_hovered = state.hovered(); // let list_hovered = state.hovered();
let list_hovered = false; let list_hovered = false;
uniform_list( let list = uniform_list(
cx.view().clone(), cx.view().clone(),
"SyntaxTreeView", "SyntaxTreeView",
layer.node().descendant_count(), layer.node().descendant_count(),
@ -444,9 +446,11 @@ impl Render for SyntaxTreeView {
}), }),
) )
.text_bg(editor_colors.background); .text_bg(editor_colors.background);
rendered = rendered.child(list);
} }
div() rendered
} }
} }
@ -505,10 +509,12 @@ impl SyntaxTreeToolbarItemView {
Some( Some(
v_stack() v_stack()
.size_full()
.child(Self::render_header(&active_layer, cx)) .child(Self::render_header(&active_layer, cx))
.children(self.menu_open.then(|| { .children(self.menu_open.then(|| {
overlay().child( overlay().child(
v_stack() v_stack()
.size_full()
.children(active_buffer.syntax_layers().enumerate().map( .children(active_buffer.syntax_layers().enumerate().map(
|(ix, layer)| Self::render_menu_item(&active_layer, layer, ix, cx), |(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<Self>) -> Div { fn render_header(active_layer: &OwnedSyntaxLayerInfo, cx: &mut ViewContext<Self>) -> Div {
h_stack() h_stack()
.size_full()
.child(Label::new(active_layer.language.name())) .child(Label::new(active_layer.language.name()))
.child(Label::new(format_node_range(active_layer.node()))) .child(Label::new(format_node_range(active_layer.node())))
.on_mouse_down( .on_mouse_down(
@ -567,6 +575,7 @@ impl SyntaxTreeToolbarItemView {
// todo!() styling // todo!() styling
let _is_selected = layer.node() == active_layer.node(); let _is_selected = layer.node() == active_layer.node();
h_stack() h_stack()
.size_full()
.child(Label::new(layer.language.name().to_string())) .child(Label::new(layer.language.name().to_string()))
.child(Label::new(format_node_range(layer.node()))) .child(Label::new(format_node_range(layer.node())))
.cursor(CursorStyle::PointingHand) .cursor(CursorStyle::PointingHand)
@ -578,6 +587,7 @@ impl SyntaxTreeToolbarItemView {
) )
.border_1() .border_1()
.border_color(red()) .border_color(red())
.bg(red())
} }
} }

View file

@ -429,12 +429,11 @@ fn initialize_pane(workspace: &mut Workspace, pane: &View<Pane>, cx: &mut ViewCo
toolbar.add_item(diagnostic_editor_controls, cx); toolbar.add_item(diagnostic_editor_controls, cx);
let project_search_bar = cx.build_view(|_| ProjectSearchBar::new()); let project_search_bar = cx.build_view(|_| ProjectSearchBar::new());
toolbar.add_item(project_search_bar, cx); toolbar.add_item(project_search_bar, cx);
// let lsp_log_item = let lsp_log_item = cx.build_view(|_| language_tools::LspLogToolbarItemView::new());
// cx.add_view(|_| language_tools::LspLogToolbarItemView::new()); toolbar.add_item(lsp_log_item, cx);
// toolbar.add_item(lsp_log_item, cx); let syntax_tree_item =
// let syntax_tree_item = cx cx.build_view(|_| language_tools::SyntaxTreeToolbarItemView::new());
// .add_view(|_| language_tools::SyntaxTreeToolbarItemView::new()); toolbar.add_item(syntax_tree_item, cx);
// toolbar.add_item(syntax_tree_item, cx);
}) })
}); });
} }