LSPClient
A client that connects a kodemirror editor to a language server.
Deviation from upstream: upstream @codemirror/lsp-client owns the JSON-RPC Transport and serializes/deserializes LSP messages itself. In kodemirror the consumer instead provides a LanguageServer — the typed suspend interface from com.monkopedia.lsp — and this client simply wraps it. That means transport, framing and JSON-RPC concerns live entirely in the provided LanguageServer implementation (e.g. backed by lsp-ksrpc), and this class focuses on lifecycle (initialize/initialized/shutdown) and exposing typed suspend calls plus serverCapabilities.
Parameters
The language server implementation supplied by the consumer.
Client configuration. See LSPClientConfig.
Properties
The full result of the initialize request, or null until initialized.
Whether initialize has completed successfully.
The LanguageClient the consumer registers as the client side of their transport (e.g. ksrpc's connectAsLspClient).
The capabilities reported by the server during initialize, or null if the client has not been initialized yet.