Module Interpret.Resolver

type t = config -> status -> keyseq -> result
and config = Mew_vi__Interpret.Make(Concurrent).Resolver.config = {
mode : Mew_vi.Mode.Name.t React.signal;
set_mode : ?⁠step:React.step -> Mew_vi.Mode.Name.t -> unit;
keyseq : keyseq React.signal;
set_keyseq : ?⁠step:React.step -> keyseq -> unit;
mutable resolver_insert : t;
mutable resolver_normal : t;
mutable resolver_visual : t;
mutable resolver_command : t;
}
and status = Mew_vi__Interpret.Make(Concurrent).Resolver.status = {
register : register;
count : count;
}
and result = Mew_vi__Interpret.Make(Concurrent).Resolver.result =
| Accept of Mew_vi.Edit_action.t * keyseq * Mew_vi.Mode.Name.t
| Continue of t * status * keyseq
| Rejected of keyseq
val resolver_dummy : 'a -> 'b -> keyseq -> result
val resolver_insert : 'a -> 'b -> Mew_vi.Key.t list -> result
module Common : sig ... end
module Normal : sig ... end
module Visual : sig ... end
val make_config : ?⁠mode:Mew_vi.Mode.Name.t -> ?⁠keyseq:keyseq -> ?⁠resolver_insert:t -> ?⁠resolver_normal:t -> ?⁠resolver_visual:t -> ?⁠resolver_command:t -> unit -> config
val interpret : ?⁠resolver:t -> ?⁠keyseq:keyseq -> config -> status -> Mew_vi.Modal.Key.t MsgBox.t -> Mew_vi.Edit_action.t MsgBox.t -> unit -> 'a Thread.t