Documentation

Lean.Data.Lsp.Ipc

Provides an IpcM monad for interacting with an external LSP process. Used for testing the Lean server.

Equations
Instances For
    Equations
    Instances For
      Equations
      Instances For
        def Lean.Lsp.Ipc.shutdown (requestNo : Nat) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Lean.Lsp.Ipc.readRequestAs (expectedMethod : String) (α : Type) [FromJson α] :
          Equations
          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.

            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              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? is true, 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.

                Equations
                • One or more equations did not get rendered due to their size.
                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.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def Lean.Lsp.Ipc.waitForILeans (waitForILeansId : JsonRpc.RequestID := 0) (target : DocumentUri) (version : Nat) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def Lean.Lsp.Ipc.runWith {α : Type} (lean : String) (args : Array String := #[]) (test : IpcM α) :
                                  IO α
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For