Provides an IpcM monad for interacting with an external LSP process. Used for testing the Lean server.
Instances For
Instances For
Instances For
Reads response, discarding notifications and server-to-client requests in between.
This function is meant purely for testing where we use collectDiagnostics explicitly
if we do care about such notifications.
Instances For
Merges a new textDocument/publishDiagnostics notification into a previously accumulated one.
- If there is no previous notification, the new one is used as-is.
- If
isIncremental?istrue, the new diagnostics are appended. - Otherwise the new notification replaces the previous one.
The returned params always have isIncremental? := some false since they represent the full
accumulated set.
Instances For
Waits for the worker to emit all diagnostic notifications for the current document version and returns the accumulated diagnostics, if any.
Incoming notifications are merged using mergePublishDiagnosticsParams.
We used to return all notifications but with debouncing in the server, this would not be deterministic anymore as what messages are dropped depends on wall-clock timing.
Instances For
Instances For
Instances For
- item : CallHierarchyItem
- children : Array CallHierarchy
Instances For
Instances For
Instances For
- item : LeanImport
- children : Array ModuleHierarchy