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 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:
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.
ANSI sequences are sent if and only if
current_output
has the property tty(true)
(see
stream_property/2).color_term
is true
.reset | all attributes off |
bold | |
faint | |
italic | |
underline | |
blink(slow) | |
blink(rapid) | |
negative | |
conceal | |
crossed_out | |
font(primary) | |
font(N) | Alternate font (1..8) |
fraktur | |
underline(double) | |
intensity(normal) | |
fg(Name) | Color name |
bg(Name) | Color name |
framed | |
encircled | |
overlined | |
ideogram(underline) | |
right_side_line | |
ideogram(underline(double)) | |
right_side_line(double) | |
ideogram(overlined) | |
left_side_line | |
ideogram(stress_marking) | |
-Off | Switch attributes off |
hfg(Name) | Color name |
hbg(Name) | Color name |
ansi(+Attr, +Fmt, +Args)
in
message specifications.