crates/language_tools/src/lsp_log.rs 🔗
@@ -1237,21 +1237,29 @@ impl Render for LspLogToolbarItemView {
view.show_rpc_trace_for_server(row.server_id, cx);
}),
);
- menu = menu.entry(
- SERVER_CAPABILITIES,
- None,
- cx.handler_for(&log_view, move |view, cx| {
- view.show_capabilities_for_server(row.server_id, cx);
- }),
- );
if server_selected && row.selected_entry == LogKind::Rpc {
let selected_ix = menu.select_last();
+ // Each language server has:
+ // 1. A title.
+ // 2. Server logs.
+ // 3. Server trace.
+ // 4. RPC messages.
+ // 5. Server capabilities
+ // Thus, if nth server's RPC is selected, the index of selected entry should match this formula
+ let _expected_index = ix * 5 + 3;
debug_assert_eq!(
- Some(ix * 4 + 3),
+ Some(_expected_index),
selected_ix,
"Could not scroll to a just added LSP menu item"
);
}
+ menu = menu.entry(
+ SERVER_CAPABILITIES,
+ None,
+ cx.handler_for(&log_view, move |view, cx| {
+ view.show_capabilities_for_server(row.server_id, cx);
+ }),
+ );
}
menu
})