package linol

  1. Overview
  2. Docs
module IO : IO
type t

A jsonrpc2 connection.

include 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
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 nonrec doc_state = {
  1. uri : Lsp.Types.DocumentUri.t;
  2. languageId : string;
  3. version : int;
  4. 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

Create a connection using stdin/stdout

val run : ?shutdown:(unit -> bool) -> t -> unit IO.t

Listen for incoming messages and responses.

  • parameter shutdown

    if true, tells the server to shut down