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 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::<LspLogScroll>(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<Self>,
) -> 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())
}
}

View file

@ -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<Self>) -> 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())
}
}

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);
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);
})
});
}