
pprint.pl -- Pretty Print Prolog terms
This module is a first start of what should become a full-featured pretty printer for Prolog terms with many options and parameters. Eventually, it should replace portray_clause/1 and various other special-purpose predicates.
print_term(+Term, +Options) is det
- Pretty print a Prolog term. The following options are processed:
- output(+Stream)
- Define the output stream. Default is
user_output
- right_margin(?Column)
- Width of a line. If the output is a tty and tty_size/2 can produce a size the default is the number of columns minus 8. Otherwise the default is 72 characters. If the Column is unbound it is unified with the computed value.
- left_margin(+Integer)
- Left margin for continuation lines. Default is the current
line position or
0
if that is not available. - tab_width(+Integer)
- Distance between tab-stops. Default is 8 characters.
- indent_arguments(+Spec)
- Defines how arguments of compound terms are placed. Defined
values are:
false
Simply place them left to right (no line-breaks)true
Place them vertically, aligned with the open bracket (not implemented)auto
(default)
As horizontal if line-width is not exceeded, vertical otherwise. See alsoauto_indent_arguments(Int)
- An integer
Place them vertically aligned, <N> spaces to the right of the beginning of the head.
- auto_indent_arguments(+Integer)
- Used by
indent_arguments(auto)
to decide whether to introduce a newline after the `(` or not. If specified and > 0, this provides the default integer forindent_arguments(Int)
. The "hanging" mode is used if otherwise the indentation increment is twice this value. - operators(+Boolean)
- Deprecated. This is the inverse of the write_term/3 option
ignore_ops
. Default is to respect them. If eitheroperators
or theignore_ops
inwrite_options
is specified, both are consistently set. If both are specified, theignore_ops
options in thewrite_options
is respected. - write_options(+List)
- List of options passed to write_term/3 for terms that are
not further processed. Default:
[ numbervars(true), quoted(true), portray(true) ]
- fullstop(Boolean)
- If
true
(defaultfalse
), add a full stop (.) to the output. - nl(Boolean)
- If
true
(defaultfalse
), add a newline to the output.