Module Linol_lwt__.Jsonrpc2

module IO : Linol.IO with type 'a t = 'a Linol_lwt.Task.m and type in_channel = Lwt_io.input Lwt_io.channel and type out_channel = Lwt_io.output Lwt_io.channel
type json = Yojson.Safe.t
type t

A jsonrpc2 connection.

include module type of sig ... end
module Position = Lsp.Types.Position
module Range = Lsp.Types.Range
class virtual base_server : object ... end
class notify_back : notify_back:(Lsp.Server_notification.t -> unit IO.t) -> ?⁠version:int -> uri:Lsp.Types.DocumentUri.t -> unit -> object ... end
type doc_state = Linol.Make(IO).doc_state = {
uri : Lsp.Types.DocumentUri.t;
languageId : string;
version : int;
content : string;
}
class virtual server : object ... end
val create : ic:IO.in_channel -> oc:IO.out_channel -> server -> t

Create a connection from the pair of channels

val create_stdio : server -> t
val run : t -> unit Linol_lwt.Task.t -> unit Linol_lwt.Task.m

Listen for incoming messages and responses