stdune
-
stdune
-
-
stdune.filesystem_stubs
Library
Module
Module type
Parameter
Class
Class type
User messages are styled document that can be printed to the console or in the log file.
module Style : sig ... end
Symbolic styles that can be used inside messages. These styles are later converted to actual concrete styles depending on the output device. For instance, when printed to the terminal they are converted to ansi terminal styles (Ansi_color.Style.t list
values).
module Annots : sig ... end
type t = {
loc : Stdune__Loc0.t option; |
paragraphs : Style.t Pp.t list; |
hints : Style.t Pp.t list; |
annots : Annots.t; |
}
A user message.contents composed of an optional file location and a list of paragraphs.
The various paragraphs will be printed one after the other and will all start at the beginning of a line. They are all wrapped inside a Pp.box
.
When hints are provided, they are printed as last paragraphs and prefixed with "Hint:". Hints should give indication to the user for how to fix the issue.
The annots
field is intended to carry extra context for other, non-user-facing purposes (such as data for the RPC).
val compare : t -> t -> Ordering.t
module Print_config : sig ... end
val make :
?loc:Stdune__Loc0.t ->
?prefix:Style.t Pp.t ->
?hints:Style.t Pp.t list ->
?annots:Annots.t ->
Style.t Pp.t list ->
t
Construct a user message from a list of paragraphs.
The first paragraph is prefixed with prefix
inside the box. prefix
should not end with a space as a space is automatically inserted by make
if necessary.
val print : ?config:Print_config.t -> t -> unit
Print to stdout
(not thread safe)
val prerr : ?config:Print_config.t -> t -> unit
Print to stderr
(not thread safe)
Produces a "Did you mean ...?" hint
val to_string : t -> string
Produces a plain text representation of the error message, without the "Error: " prefix.
val has_location : t -> bool
Returns true
if the message has an explicit location or one embedded in the text.
val has_embedded_location : t -> bool
Returns true
if the message's annotations contains Annot.Has_embedded_location
.
val needs_stack_trace : t -> bool
Returns true
if the message's annotations contains Annot.Needs_stack_trace
.