package pplumbing
Utility libraries to use with [pp]
Install
dune-project
Dependency
Authors
Maintainers
Sources
pplumbing-0.0.14.tbz
sha256=ed7eaba180378a59719e9af63ccdc89dde8e0a20f2cba420abb0080b0bc4a868
sha512=f168c37c1acd38c92e5b6d59321da4021195b6ddc49dde82de70e9282b55042621bea1b84a677d57f83604c06d6ee9c790b683fd589cd2097ab8f00c293f56af
doc/src/pplumbing.log/log.ml.html
Source file log.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 34 35 36 37 38 39 40 41 42 43 44 45 46 47
(*********************************************************************************) (* pplumbing - Utility libraries to use with [pp] *) (* SPDX-FileCopyrightText: 2024-2025 Mathieu Barbin <mathieu.barbin@gmail.com> *) (* SPDX-License-Identifier: MIT *) (*********************************************************************************) type level = Logs.level type src = Logs.src let render fmt pps = let pp = Pp.vbox (Pp.concat_map pps ~sep:Pp.cut ~f:Pp.box) in if fmt == Format.std_formatter then Pp_tty.Ansi_color.print (Pp.map_tags pp ~f:Pp_tty.Print_config.default) else if fmt == Format.err_formatter then Pp_tty.Ansi_color.prerr (Pp.map_tags pp ~f:Pp_tty.Print_config.default) else Pp.to_fmt fmt pp ;; type log = ?header:string -> ?tags:(unit -> Logs.Tag.set) -> (unit -> Pp_tty.t list) -> unit let msg ?src level ?header ? f = Logs.msg ?src level (fun m -> m ?header ?tags:(Option.map (fun -> tags ()) tags) "%a" render (f ())) ;; let app ?src ?header ? f = msg ?src App ?header ?tags f let err ?src ?header ? f = msg ?src Error ?header ?tags f let warn ?src ?header ? f = msg ?src Warning ?header ?tags f let info ?src ?header ? f = msg ?src Info ?header ?tags f let debug ?src ?header ? f = msg ?src Debug ?header ?tags f module Logs = struct type msgf = ?header:string -> ?tags:Logs.Tag.set -> Pp_tty.t list -> unit type log = (msgf -> unit) -> unit let msg ?src level f = Logs.msg ?src level (fun m -> f (fun ?header ? pp -> m ?header ?tags "%a" render pp)) ;; let app ?src f = msg ?src App f let err ?src f = msg ?src Error f let warn ?src f = msg ?src Warning f let info ?src f = msg ?src Info f let debug ?src f = msg ?src Debug f end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>