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.
- str (s : String) : RequestID
- num (n : JsonNumber) : RequestID
- null : RequestID
Instances For
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
A JSON-RPC message.
Uses separate constructors for notifications and errors because client and server behavior is expected to be wildly different for both.
- request
(id : RequestID)
(method : String)
(params? : Option Json.Structured)
: Message
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.
- notification
(method : String)
(params? : Option Json.Structured)
: Message
A notification message. A processed notification message must not send a response back. They work like events.
- response
(id : RequestID)
(result : Json)
: Message
A Response Message sent as a result of a request.
- responseError
(id : RequestID)
(code : ErrorCode)
(message : String)
(data? : Option Json)
: Message
A non-successful response.
Instances For
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
Generic version of Message.notification
.
A notification message. A processed notification message must not send a response back. They work like events.
- method : String
- param : α
Instances For
Equations
Equations
Equations
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:
- id : RequestID
- result : α
Instances For
Generic version of Message.responseError
.
References:
- id : RequestID
- 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.