1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
type descr = Dolmen_intf.Tok.descr = {
article : string;
kind : string;
lexeme : string;
hint : string option;
}
let descr ?hint ?(article="the") ~kind lexeme = { article; kind; lexeme; hint; }
let print fmt { article; kind; lexeme; _ } =
let lxm =
if String.length lexeme < 15
then lexeme
else String.sub lexeme 0 14 ^ "…"
in
match lxm with
| "" -> Format.fprintf fmt "%s %s" article kind
| s -> Format.fprintf fmt "%s %s '%s'" article kind s