LspClient class final
A live connection to one language server process.
Constructors
- LspClient({required LspServerConfig config, required String rootPath, required LspTransport transport, int? processId, Duration requestTimeout = defaultLspRequestTimeout, void onExit()?})
-
Creates an LspClient over
transport. The read loop starts immediately; call initialize before issuing document requests.
Properties
- config → LspServerConfig
-
The server definition this client was spawned for.
final
-
diagnostics
→ Map<
String, List< LspDiagnostic> > -
Latest published diagnostics per document URI (omp's
client.diagnostics).final -
diagnosticsStream
→ Stream<
String> -
Emits a document URI every time the server publishes diagnostics.
no setter
- diagnosticsVersion ↔ int
-
Bumped on every
publishDiagnosticsnotification (omp'sdiagnosticsVersion).getter/setter pair - hashCode → int
-
The hash code for this object.
no setterinherited
- lastActivity ↔ DateTime
-
Last activity timestamp for the manager's idle sweep (omp's
lastActivity).getter/setter pair - onExit → void Function()?
-
Called exactly once when the connection dies (crash, stream close, or
shutdown).
final
-
openFiles
→ Map<
String, int> -
Open documents: URI → current content version (omp's
openFiles).final - processId → int?
-
The host process id advertised in
initialize(the server exits when the parent dies). Null when the host cannot provide one (e.g. tests).final - requestTimeout → Duration
-
Default timeout for requests without an explicit one.
final
- rootPath → String
-
Workspace root the server was started in.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
serverCapabilities
↔ Map<
String, dynamic> ? -
Server capabilities from the
initializeresult, when connected.getter/setter pair - status ↔ LspClientStatus
-
Lifecycle state.
getter/setter pair
- transport → LspTransport
-
The byte channel to the server process.
final
Methods
-
closeFile(
String path) → void -
Sends
textDocument/didCloseforpathwhen tracked. -
ensureOpen(
String path, String content, String languageId) → void -
Opens
pathwithcontentif not already tracked (omp'sensureFileOpen): sendstextDocument/didOpenwith version 1. -
initialize(
{Duration? timeout}) → Future< void> -
Runs the
initialize/initializedhandshake and pushes the configured settings. Throws LspRequestException on failure. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notify(
String method, Object? params) → void - Sends a notification (no response expected).
-
request(
String method, Object? params, {Duration? timeout}) → Future< Object?> -
Sends a request and awaits its result. Throws LspRequestException
on a server error response, on
timeout, or when the connection dies mid-flight. -
shutdown(
) → Future< void> -
Graceful shutdown:
shutdownrequest,exitnotification, then wait briefly for the process to leave before killing it (omp's shutdown path). Always safe to call; errors during shutdown are swallowed. -
syncContent(
String path, String content, String languageId) → void -
Syncs in-memory
contentforpath(omp'ssyncContent): opens the document when untracked, otherwise sends a full-contenttextDocument/didChangewith a bumped version. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited