1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
.TH fpdoc 1 "9 march 2002" "Free Pascal" "Free Pascal unit documentation generator"
.SH NAME
fpdoc \- The FPC Pascal unit documentation generator.
.SH SYNOPSIS
\fBfpdoc\fP \-\-input=inputcommand [\-\-output=output] [\-\-format=fmt]
[\-\-descr=descriptionfile] [\-\-show-private] [\-\-hide-protected]
[\-\-lang=language] [\-\-content=contentfile] [\-\-import=importfile]
[\-\-package=packagename] [\-\-html-search=searchpage] [\-\-ostarget=target]
[\-\-cpu-target=target] [\-\-latex-extension=ext] [\-\-latex-highlight]
.SH Description
.B 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.
.SH Usage
You can invoke
.B 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.
.SH Options
.B fpdoc
has several options, most of them optional, defaults will be used in most
cases.
.TP
.BI \-\-content
This option tells
.B 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
.B --import
option.
.TP
.BI \-\-descr=descfile
This option specifies the name of a description file
.B descfile
that contains the actual documentation for the unit.
This option can be given several times, for several description files.
.TP
.BI \-\-format=fmt
Specifies the format
.B fmt
in which the documentation will be generated. Currenly,
the following formats are known:
.RS
.TP
.I htm
HTML with 8.3 conforming filenames.
.TP
.I html
HTML with long filenames.
.TP
.I xhtml
XHTML with long filesnames.
.TP
.I latex
LaTex, which uses the fpc.sty style used by the Free Pascal documentation.
.TP
.I xml-struct
Structured XML.
.RE
.TP
.BI \-\-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.
.TP
.BI \-\-html\-search=link
Adds an entry for an HTML search page at location
.B link
in the headers of the generated HTML pages. There is no search page
provided, this should be made and provided by the user.
.TP
.BI \-\-import=impfile
imports a content file
.B impfile
from another documentation set. This can be used to
resolve references to elements within this other documentation file;
.TP
.B \-\-input=cmd
This option tells
.B fpdoc
what input file should be used. The argument
.B 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.
.TP
.BI \-\-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
.RS
.TP
.I de
German.
.TP
.I fr
French.
.TP
.I nl
Dutch.
.RE
.TP
.BI \-\-latex\-extension=ext
Sets the extension to use for the LaTeX file to
.I ext
the default is
.BI .tex
(with . (dot) included).
.TP
.BI \-\-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.
.TP
.BI \-\-output=name
This option tells
.B fpdoc
where the output file should be generated. How this option is interpreted
depends on the format that is used. For latex,
.B name
is interpreted as the
filename for the tex file. For all other formats,
.B 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.
.TP
.BI \-\-package=packagename
Specifies the package name. All units will be documented as part of
.I 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.
.TP
.BI \-\-show\-private
By default, no documentation is generated for private methods or fields.
This option causes
.B fpdoc
to generate documentation for these methods as well.
.TP
.BI \-\-warn\-no\-node
If this option is specified,
.B fpdoc
will emit a warning if it does not find a description node for an identifier
it is documenting.
.SH SEE ALSO
.IP
.BR ppc386 (1)
.BR latex (1)
.BR makeskel (1)
|