From 0b97632a7c9f1b3e4849b2942f27a8b7343e3dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Fri, 18 Sep 2026 07:14:18 +0000 Subject: [PATCH] :memo: Track protocol-backed LSP helper The autocomplete helper still carries a hand-rolled JSON-RPC client (Content-Length framing, a pending-request map, server-request replies). vscode-languageserver-protocol provides all of it plus typed requests, so track the move as a task with subtasks. --- backlog.tasks | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backlog.tasks b/backlog.tasks index 4593d94..0c7db2e 100644 --- a/backlog.tasks +++ b/backlog.tasks @@ -32,6 +32,11 @@ Testing: → `src/util/__tests__/lsp-completion.ts` (`#test-utils/…`) is the helper; the suite asserts its labels (see development/testing.md § Autocomplete) → wire it into `node --test` so a test asserts the offered labels → note: `Parameters[0]` resolves only the *last* overload; use `@ts-expect-error` call sites for factory negatives, not `not.toExtend>` +☐ Drive the LSP completion helper through the LSP protocol library instead of a hand-rolled JSON-RPC client @medium + ☐ Add `vscode-languageserver-protocol` and record the tooling decision + ☐ Rewrite `src/util/__tests__/lsp-completion.ts` onto `createMessageConnection` and typed requests + ☐ Update `development/testing.md § Autocomplete` for the new client + ☐ Run `npm run verify` and check the task off Matcher: ✔ Clean up: adopt the 3-overload matcher (`src/prototype-ac2.ts`) and delete the prototypes @high @done