Module Feedback
type level
=
|
Debug
|
Info
|
Notice
|
Warning
|
Error
type doc_id
= int
Document unique identifier for serialization
val default_route : route_id
type feedback_content
=
|
Processed
|
Incomplete
|
Complete
|
ProcessingIn of string
|
InProgress of int
|
WorkerStatus of string * string
|
AddedAxiom
|
GlobRef of Loc.t * string * string * string * string
|
GlobDef of Loc.t * string * string * string
|
FileDependency of string option * string
|
FileLoaded of string * string
|
Custom of Loc.t option * string * Xml_datatype.xml
|
Message of level * Loc.t option * Pp.t
type feedback
=
{
doc_id : doc_id;
span_id : Stateid.t;
route : route_id;
contents : feedback_content;
}
Feedback sent, even asynchronously, to the user interface
val add_feeder : (feedback -> unit) -> int
add_feeder f
adds a feeder listinerf
, returning its id
val feedback : ?did:doc_id -> ?id:Stateid.t -> ?route:route_id -> feedback_content -> unit
feedback ?did ?sid ?route fb
produces feedbackfb
, withroute
anddid, sid
set appropiatedly, if absent, it will use the defaults set byset_id_for_feedback
output functions
msg_notice
do not put any decoration on output by default. If possible don't mix it with goal output (prefer msg_info or msg_warning) so that interfaces can dispatch outputs easily. Once all interfaces use the xml-like protocol this constraint can be relaxed.
val msg_info : ?loc:Loc.t -> Pp.t -> unit
Message that displays information, usually in verbose mode, such as
Foobar is defined
val msg_notice : ?loc:Loc.t -> Pp.t -> unit
Message that should be displayed, such as
Print Foo
orShow Bar
.
val msg_warning : ?loc:Loc.t -> Pp.t -> unit
Message indicating that something went wrong, but without serious consequences.
val console_feedback_listener : Stdlib.Format.formatter -> feedback -> unit
Helper for tools willing to print to the feedback system