Skip to content

@jsvision/code-editor / CodeEditorLspCoordinator

Class: CodeEditorLspCoordinator

Defined in: code-editor/src/lsp/coordinator.ts:72

Coordinates one document with an optional transport-neutral LSP session.

Example

ts
const coordinator = new CodeEditorLspCoordinator({ document, uri, languageId: 'typescript' });
await coordinator.open();

Constructors

Constructor

new CodeEditorLspCoordinator(options): CodeEditorLspCoordinator

Defined in: code-editor/src/lsp/coordinator.ts:157

Parameters

options

CreateCodeEditorLspCoordinatorOptions

Returns

CodeEditorLspCoordinator

Properties

closed

closed: boolean = false

Defined in: code-editor/src/lsp/coordinator.ts:73


localCapabilities

readonly localCapabilities: LocalCapabilityState = defaultLocalCapabilities

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

Accessors

commandAvailability

Get Signature

get commandAvailability(): CodeEditorLspCommandAvailability

Defined in: code-editor/src/lsp/coordinator.ts:815

Reports commands enabled by the current negotiated session capabilities.

Returns

CodeEditorLspCommandAvailability


document

Get Signature

get document(): CodeEditorDocumentModel

Defined in: code-editor/src/lsp/coordinator.ts:262

Returns the document model controlled by this coordinator.

Returns

CodeEditorDocumentModel


operationState

Get Signature

get operationState(): "idle" | "waiting" | "pending"

Defined in: code-editor/src/lsp/coordinator.ts:121

Current request indicator used by status and accessibility presentation.

Returns

"idle" | "waiting" | "pending"

Set Signature

set operationState(value): void

Defined in: code-editor/src/lsp/coordinator.ts:125

Parameters
value

"idle" | "waiting" | "pending"

Returns

void


presentation

Get Signature

get presentation(): CodeEditorLspPresentation

Defined in: code-editor/src/lsp/coordinator.ts:132

Current bounded assistance presentation.

Returns

CodeEditorLspPresentation

Set Signature

set presentation(value): void

Defined in: code-editor/src/lsp/coordinator.ts:136

Parameters
value

CodeEditorLspPresentation

Returns

void


retainedState

Get Signature

get retainedState(): object

Defined in: code-editor/src/lsp/coordinator.ts:245

Returns content-free retained protocol counters for lifecycle inspection.

Returns

object

completions

readonly completions: number

diagnostics

readonly diagnostics: number

pendingRequests

readonly pendingRequests: number

snippetPlaceholders

readonly snippetPlaceholders: number

symbols

readonly symbols: number


serviceState

Get Signature

get serviceState(): LspServiceState

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

Current language-service lifecycle state.

Returns

LspServiceState

Set Signature

set serviceState(value): void

Defined in: code-editor/src/lsp/coordinator.ts:114

Parameters
value

LspServiceState

Returns

void


snippet

Get Signature

get snippet(): SnippetInteractionState | undefined

Defined in: code-editor/src/lsp/coordinator.ts:147

Current internal snippet traversal state retained for compatibility.

Returns

SnippetInteractionState | undefined

Set Signature

set snippet(value): void

Defined in: code-editor/src/lsp/coordinator.ts:151

Parameters
value

SnippetInteractionState | undefined

Returns

void


state

Get Signature

get state(): CodeEditorLspStateSnapshot

Defined in: code-editor/src/lsp/coordinator.ts:267

Returns the latest immutable render-facing coordinator state.

Returns

CodeEditorLspStateSnapshot

Methods

acceptCompletion()

acceptCompletion(_options?): void

Defined in: code-editor/src/lsp/coordinator.ts:568

Applies the selected completion atomically, without executing its command field.

Parameters

_options?
execute?

(value) => void

Returns

void


bindMutationSink()

bindMutationSink(sink): CodeEditorDisposable

Defined in: code-editor/src/lsp/coordinator.ts:300

Delegates provider mutations to one controller for this exact document.

Standalone coordinators continue to use their validated direct-document fallback until bound.

Parameters

sink

CodeEditorMutationSink

Returns

CodeEditorDisposable

Throws

When the sink belongs to another document.

Throws

When another live sink already owns mutation integration.


caretChanged()

caretChanged(): void

Defined in: code-editor/src/lsp/coordinator.ts:634

Invalidates caret-context assistance after a local caret move.

Returns

void


chooseDocumentSymbol()

chooseDocumentSymbol(index): boolean

Defined in: code-editor/src/lsp/coordinator.ts:654

Chooses one current-document symbol.

Parameters

index

number

Returns

boolean


chooseNavigationTarget()

chooseNavigationTarget(index): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:674

Chooses one previously validated navigation target.

Parameters

index

number

Returns

Promise<void>


close()

close(): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:397

Closes protocol state and leaves local save/edit/close behavior available.

Returns

Promise<void>


configureLimits()

configureLimits(limits): void

Defined in: code-editor/src/lsp/coordinator.ts:237

Applies a controller-owned limit projection before protocol requests begin.

Parameters

limits

{ completionItems?: number; contentCharacters?: number; diagnostics?: number; edits?: number; replacementCharacters?: number; } | undefined

Returns

void


dismissTransientAssistance()

dismissTransientAssistance(): void

Defined in: code-editor/src/lsp/coordinator.ts:647

Dismisses transient popups while preserving diagnostics and local editing state.

Returns

void

Example

ts
coordinator.dismissTransientAssistance();

documentChanged()

documentChanged(): void

Defined in: code-editor/src/lsp/coordinator.ts:625

Ends snippet mode after an external or conflicting document edit.

Returns

void


formatDocument()

formatDocument(): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:545

Requests whole-document formatting.

Returns

CodeEditorLspOperation


formatRange()

formatRange(range): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:553

Requests formatting for one validated selected range.

Parameters

range

ProtocolRange

Returns

CodeEditorLspOperation


forwardCommand()

forwardCommand(command): Promise<boolean>

Defined in: code-editor/src/lsp/coordinator.ts:694

Forwards only a bounded command identifier to the host authorization seam.

Parameters

command

unknown

Returns

Promise<boolean>


handleKey()

handleKey(key): "completion" | "snippet" | "editor" | "unhandled"

Defined in: code-editor/src/lsp/coordinator.ts:604

Routes assistance keys without consuming unrelated editor commands.

Parameters

key
key

string

shift?

boolean

text?

string

Returns

"completion" | "snippet" | "editor" | "unhandled"


navigateBack(): boolean

Defined in: code-editor/src/lsp/coordinator.ts:666

Returns to the latest bounded local navigation origin.

Returns

boolean


open()

open(): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:315

Opens the active protocol document after validating its URI.

Returns

Promise<void>


proposeWorkspaceEdit()

proposeWorkspaceEdit(edit): Promise<boolean>

Defined in: code-editor/src/lsp/coordinator.ts:680

Forwards a cross-document edit proposal to the host without applying it.

Parameters

edit

unknown

Returns

Promise<boolean>


requestCompletion()

requestCompletion(position): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:422

Requests completion for one current UTF-16 position.

Parameters

position

ProtocolPosition

Returns

CodeEditorLspOperation


requestDefinition()

requestDefinition(position): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:520

Requests definition-style navigation.

Parameters

position

ProtocolPosition

Returns

CodeEditorLspOperation


requestDocumentSymbols()

requestDocumentSymbols(): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:536

Requests bounded document symbols.

Returns

CodeEditorLspOperation


requestHover()

requestHover(position, viewport?): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:472

Requests explicit hover content for one caret position.

Parameters

position

ProtocolPosition

viewport?
height

number

width

number

Returns

CodeEditorLspOperation


requestSignature()

requestSignature(position): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:484

Requests signature help and a non-color active-parameter marker.

Parameters

position

ProtocolPosition

Returns

CodeEditorLspOperation


resynchronize()

resynchronize(): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:358

Reopens the current document after a session generation change.

Returns

Promise<void>


save()

save(): Promise<{ formatting: string; identity: DocumentIdentity; text: string; }>

Defined in: code-editor/src/lsp/coordinator.ts:757

Returns text for host saving, applying opt-in valid current formatting when available.

Returns

Promise<{ formatting: string; identity: DocumentIdentity; text: string; }>


setLanguage()

setLanguage(languageId): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:383

Replaces the active language while preserving document text and resynchronizing protocol state.

Parameters

languageId

string

Returns

Promise<void>


setUri()

setUri(uri): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:391

Replaces the active URI while preserving document text and resynchronizing protocol state.

Parameters

uri

string

Returns

Promise<void>


subscribeState()

subscribeState(listener): CodeEditorDisposable

Defined in: code-editor/src/lsp/coordinator.ts:278

Subscribes to coalesced render-facing coordinator changes.

Listener failures are isolated so one embedding host cannot block other editors.

Parameters

listener

(state) => void

Returns

CodeEditorDisposable

Throws

When the bounded listener capacity has been reached.


synchronize()

synchronize(): Promise<void>

Defined in: code-editor/src/lsp/coordinator.ts:327

Sends the current revision in protocol order and releases queued requests.

Returns

Promise<void>


tick()

tick(): void

Defined in: code-editor/src/lsp/coordinator.ts:810

Advances the pending indicator using the injected monotonic clock.

Returns

void


triggerCompletion()

triggerCompletion(character, position): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:460

Requests completion only for a currently negotiated trigger character.

Parameters

character

string

position

ProtocolPosition

Returns

CodeEditorLspOperation


triggerSignature()

triggerSignature(character, position): CodeEditorLspOperation

Defined in: code-editor/src/lsp/coordinator.ts:508

Requests signature help only for a currently negotiated trigger character.

Parameters

character

string

position

ProtocolPosition

Returns

CodeEditorLspOperation