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 Parameter | Default type |
|---|---|
Capabilities extends Partial<Transport> | Transport |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
capabilities? | Capabilities | Capabilities to declare during initialization | packages/server/src/types.ts:84 |
logger? | any | Logger instance (defaults to ConsoleLogger) | packages/server/src/types.ts:54 |
logLevel? | any | Log 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? | string | Server name (sent in initialize response) | packages/server/src/types.ts:44 |
onValidationError? | (error, message) => any | Custom validation error handler | packages/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? | number | Default request timeout in milliseconds for server-initiated requests | packages/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? | boolean | Strict 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? | boolean | Enable parameter validation for requests and notifications Defaults to true | packages/server/src/types.ts:78 |
version? | string | Server version (sent in initialize response) | packages/server/src/types.ts:49 |