package linol
Module type Jsonrpc2.SSource
include sig ... end
module Position = Linol_lsp.Lsp.Types.Positionmodule Range = Linol_lsp.Lsp.Types.Rangemodule Diagnostic = Linol_lsp.Lsp.Types.Diagnosticmodule DiagnosticSeverity = Linol_lsp.Lsp.Types.DiagnosticSeveritymodule Req_id : sig ... endRequest ID.
type server_request_handler_pair = | Request_and_handler : 'from_server Linol_lsp.Lsp.Server_request.t * (('from_server, Linol_jsonrpc.Jsonrpc.Response.Error.t) result -> unit IO.t) -> server_request_handler_pair
type send_request = server_request_handler_pair -> Req_id.t IO.tclass virtual base_server : object ... endval async : base_server -> (unit -> unit IO.t) -> unit IO.tclass notify_back : notify_back:(Linol_lsp.Lsp.Server_notification.t ->
unit IO.t) -> server_request:(server_request_handler_pair ->
Req_id.t IO.t) -> workDoneToken:[ `Int of int | `String of string ] option -> partialResultToken:'a -> ?version:
int -> ?uri:Linol_lsp.Lsp.Types.DocumentUri.t -> unit -> object ... endtype nonrec doc_state = {uri : Linol_lsp.Lsp.Types.DocumentUri.t;languageId : string;version : int;content : string;
}class virtual server : object ... endval create :
?on_received:(json -> unit) ->
?on_sent:(json -> unit) ->
ic:IO.in_channel ->
oc:IO.out_channel ->
server ->
tCreate a connection from the pair of channels
val create_stdio :
?on_received:(json -> unit) ->
?on_sent:(json -> unit) ->
env:IO.env ->
server ->
tCreate a connection using stdin/stdout
val send_server_notification :
t ->
Linol_lsp.Lsp.Server_notification.t ->
unit IO.tSend a notification from the server.
val send_server_request :
t ->
'from_server Linol_lsp.Lsp.Server_request.t ->
(('from_server, Linol_jsonrpc.Jsonrpc.Response.Error.t) result -> unit IO.t) ->
Req_id.t IO.tSend a request from the server, and pass a callback that will be called with the result in the future.