Module Text_block.Boxed

Combinators for building up cell structures separated by box characters: e.g.

   {[
     let a = text "A" in
     let b = text "B" in
     let c = text "C" in
     boxed Boxed.(hcat [vcat [cell a; cell b]; c])
   ]}

   and

   {[
     let a = text "A" in
     let b = text "B" in
     let c = text "C" in
     boxed Boxed.(hcat [
       vcat [cell a; cell b];
       c;
       vcat [cell b; cell a]
     ])
   ]}

   produce

   ┌───┬───┐       ┌───┬───┬───┐
   │ A │   │       │ A │   │ B │
   ├───┤ C │  and  ├───┤ C ├───┤
   │ B │   │       │ B │   │ A │
   └───┴───┘       └───┴───┴───┘

   respectively.
type outer_t := t
type t
val sexp_of_t : t -> Sexplib0.Sexp.t
val cell : ?hpadding:int -> ?vpadding:int -> outer_t -> t

An outlined table cell, possibly with extra space (padding) on the sides.

hpadding defaults to 1. vpadding defaults to 0.

val vcat : ?align:halign -> t list -> t

Vertical concatenation with inserts horizontal separator lines.

val hcat : ?align:valign -> t list -> t

horizontal concatenation with inserts vertical separator lines.