mte/unikernel/duniverse/fmt/src/tty/fmt_tty.mli

34 lines
1.4 KiB
OCaml
Raw Normal View History

2025-11-11 02:07:51 +01:00
(*---------------------------------------------------------------------------
Copyright (c) 2015 The fmt programmers. All rights reserved.
SPDX-License-Identifier: ISC
---------------------------------------------------------------------------*)
(** [Fmt] TTY setup.
[Fmt_tty] provides simple automatic setup on channel formatters for:
{ul
{- {!Fmt.set_style_renderer}. [`Ansi_tty] is used if the channel
{{!Unix.isatty}is a tty} and the environment variable
[TERM] is defined and its value is not ["dumb"]. [`None] is
used otherwise.}
{- {!Fmt.set_utf_8}. [true] is used if one of the following
environment variables has ["UTF-8"] as a case insensitive
substring: [LANG], [LC_ALL], [LC_CTYPE].}} *)
(** {1:tty_setup TTY setup} *)
val setup : ?style_renderer:Fmt.style_renderer -> ?utf_8:bool ->
out_channel -> Format.formatter
(** [setup ?style_renderer ?utf_8 outc] is a formatter for [outc] with
{!Fmt.set_style_renderer} and {!Fmt.set_utf_8} correctly setup. If
[style_renderer] or [utf_8] are specified they override the automatic
setup.
If [outc] is {!stdout}, {!Fmt.stdout} is returned. If [outc] is
{!stderr}, {!Fmt.stderr} is returned. *)
val setup_std_outputs : ?style_renderer:Fmt.style_renderer -> ?utf_8:bool ->
unit -> unit
(** [setup_std_outputs ?style_renderer ?utf_8 ()] applies {!setup}
on {!stdout} and {!stderr}. *)