Module Vcaml_test_helpers.Private

include module type of Vcaml.Private
module Nvim_internal = Nvim_internal
module Nvim_lock : sig ... end

This module is internal to VCaml. It is used by Client.t to track permission to communicate with Neovim. On each blocking RPC request we receive, we call take and then create a new Client.t with a call_nvim_api_fn that closes over the new Permission_to_run.t. In the event of nested blocking RPC requests, the most recent has exclusive permission to run until it returns, then the previous, etc.

module Source_code_position : sig ... end
val notify_nvim_of_error : _ Vcaml.Client.t -> here:lexing_position -> Core.Error.t -> unit Async.Deferred.t
val before_sending_response_hook_for_tests : (unit -> unit Async.Deferred.t) option Core.ref
val neovim_path : string