Linol_lwt.Jsonrpc2
module IO : sig ... end
module Position = Lsp.Types.Position
module Range = Lsp.Types.Range
module Diagnostic = Lsp.Types.Diagnostic
module DiagnosticSeverity = Lsp.Types.DiagnosticSeverity
module Req_id : sig ... end
type server_request_handler_pair =
| Request_and_handler : 'from_server Lsp.Server_request.t
* (('from_server, Jsonrpc.Response.Error.t) result ->
unit IO.t) -> server_request_handler_pair
type send_request = server_request_handler_pair -> Req_id.t IO.t
class virtual base_server : object ... end
val async : base_server -> (unit -> unit IO.t) -> unit IO.t
class notify_back : notify_back:(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:Lsp.Types.DocumentUri.t -> unit -> object ... end
type nonrec doc_state = {
uri : Lsp.Types.DocumentUri.t;
languageId : string;
version : int;
content : string;
}
class virtual server : object ... end
val create :
?on_received:(Yojson.Safe.t -> unit) ->
?on_sent:(Yojson.Safe.t -> unit) ->
ic:IO.in_channel ->
oc:IO.out_channel ->
server ->
t
val create_stdio :
?on_received:(Yojson.Safe.t -> unit) ->
?on_sent:(Yojson.Safe.t -> unit) ->
env:IO.env ->
server ->
t
val send_server_notification : t -> Lsp.Server_notification.t -> unit IO.t
val send_server_request :
t ->
'from_server Lsp.Server_request.t ->
(('from_server, Jsonrpc.Response.Error.t) result -> unit IO.t) ->
Req_id.t IO.t