package acgtk

  1. Overview
  2. Docs
Abstract Categorial Grammar development toolkit

Install

dune-project
 Dependency

Authors

Maintainers

Sources

acg-2.2.0-20251107.tar.gz
sha512=07f391d052090bb70c10ec511fdc53af764954cbe1c30093778984c5ed41a4327573fdac0890c6fd619ff9827725572eb7b8a7545bd8ccb7f5bddb84d2d7f7cc

doc/src/acgtk.utilsLib/logs_sem.ml.html

Source file logs_sem.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
(** This file implements a Log_fmt like module that introduced
    semantic tags instead of ansi colors *)

let pp_header ~pp_h ppf (l, h) = match l with
| Logs.App ->
    begin match h with
    | None -> ()
    | Some h -> Format.fprintf ppf "[%a] " PPUtils.app_pp h
    end
| Logs.Error ->
    pp_h ppf PPUtils.err_pp (match h with None -> "ERROR" | Some h -> h)
| Logs.Warning ->
    pp_h ppf PPUtils.warn_pp (match h with None -> "WARNING" | Some h -> h)
| Logs.Info ->
    pp_h ppf PPUtils.info_pp (match h with None -> "INFO" | Some h -> h)
| Logs.Debug ->
    pp_h ppf PPUtils.debug_pp (match h with None -> "DEBUG" | Some h -> h)

let pp_exec_header =
  let x = match Array.length Sys.argv with
  | 0 -> Filename.basename Sys.executable_name
  | _n -> Filename.basename Sys.argv.(0)
  in
  let pp_h ppf style h = Fmt.pf ppf "%s: [%a] " x style h in
  pp_header ~pp_h

let reporter ?(pp_header = pp_exec_header) ?app ?dst () =
  Logs.format_reporter ~pp_header ?app ?dst ()
[@@warning "-unused-value-declaration"]

let pp_header =
  let pp_h ppf style h = Fmt.pf ppf "[%a]" style h in
  pp_header ~pp_h