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)
- Module:Name
- Give help on predicates with Name in Module and any arity.
Used for loaded code only.
- Module:Name/Arity
- Give help on predicates with Name in Module and Arity.
Used for loaded code only.
- 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.
help/1 shows documentation from the manual as well as from loaded
user code if the code is documented using PlDoc. To show only the
documentatoion of the loaded predicate we may prefix predicate
indicator with the module in which it is defined.
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)
- Module:Name
- Give help on predicates with Name in Module and any arity.
Used for loaded code only.
- Module:Name/Arity
- Give help on predicates with Name in Module and Arity.
Used for loaded code only.
- 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.
help/1 shows documentation from the manual as well as from loaded
user code if the code is documented using PlDoc. To show only the
documentatoion of the loaded predicate we may prefix predicate
indicator with the module in which it is defined.
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.