Did you know ... Search Documentation:
ansi_term.pl -- Print decorated text to ANSI consoles
PublicShow source

This library allows for exploiting the color and attribute facilities of most modern terminals using ANSI escape sequences. This library provides the following:

See also
- http://en.wikipedia.org/wiki/ANSI_escape_code
Source ansi_format(+Attributes, +Format, +Args) is det
Format text with ANSI attributes. This predicate behaves as format/2 using Format and Args, but if the current_output is a terminal, it adds ANSI escape sequences according to Attributes. For example, to print a text in bold cyan, do
?- ansi_format([bold,fg(cyan)], 'Hello ~w', [world]).

Attributes is either a single attribute or a list thereof. The attribute names are derived from the ANSI specification. See the source for sgr_code/2 for details. Some commonly used attributes are:

  • bold
  • underline
  • fg(Color), bg(Color), hfg(Color), hbg(Color)

Defined color constants are below. default can be used to access the default color of the terminal.

  • black, red, green, yellow, blue, magenta, cyan, white

ANSI sequences are sent if and only if

  • The current_output has the property tty(true) (see stream_property/2).
  • The Prolog flag color_term is true.
Source prolog:message_line_element(+Stream, +Term) is semidet[multifile]
Hook implementation that deals with ansi(+Attr, +Fmt, +Args) in message specifications.