Module Dolmen_loop.State

module M : sig ... end
type t = M.t
type 'a key = {
id : int;
name : string;
pipe : string;
inj : 'a Dolmen.Std.Hmap.injection;
}
type report_style =
| Minimal
| Regular
| Contextual
type source = [
| `Stdin
| `File of string
| `Raw of string * string
]
type mode = [
| `Full
| `Incremental
]
type 'lang file = {
lang : 'lang option;
mode : mode option;
loc : Dolmen.Std.Loc.file;
dir : string;
source : source;
}
exception Error of t
exception Key_not_found of t * string * string
module type S = sig ... end
val empty : t
val key_counter : int Stdlib.ref
val create_key : pipe:string -> string -> 'a key
val get : 'a key -> t -> 'b
val get_or : default:'a -> 'b key -> M.t -> 'c
val set : 'a key -> 'b -> M.t -> M.t
val update : 'a key -> ( 'b -> 'c ) -> t -> M.t
val pipe : string
val debug : bool key
val reports : Report.Conf.t key
val report_style : report_style key
val max_warn : int key
val cur_warn : int key
val time_limit : float key
val size_limit : float key
val logic_file : Logic.language file key
val response_file : Response.language file key
val init : debug:bool -> report_style:report_style -> reports:Report.Conf.t -> max_warn:int -> ?cur_warn:int -> time_limit:float -> size_limit:float -> logic_file:Logic.language file -> response_file:Response.language file -> M.t -> M.t
val loc_input : ?file:'a file -> t -> Dolmen.Std.Loc.loc -> Pp_loc.Input.t option
val pp_loc : ?file:'a file -> t -> Stdlib.Format.formatter -> Dolmen.Std.Loc.loc option -> unit
val flush : t -> unit -> M.t
val error : ?file:'a file -> ?loc:Dolmen.Std.Loc.full -> t -> 'b Report.Error.t -> 'c -> 'd
val warn : ?file:'a file -> ?loc:Dolmen.Std.Loc.full -> t -> 'b Dolmen_loop__Report.warning -> 'c -> t