This library allows for exploiting the color and attribute facilities of most modern terminals using ANSI escape sequences. This library provides the following:
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, a list thereof or a term that is mapped to concrete attributes based on the current theme (see prolog:console_color/2). The attribute names are derived from the ANSI specification. See the source for sgr_code/2 for details. Some commonly used attributes are:
fg(Color) , bg(Color),hfg(Color),hbg(Color)fg(Color) and bg(Color), the colour name
can be’#RGB' or’#RRGGBB'
fg8(Spec) , bg8(Spec)h(Color)
or an integer 0..255.
fg(R, G, B) , bg(R,
G, B)Defined color constants are below. default can be used
to access the default color of the terminal.
ANSI sequences are sent if and only if
current_output has the property tty(true)
(see
stream_property/2).
color_term is true.
boot/messages.pl.
ansi(+Attr, +Fmt, +Args)
in message specifications.foreground and background. This predicate
sends a request to the console (user_output) and reads the
reply. This assumes an xterm compatible terminal.
| RGB | is a term rgb(Red,Green,Blue).
The color components are integers in the range 0..65535. |