diff options
author | 2014-11-15 20:11:04 +0100 | |
---|---|---|
committer | 2014-11-15 20:11:04 +0100 | |
commit | ed4a2b7426bbe776aa4f3f5f5d688a72ece66e5f (patch) | |
tree | 40359d7d8a3c3aec1b6cf3c265d095c0541a9bae /printing/ppstyle.ml | |
parent | 7d2282bc2b9258c5b7d575ada1292a2a06ad0544 (diff) |
Adding tags to messages.
Diffstat (limited to 'printing/ppstyle.ml')
-rw-r--r-- | printing/ppstyle.ml | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/printing/ppstyle.ml b/printing/ppstyle.ml index 84fe99ca3..d001c2eb0 100644 --- a/printing/ppstyle.ml +++ b/printing/ppstyle.ml @@ -91,6 +91,10 @@ let make_style_stack style_tags = let clear () = style_stack := [] in push, pop, clear +let error_tag = make ["message"; "error"] +let warning_tag = make ["message"; "warning"] +let debug_tag = make ["message"; "debug"] + let init_color_output () = let push_tag, pop_tag, clear_tag = make_style_stack !tags in let tag_handler = { @@ -108,11 +112,15 @@ let init_color_output () = let () = Format.pp_set_mark_tags !err_ft true in let () = Format.pp_set_formatter_tag_functions !std_ft tag_handler in let () = Format.pp_set_formatter_tag_functions !err_ft tag_handler in + let pptag = tag in let open Pp in let msg ?header ft strm = let strm = match header with | None -> hov 0 strm - | Some h -> hov 0 (str h ++ str ":" ++ spc () ++ strm) + | Some (h, t) -> + let tag = Pp.Tag.inj t pptag in + let h = Pp.tag tag (str h ++ str ":") in + hov 0 (h ++ spc () ++ strm) in pp_with ~pp_tag ft strm; Format.pp_print_newline ft (); @@ -121,11 +129,13 @@ let init_color_output () = clear_tag (); in let logger level strm = match level with - | Debug _ -> msg ~header:"Debug" !std_ft strm + | Debug _ -> msg ~header:("Debug", debug_tag) !std_ft strm | Info -> msg !std_ft strm | Notice -> msg !std_ft strm - | Warning -> Flags.if_warn (fun () -> msg ~header:"Warning" !err_ft strm) () - | Error -> msg ~header:"Error" !err_ft strm + | Warning -> + let header = ("Warning", warning_tag) in + Flags.if_warn (fun () -> msg ~header !err_ft strm) () + | Error -> msg ~header:("Error", error_tag) !err_ft strm in let () = set_logger logger in () |