This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
51
unikernel/duniverse/ocaml-re/lib/fmt.ml
Normal file
51
unikernel/duniverse/ocaml-re/lib/fmt.ml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
(** Very small tooling for format printers. *)
|
||||
|
||||
include Format
|
||||
|
||||
type 'a t = Format.formatter -> 'a -> unit
|
||||
|
||||
let list = pp_print_list
|
||||
let array ?pp_sep f fmt arr = list ?pp_sep f fmt (Array.to_list arr)
|
||||
let str = pp_print_string
|
||||
let sexp fmt s pp x = fprintf fmt "@[<3>(%s@ %a)@]" s pp x
|
||||
let bytes fmt t = Format.fprintf fmt "%S" (Bytes.to_string t)
|
||||
|
||||
let pair pp1 pp2 fmt (v1, v2) =
|
||||
pp1 fmt v1;
|
||||
pp_print_space fmt ();
|
||||
pp2 fmt v2
|
||||
;;
|
||||
|
||||
let triple pp1 pp2 pp3 fmt (v1, v2, v3) =
|
||||
pp1 fmt v1;
|
||||
pp_print_space fmt ();
|
||||
pp2 fmt v2;
|
||||
pp_print_space fmt ();
|
||||
pp3 fmt v3
|
||||
;;
|
||||
|
||||
let opt f fmt x =
|
||||
match x with
|
||||
| None -> pp_print_string fmt "<None>"
|
||||
| Some x -> fprintf fmt "%a" f x
|
||||
;;
|
||||
|
||||
let int = pp_print_int
|
||||
|
||||
let optint fmt = function
|
||||
| None -> ()
|
||||
| Some i -> fprintf fmt "@ %d" i
|
||||
;;
|
||||
|
||||
let char fmt c = Format.fprintf fmt "%c" c
|
||||
let bool = Format.pp_print_bool
|
||||
let lit s fmt () = pp_print_string fmt s
|
||||
|
||||
let to_to_string pp x =
|
||||
let b = Buffer.create 16 in
|
||||
let fmt = Format.formatter_of_buffer b in
|
||||
pp fmt x;
|
||||
Buffer.contents b
|
||||
;;
|
||||
|
||||
let quoted_string fmt s = Format.fprintf fmt "%S" s
|
||||
Loading…
Add table
Add a link
Reference in a new issue