Skip to content

@jsvision/code-editor / InProcessLspSession

Class: InProcessLspSession

Defined in: code-editor/src/lsp/session.ts:49

Deterministic transport-neutral session used by hosts and tests.

Example

ts
const session = createInProcessLspSession({ capabilities: { hover: true } });

Constructors

Constructor

new InProcessLspSession(options): InProcessLspSession

Defined in: code-editor/src/lsp/session.ts:62

Parameters

options

CreateInProcessLspSessionOptions

Returns

InProcessLspSession

Properties

capabilities

capabilities: Readonly<CodeEditorLspCapabilities>

Defined in: code-editor/src/lsp/session.ts:52


contractVersion

readonly contractVersion: 1

Defined in: code-editor/src/lsp/session.ts:50


generation

generation: number = 1

Defined in: code-editor/src/lsp/session.ts:56


notificationOrdering

readonly notificationOrdering: "synchronous-enqueue"

Defined in: code-editor/src/lsp/session.ts:51


notifications

readonly notifications: LspRecordedNotification[] = []

Defined in: code-editor/src/lsp/session.ts:54


requests

readonly requests: LspRecordedRequest[] = []

Defined in: code-editor/src/lsp/session.ts:53


state

state: CodeEditorLspSessionState = 'ready'

Defined in: code-editor/src/lsp/session.ts:55

Methods

cancel()

cancel(id): void

Defined in: code-editor/src/lsp/session.ts:96

Cancels one pending request without relying on transport support for correctness.

Parameters

id

number

Returns

void


deliverEnvelope()

deliverEnvelope(_envelope): void

Defined in: code-editor/src/lsp/session.ts:149

Accepts an untrusted envelope without throwing or executing its content.

Parameters

_envelope

unknown

Returns

void


fail()

fail(id, error): void

Defined in: code-editor/src/lsp/session.ts:110

Fails a matching pending operation.

Parameters

id

number | undefined

error

Error

Returns

void


markReady()

markReady(): void

Defined in: code-editor/src/lsp/session.ts:167

Marks a successful resynchronization ready.

Returns

void


notify()

notify(method, params): Promise<void>

Defined in: code-editor/src/lsp/session.ts:89

Records an ordered notification.

Parameters

method

string

params

Readonly<Record<string, unknown>>

Returns

Promise<void>


publishDiagnostics()

publishDiagnostics(uri, version, diagnostics, metadata?): void

Defined in: code-editor/src/lsp/session.ts:124

Publishes diagnostics to subscribed coordinators.

Parameters

uri

string

version

number | undefined

diagnostics

unknown

metadata?
generation

number

Returns

void


reconnect()

reconnect(): void

Defined in: code-editor/src/lsp/session.ts:134

Advances the session generation and requires coordinators to resynchronize.

Returns

void


request()

request(id, method, params, listener): void

Defined in: code-editor/src/lsp/session.ts:74

Records and activates a previously reserved request.

Parameters

id

number

method

string

params

Readonly<Record<string, unknown>>

listener

ResponseListener

Returns

void


reserveRequestId()

reserveRequestId(): number

Defined in: code-editor/src/lsp/session.ts:67

Reserves an identifier before a request is allowed through a resynchronization gate.

Returns

number


respond()

respond(id, result): void

Defined in: code-editor/src/lsp/session.ts:101

Delivers a test response to the matching pending request.

Parameters

id

number | undefined

result

unknown

Returns

void


subscribeDiagnostics()

subscribeDiagnostics(listener): () => void

Defined in: code-editor/src/lsp/session.ts:155

Subscribes to server-published diagnostics.

Parameters

listener

DiagnosticListener

Returns

() => void


subscribeState()

subscribeState(listener): () => void

Defined in: code-editor/src/lsp/session.ts:161

Subscribes to connection-generation changes.

Parameters

listener

StateListener

Returns

() => void


timeout()

timeout(id): void

Defined in: code-editor/src/lsp/session.ts:119

Produces the same operation-local failure as an interactive timeout.

Parameters

id

number | undefined

Returns

void


updateCapabilities()

updateCapabilities(capabilities): void

Defined in: code-editor/src/lsp/session.ts:144

Replaces negotiated capabilities after a dynamic registration change.

Parameters

capabilities

CodeEditorLspCapabilities

Returns

void