Terminal styling and layout widgets for OCaml (tables, trees, panels, colors)
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ocaml-tty: enable MDX on lib/tree.mli

Run mdx on lib/tree.mli so the {[ ... ]} odoc block now type-checks
the recursive tree-rendering helper. The example referenced an
undefined `root_dir`; provided a small concrete `root_dir` with two
levels and added `assert (String.length (Tty.Tree.to_string tree) >
0)` so the rendered output is exercised at mdx test time.
Constructor and value paths qualified to `Tty.Tree.Node`/`Tty.Span.text`
so the toploop resolves them after `(libraries nox-tty)`.

+19 -3
+4
lib/dune
··· 5 5 (foreign_stubs 6 6 (language c) 7 7 (names winsize))) 8 + 9 + (mdx 10 + (files tree.mli) 11 + (libraries nox-tty))
+15 -3
lib/tree.mli
··· 47 47 {[ 48 48 type dir = { name : string; children : dir list } 49 49 50 + let root_dir = 51 + { 52 + name = "root"; 53 + children = 54 + [ 55 + { name = "bin"; children = [] }; 56 + { name = "etc"; children = [ { name = "hosts"; children = [] } ] }; 57 + ]; 58 + } 59 + 50 60 let tree = 51 - Tree.v 52 - (fun render dir -> 53 - Node (Span.text dir.name, List.map render dir.children)) 61 + Tty.Tree.v 62 + (fun render (dir : dir) -> 63 + Tty.Tree.Node (Tty.Span.text dir.name, List.map render dir.children)) 54 64 root_dir 65 + 66 + let () = assert (String.length (Tty.Tree.to_string tree) > 0) 55 67 ]} *) 56 68 57 69 (** {1 Rendering} *)