• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

A.2 library(ansi_term): Print decorated text to ANSI consoles
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(ansi_term): Print decorated text to ANSI consoles
          • ansi_format/3
          • ansi_format/4
          • ansi_sgr/2
          • console_color/3
          • console_color/2
          • theme_base/2
          • message_line_element/2
          • ansi_hyperlink/2
          • ansi_hyperlink/3
          • tty_url_hook/2
          • ansi_get_color/2
    • Packages
Availability::- use_module(library(ansi_term)).(can be autoloaded)
Source[det]ansi_format(+ClassOrAttributes, +Format, +Args)
[det]ansi_format(+Stream, +ClassOrAttributes, +Format, +Args)
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, a list thereof or a term that is mapped to concrete attributes based on the current theme (see prolog:console_color/3). 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) and bg(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.
href(URL)
Wrap the output as a link using ansi_hyperlink/3.

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.
ClioPatria (version V3.1.1-59-g7b9a7a3)