package vcaml

  1. Overview
  2. Docs
include module type of Client
val command : command:string -> unit Core.Or_error.t Api_call.t
val command_output : command:string -> string Core.Or_error.t Api_call.t
val get_chan_info : chan:int -> Channel_info.t Core.Or_error.t Api_call.t
val list_bufs : Buf.t list Core.Or_error.t Api_call.t
val get_current_buf : Buf.t Core.Or_error.t Api_call.t
val call_atomic : calls:Msgpack.t list -> Msgpack.t list Core.Or_error.t Api_call.t

Calls many API methods atomically.

This has two main usages: 1. To perform several requests from an async context atomically, i.e. without interleaving redraws, RPC requests from other clients, or user interactions (however API methods may trigger autocommands or event processing which have such side-effects, e.g. |:sleep| may wake timers). 2. To minimize RPC overhead (roundtrips) of a sequence of many requests.

Parameters: calls an array of calls, where each call is described by an array with two elements: the request name, and an array of arguments.

Return: Array of two elements. The first is an array of return values. The second is NIL if all calls succeeded. If a call resulted in an error, it is a three-element array with the zero-based index of the call which resulted in an error, the error type and the error message. If an error occurred, the values from all preceding calls will still be returned.

val eval : expr:string -> Msgpack.t Core.Or_error.t Api_call.t
val feedkeys : keys:string -> mode:string -> escape_csi:bool -> unit Core.Or_error.t Api_call.t
module Untested : sig ... end
type t
module Connection_type : sig ... end

A value of type Connection_type.t describes the type of connection to use, along with the information necessary to construct the Msgpack_rpc channel.

val embed : prog:string -> args:string list -> working_dir:string -> env:(string * string) list -> (t * Async.Process.t option) Async.Deferred.Or_error.t