fpdoc - The FPC Pascal unit documentation generator.
--input=inputcommand [--output=output] [--format=fmt]
[--descr=descriptionfile] [--package=packagename] [options]
scans a Free Pascal unit source file and generates documentation
for it. The documentation can be in various formats (currently HTML and LaTeX)
It can read various description files which contain the description for the
various symbols found in the unit file.
You can invoke fpdoc
with as the only required argument the 'input' and
'package' arguments. It should at least contain the name of the unit file for
which documentation should be generated and the name of the package to which
the unit belongs.
has several options, most of them optional, defaults will be used
in most cases.
- This option tells fpdoc to generate a content file.
A content file contains a list of all the possible anchors (labels) in the
generated documentation file, and can be used to create cross-links in
documentation for different units, using the --import option.
- This option tells fpdoc for which CPU to generate
documentation. This simply defines the appropriate CPU macros.
- This option specifies the name of a description file
descfile that contains the actual documentation for the unit. This
option can be given several times, for several description files.
- This option specifies the name of a directory with XML
description files, named dir This option can be given several
times, for several description directories. This option is equivalent to
specifying all files in the directory with the --descr option.
- This option tells fpdoc not to trim whitespace in the XML
files. By default, whitespace is trimmed from the input, which can have
undesirable side-effects in for instance PRE tags.
- This option tells fpdoc not to generate any output,
but just parse all input. This can be used with the verbose option to
check what errors remain in the documentation, or what is still
- Specifies the format fmt in which the documentation
will be generated. Currenly, the following formats are known:
- CHM with 8.3 conforming filenames, for windows mostly.
- Delphi compatible XML output.
- HTML with 8.3 conforming filenames.
- HTML with long filenames.
- IPF output (OS/2 format, can be used with docview from
- XHTML with long filesnames.
- LaTex, which uses the fpc.sty style used by the Free Pascal
- man page output (unix manual pages, one page per
- RTF output.
- Plain text output.
- Structured XML.
- Show a command-line option summary.
- By default, the documentation will include descriptions and
listings of protected fields and methods in classes or objects. This
option changes this behaviour; if it is specified, no documentation will
be generated for these methods. Note that public methods or properties
that refer to these protected method will then have a dangling (i.e.
- Adds an entry for an HTML search page at location
link in the headers of the generated HTML pages. There is no search
page provided, this should be made and provided by the user.
- imports a content file impfile from another
documentation set. This can be used to resolve references to elements
within this other documentation file;
- This option tells fpdoc what input file should be
used. The argument cmd can be just a filename, but can also be a
complete compiler command-line with options that concern the scanning of
the pascal source: defines, include files, syntax options, as they would
be specified to the free pascal compiler when compiling the file. If a
complete command is used, then it should be enclosed in single or double
quotes, so the shell will not break them in parts. It is possible to
specify multiple input commands; they will be treated one by one, and
documentation will be generated for each of them.
- This option tells fpdoc to add all .pas and .pp
files in the directory named cmd as input files to the documenter.
This is equivalend to specifying all files in the directory with the
- Sets the language for the output file. This will mainly set
the strings used for the headers in various parts of the documentation
files (by default they're in english). Currently, valid options are
- Sets the extension to use for the LaTeX file to ext
the default is .tex (with . (dot) included).
- Switches on an internal latex syntax highlighter. This is
not yet implemented. By default, syntax highlighting is provided by the
syntax package that comes with fpc.
- This option tells fpdoc where to look for the
translation files that can be used to internationalize fpdoc's
- This option tells fpdoc for which operating system
to generate documentation. This simply defines the appropriate operating
- This option tells fpdoc where the output file should
be generated. How this option is interpreted depends on the format that is
used. For latex, name is interpreted as the filename for the tex
file. For all other formats, name is interpreted as the directory
where all documentation files will be written. The directory will be
created if it does not yet exist. Standard this equals the package
- Specifies the package name. All units will be documented as
part of packagename , which is also the default output filename or
directory. Only documentation nodes inside a package node with this name
will be considered when documenting.
- (Experimental) try to parse the implementation of a unit
too, this can be used for syntax checking.
- This option tells fpdoc to read all options from a
project file. This is an XML file, please see the documentation for more
information about the format for this file.
- By default, no documentation is generated for private
methods or fields. This option causes fpdoc to generate
documentation for these methods as well.
- By default, fpdoc is sparse with output. This tells
fpdoc to generate some more information about what it is doing.
- If this option is specified, fpdoc will emit a
warning if it does not find a description node for an identifier it is
- If this option is specified, fpdoc will write a
fpdoc project file (to the specified file name) that corresponds to the
command-line options given.
- ppc386(1) latex(1) makeskel(1)