@@ -87,8 +87,21 @@ def P : InlineCommand<"p">;
87
87
def A : InlineCommand<"a">;
88
88
def E : InlineCommand<"e">;
89
89
def Em : InlineCommand<"em">;
90
- def Ref : InlineCommand<"ref">;
91
- def Anchor : InlineCommand<"anchor">;
90
+ def Emoji : InlineCommand<"emoji">;
91
+
92
+ def Anchor : InlineCommand<"anchor">;
93
+ def Ref : InlineCommand<"ref">;
94
+ def RefItem : InlineCommand<"refitem">;
95
+ def Cite : InlineCommand<"cite">;
96
+
97
+ def CopyBrief : InlineCommand<"copybrief">;
98
+ def CopyDetails : InlineCommand<"copydetails">;
99
+ def CopyDoc : InlineCommand<"copydoc">;
100
+
101
+ // Typically not used inline, but they take a single word.
102
+ def Extends : InlineCommand<"extends">;
103
+ def Implements : InlineCommand<"implements">;
104
+ def MemberOf : InlineCommand<"memberof">;
92
105
93
106
//===----------------------------------------------------------------------===//
94
107
// BlockCommand
@@ -145,9 +158,11 @@ def Retval : BlockCommand<"retval">;
145
158
def Sa : BlockCommand<"sa">;
146
159
def See : BlockCommand<"see">;
147
160
def Since : BlockCommand<"since">;
161
+ def Test : BlockCommand<"test">;
148
162
def Todo : BlockCommand<"todo">;
149
163
def Version : BlockCommand<"version">;
150
164
def Warning : BlockCommand<"warning">;
165
+ def XRefItem : BlockCommand<"xrefitem">;
151
166
// HeaderDoc commands
152
167
def Abstract : BlockCommand<"abstract"> { let IsBriefCommand = 1; }
153
168
def ClassDesign : RecordLikeDetailCommand<"classdesign">;
@@ -170,6 +185,8 @@ def SuperClass : RecordLikeDetailCommand<"superclass">;
170
185
171
186
defm Code : VerbatimBlockCommand<"code", "endcode">;
172
187
defm Verbatim : VerbatimBlockCommand<"verbatim", "endverbatim">;
188
+
189
+ defm DocbookOnly : VerbatimBlockCommand<"docbookonly", "enddocbookonly">;
173
190
defm Htmlonly : VerbatimBlockCommand<"htmlonly", "endhtmlonly">;
174
191
defm Latexonly : VerbatimBlockCommand<"latexonly", "endlatexonly">;
175
192
defm Xmlonly : VerbatimBlockCommand<"xmlonly", "endxmlonly">;
@@ -178,10 +195,19 @@ defm Rtfonly : VerbatimBlockCommand<"rtfonly", "endrtfonly">;
178
195
179
196
defm Dot : VerbatimBlockCommand<"dot", "enddot">;
180
197
defm Msc : VerbatimBlockCommand<"msc", "endmsc">;
198
+ defm Uml : VerbatimBlockCommand<"startuml", "enduml">;
199
+
200
+ // Actually not verbatim blocks, we should also parse commands within them.
201
+ defm Internal : VerbatimBlockCommand<"internal", "endinternal">;
202
+ // TODO: conflicts with HeaderDoc link, /link.
203
+ //defm Link : VerbatimBlockCommand<"link", "endlink">;
204
+ defm ParBlock : VerbatimBlockCommand<"parblock", "endparblock">;
205
+ defm SecRefList : VerbatimBlockCommand<"secreflist", "endsecreflist">;
181
206
182
207
// These three commands have special support in CommentLexer to recognize their
183
208
// names.
184
209
def FDollar : VerbatimBlockCommand<"f$">; // Inline LaTeX formula
210
+ defm FParen : VerbatimBlockCommand<"f(", "f)">; // Inline LaTeX text
185
211
defm FBracket : VerbatimBlockCommand<"f[", "f]">; // Displayed LaTeX formula
186
212
defm FBrace : VerbatimBlockCommand<"f{", "f}">; // LaTeX environment
187
213
@@ -199,11 +225,18 @@ def Addtogroup : VerbatimLineCommand<"addtogroup">;
199
225
def Weakgroup : VerbatimLineCommand<"weakgroup">;
200
226
def Name : VerbatimLineCommand<"name">;
201
227
228
+ // These actually take a single word, but it's optional.
229
+ // And they're used on a separate line typically, not inline.
230
+ def Dir : VerbatimLineCommand<"dir">;
231
+ def File : VerbatimLineCommand<"file">;
232
+
202
233
def Section : VerbatimLineCommand<"section">;
203
234
def Subsection : VerbatimLineCommand<"subsection">;
204
235
def Subsubsection : VerbatimLineCommand<"subsubsection">;
205
236
def Paragraph : VerbatimLineCommand<"paragraph">;
237
+ def TableOfContents : VerbatimLineCommand<"tableofcontents">;
206
238
239
+ def Page : VerbatimLineCommand<"page">;
207
240
def Mainpage : VerbatimLineCommand<"mainpage">;
208
241
def Subpage : VerbatimLineCommand<"subpage">;
209
242
@@ -212,13 +245,79 @@ def Related : VerbatimLineCommand<"related">;
212
245
def RelatesAlso : VerbatimLineCommand<"relatesalso">;
213
246
def RelatedAlso : VerbatimLineCommand<"relatedalso">;
214
247
248
+ def AddIndex : VerbatimLineCommand<"addindex">;
249
+
250
+ // These take a single argument mostly, but since they include a file they'll
251
+ // typically be on their own line.
252
+ def DocbookInclude : VerbatimLineCommand<"docbookinclude">;
253
+ def DontInclude : VerbatimLineCommand<"dontinclude">;
254
+ def Example : VerbatimLineCommand<"example">;
255
+ def HtmlInclude : VerbatimLineCommand<"htmlinclude">;
256
+ def Include : VerbatimLineCommand<"include">;
257
+ def ManInclude : VerbatimLineCommand<"maninclude">;
258
+ def LatexInclude : VerbatimLineCommand<"latexinclude">;
259
+ def RtfInclude : VerbatimLineCommand<"rtfinclude">;
260
+ def Snippet : VerbatimLineCommand<"snippet">;
261
+ def VerbInclude : VerbatimLineCommand<"verbinclude">;
262
+ def XmlInclude : VerbatimLineCommand<"xmlinclude">;
263
+
264
+ def Image : VerbatimLineCommand<"image">;
265
+ def DotFile : VerbatimLineCommand<"dotfile">;
266
+ def MscFile : VerbatimLineCommand<"mscfile">;
267
+ def DiaFile : VerbatimLineCommand<"diafile">;
268
+
269
+ def Line : VerbatimLineCommand<"line">;
270
+ def Skip : VerbatimLineCommand<"skip">;
271
+ def SkipLine : VerbatimLineCommand<"skipline">;
272
+ def Until : VerbatimLineCommand<"until">;
273
+
274
+ def NoOp : VerbatimLineCommand<"noop">;
275
+
276
+ // These have actually no arguments, but we can treat them as line commands.
277
+ def CallGraph : VerbatimLineCommand<"callgraph">;
278
+ def HideCallGraph : VerbatimLineCommand<"hidecallgraph">;
279
+ def CallerGraph : VerbatimLineCommand<"callergraph">;
280
+ def HideCallerGraph : VerbatimLineCommand<"hidecallergraph">;
281
+ def ShowInitializer : VerbatimLineCommand<"showinitializer">;
282
+ def HideInitializer : VerbatimLineCommand<"hideinitializer">;
283
+ def ShowRefBy : VerbatimLineCommand<"showrefby">;
284
+ def HideRefBy : VerbatimLineCommand<"hiderefby">;
285
+ def ShowRefs : VerbatimLineCommand<"showrefs">;
286
+ def HideRefs : VerbatimLineCommand<"hiderefs">;
287
+
288
+ // These also have no argument.
289
+ def Private : VerbatimLineCommand<"private">;
290
+ def Protected : VerbatimLineCommand<"protected">;
291
+ def Public : VerbatimLineCommand<"public">;
292
+ def Pure : VerbatimLineCommand<"pure">;
293
+ def Static : VerbatimLineCommand<"static">;
294
+
295
+ // These also have no argument.
296
+ def NoSubgrouping : VerbatimLineCommand<"nosubgrouping">;
297
+ def PrivateSection : VerbatimLineCommand<"privatesection">;
298
+ def ProtectedSection : VerbatimLineCommand<"protectedsection">;
299
+ def PublicSection : VerbatimLineCommand<"publicsection">;
300
+
301
+ // We might also build proper support for if/ifnot/else/elseif/endif.
302
+ def If : VerbatimLineCommand<"if">;
303
+ def IfNot : VerbatimLineCommand<"ifnot">;
304
+ def Else : VerbatimLineCommand<"else">;
305
+ def ElseIf : VerbatimLineCommand<"elseif">;
306
+ def Endif : VerbatimLineCommand<"endif">;
307
+
308
+ // Not treated as VerbatimBlockCommand because it spans multiple comments.
309
+ def Cond : VerbatimLineCommand<"cond">;
310
+ def EndCond : VerbatimLineCommand<"endcond">;
311
+
215
312
//===----------------------------------------------------------------------===//
216
313
// DeclarationVerbatimLineCommand
217
314
//===----------------------------------------------------------------------===//
218
315
219
316
// Doxygen commands.
317
+ def Concept : DeclarationVerbatimLineCommand<"concept">;
220
318
def Def : DeclarationVerbatimLineCommand<"def">;
221
319
def Fn : DeclarationVerbatimLineCommand<"fn">;
320
+ def IDLExcept : DeclarationVerbatimLineCommand<"idlexcept">;
222
321
def Namespace : DeclarationVerbatimLineCommand<"namespace">;
223
322
def Overload : DeclarationVerbatimLineCommand<"overload">;
224
323
def Property : DeclarationVerbatimLineCommand<"property">;
0 commit comments