Module Merlin_clientSource

Sourcetype worker = {
  1. worker : Worker.t;
  2. queue : (Protocol.answer -> unit) Queue.t;
}
Sourceval add_fut : worker -> (Protocol.answer -> unit) -> unit
Sourceval res_fut : worker -> Protocol.answer -> unit
Sourceval make_worker : string -> worker
Sourcetype action =
  1. | Completion
  2. | Type_enclosing
  3. | Errors
Sourcetype errors = Protocol.error list
Sourceval query : action:'a -> worker -> Protocol.answer Fut.t
Sourceval query_errors : worker -> string -> Protocol.error list Fut.t
Sourceval query_type : worker -> string -> Merlin_kernel.Msource.position -> (Protocol.Location.t * [ `Index of int | `String of string ] * Protocol.is_tail_position) list Fut.t
Sourceval add_cmis : worker -> Protocol.cmis -> unit Fut.t