Module Terminal
type color
=[
]
type style
=
{
fg_color : color option;
bg_color : color option;
bold : bool option;
italic : bool option;
underline : bool option;
negative : bool option;
prefix : string option;
suffix : string option;
}
val make : ?fg_color:color -> ?bg_color:color -> ?bold:bool -> ?italic:bool -> ?underline:bool -> ?negative:bool -> ?style:style -> ?prefix:string -> ?suffix:string -> unit -> style
Create a style from the given flags. It is derived from the optional
style
argument if given.
val merge : style -> style -> style
merge s1 s2
returnss1
with all defined values ofs2
overwritten.
val repr : style -> int list
Generate the ANSI code representing the given style.
val eval : style -> string
Generate an escape sequence from a style.
val reset_style : style
The default style
val has_style : Unix.file_descr -> bool
Whether an output file descriptor handles styles. Very heuristic, only checks it is a terminal.
val parse : string -> (string * style) list
Parse strings describing terminal styles in the LS_COLORS syntax. For robustness, ignore meaningless entries and drops undefined styles.