Documentation

Lean.Data.JsonRpc

Implementation of JSON-RPC 2.0 (https://www.jsonrpc.org/specification) for use in the LSP server.

In JSON-RPC, each request from the client editor to the language server comes with a request id so that the corresponding response can be identified or cancelled.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.

    Error codes defined by JSON-RPC and LSP.

    • parseError : ErrorCode

      Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.

    • invalidRequest : ErrorCode

      The JSON sent is not a valid Request object.

    • methodNotFound : ErrorCode

      The method does not exist / is not available.

    • invalidParams : ErrorCode

      Invalid method parameter(s).

    • internalError : ErrorCode

      Internal JSON-RPC error.

    • serverNotInitialized : ErrorCode

      Error code indicating that a server received a notification or request before the server has received the initialize request.

    • unknownErrorCode : ErrorCode
    • contentModified : ErrorCode

      The server detected that the content of a document got modified outside normal conditions. A server should NOT send this error code if it detects a content change in it unprocessed messages. The result even computed on an older state might still be useful for the client.

      If a client decides that a result is not of any use anymore the client should cancel the request.

    • requestCancelled : ErrorCode

      The client has canceled a request and a server as detected the cancel.

    • rpcNeedsReconnect : ErrorCode
    • workerExited : ErrorCode
    • workerCrashed : ErrorCode
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Equations
      • One or more equations did not get rendered due to their size.

      A JSON-RPC message.

      Uses separate constructors for notifications and errors because client and server behavior is expected to be wildly different for both.

      Instances For
        structure Lean.JsonRpc.Request (α : Type u) :

        Generic version of Message.request.

        A request message to describe a request between the client and the server. Every processed request must send a response back to the sender of the request.

        Instances For
          Equations
          structure Lean.JsonRpc.Notification (α : Type u) :

          Generic version of Message.notification.

          A notification message. A processed notification message must not send a response back. They work like events.

          Instances For
            Equations
            Equations
            • One or more equations did not get rendered due to their size.
            structure Lean.JsonRpc.Response (α : Type u) :

            Generic version of Message.response.

            A Response Message sent as a result of a request. If a request doesn’t provide a result value the receiver of a request still needs to return a response message to conform to the JSON-RPC specification. The result property of the ResponseMessage should be set to null in this case to signal a successful request.

            References:

            Instances For
              Equations
              structure Lean.JsonRpc.ResponseError (α : Type u) :

              Generic version of Message.responseError.

              References:

              • code : ErrorCode
              • message : String

                A string providing a short description of the error.

              • data? : Option α

                A primitive or structured value that contains additional information about the error. Can be omitted.

              Instances For
                Equations
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def IO.FS.Stream.readRequestAs (h : Stream) (nBytes : Nat) (expectedMethod : String) (α : Type) [Lean.FromJson α] :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def IO.FS.Stream.readNotificationAs (h : Stream) (nBytes : Nat) (expectedMethod : String) (α : Type) [Lean.FromJson α] :
                    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
                        Instances For
                          Equations
                          Instances For
                            Equations
                            Instances For
                              Equations
                              Instances For
                                Equations
                                Instances For
                                  Equations
                                  Instances For