Pure Lua on the phase-1 substrate (framing Q#P5). Outline: lsp.document-symbols (C-c o) opens *outline* -- the store's FLAT symbol rows indent by their depth field with an LSP SymbolKind tag; RET pushes the jump ring, restores the source buffer, and moves to the symbol (M-, returns to the outline row, the references-panel semantics). Code actions: lsp.code-actions (C-c a) applies a single action directly (previous behavior, now correct instead of lucky) and opens the minibuffer dropdown when several are available -- 'N: title' candidates; a bare typed index also accepts. The apply branch is extracted as apply_code_action, shared by both paths. The m4_14/m4_15 acceptance tests (written against blind-first-apply; the fake LSP returns two actions) now drive the picker: pump until the prompt is live, type '1', RET -- same command-only action as before. Hover doc: new lsp.hover-doc (C-c H) renders the full multi-line hover contents into a non-visitable *lsp-help* panel; lsp.hover (C-c h) keeps its one-line echo-area summary. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| commands | ||
| hooks | ||
| keymaps | ||
| menus | ||
| packages/repl | ||
| runtime | ||