Skip to content

rune-langium / lsp-server/src / RuneLspServer

Interface: RuneLspServer

Defined in: packages/lsp-server/src/rune-dsl-server.ts:58

A fully-wired Rune DSL LSP server instance.

Remarks

Returned by createRuneLspServer. Exposes the underlying @lspeasy/server instance and Langium services for advanced use cases (testing, custom middleware, capability introspection).

Pitfalls

  • Do NOT call listen() before the server is fully initialized — all Langium providers are registered during createRuneLspServer() synchronously via startLanguageServer(shared). The server is ready to accept connections as soon as this factory function returns.
  • Diagnostics are sent as textDocument/publishDiagnostics notifications (not responses). Clients must register a notification handler; they will not appear as request responses.
  • Do NOT access shared or services from a concurrent request handler without understanding Langium's document locking model — document builds and index updates are not thread-safe.

Properties

PropertyTypeDescriptionDefined in
serverLSPServer<ServerCapabilities<any>>The underlying @lspeasy/server instance.packages/lsp-server/src/rune-dsl-server.ts:60
servicesLangiumServicesLangium language services for Rune DSL.packages/lsp-server/src/rune-dsl-server.ts:64
sharedLangiumSharedServicesLangium shared services (for testing / advanced use).packages/lsp-server/src/rune-dsl-server.ts:62

Methods

listen()

ts
listen(transport): Promise<void>;

Defined in: packages/lsp-server/src/rune-dsl-server.ts:66

Bind the server to a transport and start processing messages.

Parameters

ParameterType
transportTransport

Returns

Promise<void>

Core packages released under MIT. Studio app released under FSL-1.1-ALv2.