[det]ansi_format(+ClassOrAttributes,
+Format, +Args)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:
- bold
- underline
fg(Color),bg(Color),hfg(Color),hbg(Color)- For
fg(Color)andbg(Color), the colour name can be’#RGB’or’#RRGGBB’ fg8(Spec),bg8(Spec)- 8-bit color specification. Spec is a colour name,
h(Color)or an integer 0..255. fg(R, G, B),bg(R, G, B)- 24-bit (direct color) specification. The components are integers in the range 0..255.
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_outputhas the propertytty(true)(see stream_property/2). - The Prolog flag
color_termistrue.