34 lines
1.4 KiB
OCaml
34 lines
1.4 KiB
OCaml
|
|
(*---------------------------------------------------------------------------
|
||
|
|
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}. *)
|