18 lines
440 B
OCaml
18 lines
440 B
OCaml
type t =
|
|
Standard of string
|
|
| Verbatim of string
|
|
|
|
let pp ppf = function
|
|
Standard s -> Format.fprintf ppf "%S" s
|
|
| Verbatim v -> Format.fprintf ppf "{|%s|}" v
|
|
|
|
let compare ?(compare=compare) a b = match a,b with
|
|
(Standard a, Standard b) -> compare a b
|
|
| (Standard _, Verbatim _) -> -1
|
|
| (Verbatim _, Standard _) -> 1
|
|
| (Verbatim a, Verbatim b) -> compare a b
|
|
|
|
let extract = function
|
|
Standard s -> s
|
|
| Verbatim v -> v
|