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.
help is det
help(+What) is det- 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.
show_html_hook(+HTML:string) is semidet[multifile]- 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.
apropos(+Query) is det- 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.
Re-exported predicates
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
help is det
help(+What) is det- 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.