Backlog item 1, combined (1a+1b) now that semantic tokens (#23) is on main. Lets servers tell us cached inlay hints / semantic tokens are stale and have the client re-pull, instead of the on-demand- only v1 model. - src/lsp.rs: advertise workspace.inlayHint.refreshSupport=true and workspace.semanticTokens.refreshSupport=true. - builtin/runtime/lsp.lua: generalize the L3 workspace/applyEdit pump into handle_server_requests; add branches for workspace/inlayHint/refresh and workspace/semanticTokens/refresh — reply null per spec, then repull_for_attachments re-issues the matching request (request_inlay_hint / request_semantic_tokens) for every attached document on that server. Fire-and-forget; the response absorbs via its existing route like the command path. Only attachment servers are drained (directly-spawned test servers untouched). - pmacs_fake_lsp.rs: `inlayrefresh` / `semantictokensrefresh` modes send the respective server→client refresh request at `initialized` (mirrors the wsconfig pattern). - tests/m4_acceptance.rs: m4_18 / m4_19 attach via config and assert the store populates purely from the server-driven refresh chain — no explicit inlay_hints()/semantic_tokens() call. Gates: lib 1285/0, m4 74/0, m8_1 10/0, m8_9 26/0, m8_10 19/0, m9_1 18/0, m5_8 5/0, m11_5 (--features crdt) 2/0; fmt + clippy clean. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| async.lua | ||
| fs.lua | ||
| lsp.lua | ||
| mcp.lua | ||
| syntax.lua | ||