This module provides help/1
and apropos/1 that
give help on a topic or searches the manual for relevant topics.
By default the result of help/1
is sent through a pager such as
less. This behaviour is controlled by the following:
- The Prolog flag help_pager, which can be set to one of the
following values:
- false
- Never use a pager.
- default
- Use default behaviour. This tries to determine whether Prolog is running
interactively in an environment that allows for a pager. If so it
examines the environment variable
PAGER or otherwise tries
to find the less program.
- Callable
- A Callable term is interpreted as
program_name(Arg, ...).
For example, less('-r') would be the default. Note that the
program name can be an absolute path if single quotes are used.
- [det]help
- [det]help(+What)
- Show help for What. What is a term that describes
the
topics(s) to give help for. Notations for What
are:
- Atom
- This ambiguous form is most commonly used and shows all matching
documents. For example:
?- help(append).
- Name
/ Arity - Give help on predicates with matching Name/Arity. Arity
may be unbound.
- Name
// Arity - Give help on the matching DCG rule (non-terminal)
- f(Name/Arity)
- Give help on the matching Prolog arithmetic functions.
- c(Name)
- Give help on the matching C interface function
- section(Label)
- Show the section from the manual with matching Label.
If an exact match fails this predicates attempts fuzzy matching and,
when successful, display the results headed by a warning that the
matches are based on fuzzy matching.
If possible, the results are sent through a pager such as the
less program. This behaviour is controlled by the Prolog
flag
help_pager. See section level documentation.
- See also
- apropos/1 for
searching the manual names and summaries.
- [semidet,multifile]show_html_hook(+HTML:string)
- Hook called to display the extracted HTML document. If this
hook fails the HTML is rendered to the console as plain text
using
html_text/2.
- [det]apropos(+Query)
- Print objects from the manual whose name or summary match with
Query. Query takes one of the following forms:
- Type
:Text - Find objects matching Text and filter the results by Type.
Type matching is a case intensitive prefix match.
Defined types are
section, cfunction, function,
iso_predicate, swi_builtin_predicate, library_predicate,
dcg and aliases chapter, arithmetic, c_function,
predicate, nonterminal and non_terminal.
For example:
?- apropos(c:close).
?- apropos(f:min).
- Text
- Text is broken into tokens. A topic matches if all tokens
appear in the name or summary of the topic. Matching is case
insensitive. Results are ordered depending on the quality of the match.