Skip to content

lspeasy / server/src / ServerOptions

Interface: ServerOptions<Capabilities>

Defined in: packages/server/src/types.ts:38

Configuration for an LSPServer instance.

Remarks

Passed to the LSPServer constructor. All fields are optional; the server works with zero configuration and sensible defaults.

Config

Type Parameters

Type ParameterDefault type
Capabilities extends Partial<Transport>Transport

Properties

PropertyTypeDescriptionDefined in
capabilities?CapabilitiesCapabilities to declare during initializationpackages/server/src/types.ts:84
logger?anyLogger instance (defaults to ConsoleLogger)packages/server/src/types.ts:54
logLevel?anyLog level (defaults to 'info')packages/server/src/types.ts:59
middleware?any[]Optional middleware chain for clientToServer/serverToClient messages.packages/server/src/types.ts:122
name?stringServer name (sent in initialize response)packages/server/src/types.ts:44
onValidationError?(error, message) => anyCustom validation error handlerpackages/server/src/types.ts:69
preInitializeMethods?string[]Request methods allowed to be answered before the initialize handshake completes, in addition to initialize/shutdown themselves. Remarks Use for cheap, non-LSP meta-endpoints (health checks, status queries) that a caller may need to reach without paying for a full session bring-up. Methods here must still be registered via onRequest as usual — this only exempts them from the serverNotInitialized gate.packages/server/src/types.ts:110
requestTimeout?numberDefault request timeout in milliseconds for server-initiated requestspackages/server/src/types.ts:64
resolveCapabilities?(params) => Capabilities | Promise<Capabilities>Resolve the capabilities to advertise for a specific connection, computed from that connection's initialize params. Remarks Takes precedence over registerCapabilities() for the value returned in InitializeResult only. registerCapabilities() still governs the compile-time capability-aware namespaces and the handler-registration guard, both of which must remain static — handlers register once, before any connection exists, so they cannot depend on a specific connection's resolved capabilities.packages/server/src/types.ts:98
strictCapabilities?booleanStrict capability checking mode When true, throws error if handler registered for unsupported capability When false, logs warning and allows registration (default: false)packages/server/src/types.ts:117
validateParams?booleanEnable parameter validation for requests and notifications Defaults to truepackages/server/src/types.ts:78
version?stringServer version (sent in initialize response)packages/server/src/types.ts:49

Released under the MIT License.