You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: document Monaco native LSP client as playground enhancement opportunity
Track monaco.lsp (v0.55.0) as a potential simplification for the playground,
including what it provides, current blockers, and adoption recommendation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backends could extend this base instead of duplicating the boilerplate.
126
126
127
-
### 4. Backend Registry Pattern
127
+
### 4. Monaco Native LSP Client (`monaco.lsp`)
128
+
129
+
Monaco Editor v0.55.0 (November 2025) introduced a built-in LSP client under `monaco.lsp` that could significantly simplify the playground. The current playground manually handles JSON-RPC, the LSP handshake, position conversion, diagnostics, and hover registration (~200 lines per backend). With `monaco.lsp`, this reduces to ~10-15 lines per backend.
-**API not stable** — the author (hediet, Microsoft) explicitly warned the API may change
153
+
-**No custom initialization params** — sends `rootUri: null`, `processId: null` with no way to customize. The playground backends need specific `initializationOptions`
154
+
-**Global registration** — providers register for all models, not per-language
**Recommendation:** Monitor the API stability across v0.56.0+. The lack of custom `initializationOptions` is the main blocker for adoption. Once that is addressed, migrating the playground would eliminate significant boilerplate and gain features (completion, semantic tokens, rename, etc.) for free.
0 commit comments