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