fpdoc(1)

NAME
fpdoc - The FPC Pascal unit documentation generator.

SYNOPSIS
fpdoc --input=inputcommand [--output=output] [--format=fmt] [--descr=descriptionfile] [--package=packagename] [options]

Description
fpdoc 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.

Usage
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.

Options
fpdoc has several options, most of them optional, defaults will be used in most cases.

--content
    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.

--cputarget=value
    This option tells fpdoc for which CPU to generate documentation. This simply defines the approriate CPU macros.

--descr=descfile
    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.

--descr-dir=dir
    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.

--dont-trim
    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.

--dry-run
    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 missing.

--format=fmt
    Specifies the format fmt in which the documentation will be generated. Currenly, the following formats are known:

    chm CHM with 8.3 conforming filenames, for windows mostly.

    dxml
        Delphi compatible XML output.

    htm HTML with 8.3 conforming filenames.

    html
        HTML with long filenames.

    ipf IPF output (OS/2 format, can be used with docview from fpGUI).

    xhtml
        XHTML with long filesnames.

    latex
        LaTex, which uses the fpc.sty style used by the Free Pascal documentation.

    man man page output (unix manual pages, one page per identifier).

    rtf RTF output.

    txt Plain text output.

    xml-struct
        Structured XML.

--help
    Show a command-line option summary.

--hide-protected
    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. unavailable) link.

--html-search=link
    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.

--import=impfile
    imports a content file impfile from another documentation set. This can be used to resolve references to elements within this other documentation file;

--input=cmd
    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.

--input-dir=dir
    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 --input command.

--lang=language
    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

    de  German.

    fr  French.

    nl  Dutch.

--latex-extension=ext
    Sets the extension to use for the LaTeX file to ext the default is .tex (with . (dot) included).

--latex-highlight
    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.

--mo-dir=dir
    This option tells fpdoc where to look for the translation files that can be used to internationalize fpdoc's output.

--ostarget=value
    This option tells fpdoc for which operating system to generate documentation. This simply defines the approriate operating system macros.

--output=name
    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 name.

--package=packagename
    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.

--parse-impl
    (Experimental) try to parse the implementation of a unit too, this can be used for syntax checking.

--project=file
    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.

--show-private
    By default, no documentation is generated for private methods or fields. This option causes fpdoc to generate documentation for these methods as well.

--verbose
    By default, fpdoc is sparse with output. This tells fpdoc to generate some more information about what it is doing.

--warn-no-node
    If this option is specified, fpdoc will emit a warning if it does not find a description node for an identifier it is documenting.

--write-project=file
    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.

SEE ALSO

    ppc386(1) latex(1) makeskel(1)