Expand description
LSP-specific help-buffer factories (DESIGN.md §5.11).
These produce [lattice_help::HelpContent] from LSP runtime state
(the diagnostics layer, supervisor, logger, etc.). They live in
lattice-lsp rather than lattice-help because they read LSP
types – the help crate has no awareness of LSP and should stay
that way (one extension model, one substrate). Callers in the
editor App invoke these directly when servicing
:diagnostics / :lsp-status / :lsp-log / :references.
Each function returns an unsyntaxed [HelpContent]; help buffers
receive their markdown syntax and link styling from the live
cells-worker DisplayMatrix once displayed.
Functions§
- diagnostics_
help - Build a help buffer listing every workspace diagnostic
(Phase 4.1.d.iv). Each diagnostic renders as one
[severity] [path:line:col message](file:path:line)row – the markdown link is parsed byextract_links_and_cleaninto aHelpLinkTarget::Sourcethat the existingdo_help_follow_linkpath knows how to dispatch (jumps to the file at the given line). - lsp_
global_ log_ help - Build the
*lsp*subsystem-wide log view (Phase 4.1.g). Snapshotslogger.snapshot_global()and renders one row per record:<timestamp> <level> <source> <message>. - lsp_
server_ log_ help - Build a per-instance log view (
*lsp:<server>:<workspace>*). Filters out trace records (those land inlsp_server_trace_help). - lsp_
server_ log_ listing_ help - Build the
:lsp-server-logpicker – one row per running actor with workspace root + buffer count + capability summary in the margin, each row carrying anexec:link to its log + trace. Use/query(vim regex search) to filter; press<CR>on a link to open. A real fuzzy picker arrives with the bundled fuzzy-finder plugin (Phase 8b); for now this listing keeps everything reachable through the existing help-buffer machinery. - lsp_
server_ trace_ help - Build the JSON-RPC trace view
(
*lsp:<server>:<workspace>:trace*). Filters toLogSource::Tracerecords only. Empty when trace mode hasn’t been on. - lsp_
status_ help - Build the
:lsp-statusview – one row per running actor (id, workspace root, server-side capability summary). - summarise_
capabilities - One-line summary of a server’s negotiated capabilities. Used in
the
:lsp-server-logpicker margin so a glance tells the user “this server has hover + completion but not references” without having to dig into:lsp-status.