| Did you know ... | Search Documentation: |
| ansi_term.pl -- Print decorated text to ANSI consoles |
This library allows for exploiting the color and attribute facilities of most modern terminals using ANSI escape sequences. This library provides the following:
The behavior of this library is controlled by two Prolog flags:
true, activate the color output for this library. Otherwise
simply call format/3.url(Location) and url(URL, Label)
elements of Prolog messages.
ansi_format(+ClassOrAttributes, +Format, +Args) is detcurrent_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) and bg(Color), the colour name can be '#RGB' or
'#RRGGBB'h(Color)
or an integer 0..255.
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.
sgr_code(+Name, -Code)[private]| 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 |
boot/messages.pl, default_theme/2.
prolog:message_line_element(+Stream, +Term) is semidet[multifile]ansi(+Attr, +Fmt, +Args) in
message specifications.
ansi_hyperlink(+Stream, +Location) is det
ansi_hyperlink(+Stream, +URL, +Label) is detL before the line.
``file://AbsFileName[#LLine[:Column]]``
location_url(+Location, -URL) is det[private]
tty_url_hook(+Location, -URL)[multifile]
url_file_name(-URL, +File) is semidet[private]clib package and its foreign support.
keep_line_pos(+Stream, :Goal)[private]line_pos notion.
ansi_get_color(+Which, -RGB) is semidetforeground and background. This predicate sends a request to the
console (user_output) and reads the reply. This assumes an xterm
compatible terminal.
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
ansi_hyperlink(+Stream, +Location) is det
ansi_hyperlink(+Stream, +URL, +Label) is detL before the line.
``file://AbsFileName[#LLine[:Column]]``