Module B00_std.Tty

ANSI terminal interaction.

Terminals

type t = [ `Dumb | `Term of string ] option

The type for terminals. Either no terminal, a dumb one or a named terminal from the TERM environment variable.

val of_fd : Unix.file_descr -> t

of_fd fd determines the terminal for file descriptor fd by using Unix.isatty fd and consulting the TERM environment variable.

Capabilities

type cap = [
| `None(*

No capability.

*)
| `Ansi(*

ANSI terminal.

*)
]

The type for terminal capabilities. Either no capability or ANSI capability.

val cap : t -> cap

cap tty determines tty's capabilities.

ANSI escapes and styling

type color = [
| `Default
| `Black
| `Red
| `Green
| `Yellow
| `Blue
| `Magenta
| `Cyan
| `White
]

The type for ANSI colors.

type style = [
| `Bold
| `Faint
| `Italic
| `Underline
| `Reverse
| `Fg of [ color | `Hi of color ]
| `Bg of [ color | `Hi of color ]
]

The type for ANSI styles.

val styled_str : cap -> style list -> string -> string

styled_str cap styles s styles s according to styles and cap.

val strip_escapes : string -> string

strip_escapes s removes ANSI escapes from s.