Warning, /frameworks/syntax-highlighting/data/syntax/doxygen.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language 0003 [ 0004 <!ENTITY wordsep "(?:[][,?;()]|\.$|\.?\s|$)"> <!-- things that end a TagWord --> 0005 <!ENTITY sl_word ".*?(?=&wordsep;)"> 0006 <!ENTITY ml_word ".*?(?=&wordsep;|\*/)"> 0007 ]> 0008 <language name="Doxygen" 0009 version="15" 0010 kateversion="5.0" 0011 section="Markup" 0012 extensions="*.dox;*.doxygen" 0013 mimetype="text/x-doxygen" 0014 author="Dominik Haumann (dhaumann@kde.org)" 0015 license="MIT" 0016 priority="9"> 0017 <highlighting> 0018 <!-- NOTE: all tags may begin with a \ or @ char 0019 so if you add/change tags you have to do it twice --> 0020 <!-- NOTE: Tags @code/@endcode, @dot/@enddot, @vermatim/@endverbatim, @msc/@endmsc, @f[/@f] 0021 do not present in keywords due separate handle rules... 0022 --> 0023 <list name="TagOnly"> 0024 <item>\arg</item> <item>@arg</item> 0025 <item>\author</item> <item>@author</item> 0026 <item>\authors</item> <item>@authors</item> 0027 <item>\brief</item> <item>@brief</item> 0028 <item>\callgraph</item> <item>@callgraph</item> 0029 <item>\callergraph</item> <item>@callergraph</item> 0030 <item>\date</item> <item>@date</item> 0031 <item>\deprecated</item> <item>@deprecated</item> 0032 <item>\details</item> <item>@details</item> 0033 <item>\docbookonly</item> <item>@docbookonly</item> 0034 <item>\else</item> <item>@else</item> 0035 <item>\endcond</item> <item>@endcond</item> 0036 <item>\enddocbookonly</item> <item>@enddocbookonly</item> 0037 <item>\endhtmlonly</item> <item>@endhtmlonly</item> 0038 <item>\endif</item> <item>@endif</item> 0039 <item>\endinternal</item> <item>@endinternal</item> 0040 <item>\endlatexonly</item> <item>@endlatexonly</item> 0041 <item>\endlink</item> <item>@endlink</item> 0042 <item>\endmanonly</item> <item>@endmanonly</item> 0043 <item>\endparblock</item> <item>@endparblock</item> 0044 <item>\endrtfonly</item> <item>@endrtfonly</item> 0045 <item>\endsecreflist</item> <item>@endsecreflist</item> 0046 <item>\endxmlonly</item> <item>@endxmlonly</item> 0047 <item>\hideinitializer</item> <item>@hideinitializer</item> 0048 <item>\htmlonly</item> <item>@htmlonly</item> 0049 <!-- TODO @internal is a candidate to be handled separately, cuz may introduce folding region --> 0050 <item>\internal</item> <item>@internal</item> 0051 <item>\invariant</item> <item>@invariant</item> 0052 <item>\latexonly</item> <item>@latexonly</item> 0053 <item>\li</item> <item>@li</item> 0054 <item>\manonly</item> <item>@manonly</item> 0055 <item>\n</item> <item>@n</item> 0056 <item>\nosubgrouping</item> <item>@nosubgrouping</item> 0057 <item>\only</item> <item>@only</item> 0058 <item>\parblock</item> <item>@parblock</item> 0059 <item>\post</item> <item>@post</item> 0060 <item>\pre</item> <item>@pre</item> 0061 <item>\private</item> <item>@pivate</item> 0062 <item>\privatesection</item> <item>@pivatesection</item> 0063 <item>\protected</item> <item>@protected</item> 0064 <item>\protectedsection</item> <item>@protectedsection</item> 0065 <item>\public</item> <item>@public</item> 0066 <item>\publicsection</item> <item>@publicsection</item> 0067 <item>\pure</item> <item>@pure</item> 0068 <item>\remark</item> <item>@remark</item> 0069 <item>\remarks</item> <item>@remarks</item> 0070 <item>\return</item> <item>@return</item> 0071 <item>\returns</item> <item>@returns</item> 0072 <item>\result</item> <item>@result</item> 0073 <item>\rtfonly</item> <item>@rtfonly</item> 0074 <item>\sa</item> <item>@sa</item> 0075 <item>\secreflist</item> <item>@secreflist</item> 0076 <item>\see</item> <item>@see</item> 0077 <item>\short</item> <item>@short</item> 0078 <item>\showinitializer</item> <item>@showinitializer</item> 0079 <item>\since</item> <item>@since</item> 0080 <item>\static</item> <item>@static</item> 0081 <item>\tableofcontents</item> <item>@tableofcontents</item> 0082 <item>\test</item> <item>@test</item> 0083 <item>\version</item> <item>@version</item> 0084 <item>\xmlonly</item> <item>@xmlonly</item> 0085 </list> 0086 0087 <list name="TagWord"> 0088 <item>\a</item> <item>@a</item> 0089 <item>\anchor</item> <item>@anchor</item> 0090 <item>\b</item> <item>@b</item> 0091 <item>\c</item> <item>@c</item> 0092 <item>\cite</item> <item>@cite</item> 0093 <item>\cond</item> <item>@cond</item> 0094 <item>\copybrief</item> <item>@copybrief</item> 0095 <item>\copydetails</item> <item>@copydetails</item> 0096 <item>\copydoc</item> <item>@copydoc</item> 0097 <item>\def</item> <item>@def</item> 0098 <item>\dir</item> <item>@dir</item> 0099 <item>\dontinclude</item> <item>@dontinclude</item> 0100 <item>\e</item> <item>@e</item> 0101 <item>\elseif</item> <item>@elseif</item> 0102 <item>\em</item> <item>@em</item> 0103 <item>\enum</item> <item>@enum</item> 0104 <item>\example</item> <item>@example</item> 0105 <item>\exception</item> <item>@exception</item> 0106 <item>\exceptions</item> <item>@exceptions</item> 0107 <item>\extends</item> <item>@extends</item> 0108 <item>\file</item> <item>@file</item> 0109 <item>\htmlinclude</item> <item>@htmlinclude</item> 0110 <item>\idlexcept</item> <item>@idlexcept</item> 0111 <item>\if</item> <item>@if</item> 0112 <item>\ifnot</item> <item>@ifnot</item> 0113 <item>\implements</item> <item>@implements</item> 0114 <item>\include</item> <item>@include</item> 0115 <item>\includelineno</item> <item>@includelineno</item> 0116 <item>\latexinclude</item> <item>@latexinclude</item> 0117 <item>\link</item> <item>@link</item> 0118 <item>\memberof</item> <item>@memberof</item> 0119 <item>\namespace</item> <item>@namespace</item> 0120 <item>\p</item> <item>@p</item> 0121 <item>\package</item> <item>@package</item> 0122 <item>\property</item> <item>@property</item> 0123 <item>\relatedalso</item> <item>@relatedalso</item> 0124 <item>\relatesalso</item> <item>@relatesalso</item> 0125 <item>\related</item> <item>@related</item> 0126 <item>\relates</item> <item>@relates</item> 0127 <item>\retval</item> <item>@retval</item> 0128 <item>\throw</item> <item>@throw</item> 0129 <item>\throws</item> <item>@throws</item> 0130 <item>\verbinclude</item> <item>@verbinclude</item> 0131 <item>\version</item> <item>@version</item> 0132 <!-- TODO Introduce separate context for @xrefitem? --> 0133 <item>\xrefitem</item> <item>@xrefitem</item> 0134 </list> 0135 <list name="TagParam"> 0136 <item>\param</item> <item>@param</item> 0137 <!-- TODO @tparam has no optional direction actually! --> 0138 <item>\tparam</item> <item>@tparam</item> 0139 </list> 0140 <!-- TODO Better (separate?) highlighting for @image required --> 0141 <list name="TagWordWord"> 0142 <item>\image</item> <item>@image</item> 0143 </list> 0144 <!-- TODO @union, @struct, @protocol, @interface, @class, @category 0145 actually takes 3 params, 1 mandatory and 2 optional 0146 --> 0147 <!-- TODO @headerfile actually takes 2 params, where last one is optional --> 0148 <list name="TagWordString"> 0149 <item>\addtogroup</item> <item>@addtogroup</item> 0150 <item>\category</item> <item>@category</item> 0151 <item>\class</item> <item>@class</item> 0152 <item>\diafile</item> <item>@diafile</item> 0153 <item>\dotfile</item> <item>@dotfile</item> 0154 <item>\defgroup</item> <item>@defgroup</item> 0155 <item>\interface</item> <item>@interface</item> 0156 <item>\headerfile</item> <item>@headerfile</item> 0157 <item>\mscfile</item> <item>@mscfile</item> 0158 <item>\page</item> <item>@page</item> 0159 <item>\paragraph</item> <item>@paragraph</item> 0160 <item>\protocol</item> <item>@prtocol</item> 0161 <item>\ref</item> <item>@ref</item> 0162 <item>\section</item> <item>@section</item> 0163 <item>\snippet</item> <item>@snippet</item> 0164 <item>\struct</item> <item>@struct</item> 0165 <item>\subpage</item> <item>@subpage</item> 0166 <item>\subsection</item> <item>@subsection</item> 0167 <item>\subsubsection</item> <item>@subsubsection</item> 0168 <item>\union</item> <item>@union</item> 0169 <item>\weakgroup</item> <item>@weakgroup</item> 0170 </list> 0171 <list name="TagString"> 0172 <item>\addindex</item> <item>@addindex</item> 0173 <item>\copyright</item> <item>@copyright</item> 0174 <item>\fn</item> <item>@fn</item> 0175 <item>\ingroup</item> <item>@ingroup</item> 0176 <item>\line</item> <item>@line</item> 0177 <item>\mainpage</item> <item>@mainpage</item> 0178 <item>\name</item> <item>@name</item> 0179 <item>\overload</item> <item>@overload</item> 0180 <item>\par</item> <item>@par</item> 0181 <item>\skip</item> <item>@skip</item> 0182 <item>\skipline</item> <item>@skipline</item> 0183 <item>\typedef</item> <item>@typedef</item> 0184 <item>\until</item> <item>@until</item> 0185 <item>\var</item> <item>@var</item> 0186 <item>\vhdlflow</item> <item>@vhdlflow</item> 0187 </list> 0188 <list name="TagEnd"> 0189 <item>\endcode</item> <item>@endcode</item> 0190 <item>\endverbatim</item> <item>@endverbatim</item> 0191 <item>\endmsc</item> <item>@endmsc</item> 0192 <item>\enddot</item> <item>@enddot</item> 0193 </list> 0194 <list name="Note"> 0195 <item>\note</item> <item>@note</item> 0196 </list> 0197 <list name="Warning"> 0198 <item>\warning</item> <item>@warning</item> 0199 </list> 0200 <list name="Attention"> 0201 <item>\attention</item> <item>@attention</item> 0202 <item>\bug</item> <item>@bug</item> 0203 </list> 0204 <list name="Todo"> 0205 <item>\todo</item> <item>@todo</item> 0206 </list> 0207 0208 <contexts> 0209 <!-- 0210 Different types of recognized command formats: 0211 (w/ params specified according doxygen manual (http://www.stack.nl/~dimitri/doxygen/commands.html)) 0212 0213 @tag : TagOnly 0214 @tag <word> : TagWord 0215 @tag (rest_of_line) : TagString 0216 @tag {paragraph} : TagOnly 0217 @tag <word> <word> : TagWordWord 0218 @tag <word> (rest_of_line) : TagWordString 0219 0220 TODO Not all commands are handled properly nowadays :( Need few more contexts... 0221 --> 0222 <context attribute="Normal Text" lineEndContext="#stay" name="Normal"> 0223 <RegExpr attribute="Comment" context="LineComment" String="//(?:!|(?:/(?=[^/]|$)))<?" /> 0224 <RegExpr attribute="Comment" context="BlockComment" String="/\*(?:\*[^*/]|!|[*!]<|\*$)" beginRegion="BlockComment" /> 0225 <RegExpr attribute="Region" context="#stay" String="//\s*@\{\s*$" beginRegion="MemberGroup" /> 0226 <RegExpr attribute="Region" context="#stay" String="//\s*@\}\s*$" endRegion="MemberGroup" /> 0227 <RegExpr attribute="Region" context="#stay" String="/\*\s*@\{\s*\*/" beginRegion="MemberGroup" /> 0228 <RegExpr attribute="Region" context="#stay" String="/\*\s*@\}\s*\*/" endRegion="MemberGroup" /> 0229 </context> 0230 <context attribute="Comment" lineEndContext="#pop" name="LineComment"> 0231 <LineContinue attribute="Comment" context="#stay" /> 0232 <DetectSpaces /> 0233 <IncludeRules context="##Comments" /> 0234 <DetectIdentifier /> 0235 <AnyChar attribute="Comment" context="SL_StartTag" String="\@" lookAhead="true" /> 0236 <DetectChar attribute="Comment" context="SL_StartHTMLTag" char="<" lookAhead="true" /> 0237 <DetectChar attribute="Comment" context="Entities" char="&" lookAhead="true" /> 0238 </context> 0239 <context attribute="Comment" lineEndContext="#stay" name="BlockComment"> 0240 <DetectSpaces /> 0241 <IncludeRules context="##Comments" /> 0242 <DetectIdentifier /> 0243 <AnyChar attribute="Comment" context="ML_StartTag" String="\@" lookAhead="true" /> 0244 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment" /> 0245 <DetectChar attribute="Comment" context="ML_StartHTMLTag" char="<" lookAhead="true" /> 0246 <DetectChar attribute="Comment" context="Entities" char="&" lookAhead="true" /> 0247 </context> 0248 0249 <!-- NOTE: all contexts beginning with ML_ are for multiline comments 0250 The following contexts contain a Detect2Chars that looks for a */ sequence 0251 to end multiline comments. Singleline comments do not have this limitation - 0252 that's why all contexts are copy&pasted and the line <Detect2Chars ... */> is removed. 0253 <IncludeRules context="acontext"> could be used instead but it would make context switching 0254 much more complex and very hard to understand! (But use IncludeRules where the rules don't 0255 refer to another SL_*/ML_* context, to help maintainability.) 0256 --> 0257 <context attribute="Comment" lineEndContext="#pop" name="ML_StartTag"> 0258 <keyword attribute="Tags" context="#pop!ML_TagWord" String="TagWord" /> 0259 <keyword attribute="Tags" context="#pop!ML_TagParam" String="TagParam" /> 0260 <keyword attribute="Tags" context="#pop!ML_TagWordWord" String="TagWordWord" /> 0261 <keyword attribute="Tags" context="#pop!ML_TagString" String="TagString" /> 0262 <keyword attribute="Tags" context="#pop!ML_TagWordString" String="TagWordString" /> 0263 <WordDetect attribute="Tags" context="#pop!ML_Code" String="\code" beginRegion="VerbatimBlock" /> 0264 <WordDetect attribute="Tags" context="#pop!ML_Code" String="@code" beginRegion="VerbatimBlock" /> 0265 <WordDetect attribute="Tags" context="#pop!ML_Verbatim" String="\verbatim" beginRegion="VerbatimBlock" /> 0266 <WordDetect attribute="Tags" context="#pop!ML_Verbatim" String="@verbatim" beginRegion="VerbatimBlock" /> 0267 <WordDetect attribute="Tags" context="#pop!ML_Formula" String="\f[" beginRegion="VerbatimBlock" /> 0268 <WordDetect attribute="Tags" context="#pop!ML_Formula" String="@f[" beginRegion="VerbatimBlock" /> 0269 <StringDetect attribute="Tags" context="#pop!ML_FormulaShort" String="\f$" beginRegion="VerbatimBlock" /> 0270 <StringDetect attribute="Tags" context="#pop!ML_FormulaShort" String="@f$" beginRegion="VerbatimBlock" /> 0271 <StringDetect attribute="Tags" context="#pop!ML_FormulaEnv" String="\f{" beginRegion="VerbatimBlock" /> 0272 <StringDetect attribute="Tags" context="#pop!ML_FormulaEnv" String="@f{" beginRegion="VerbatimBlock" /> 0273 <WordDetect attribute="Tags" context="#pop!ML_Msc" String="\msc" beginRegion="VerbatimBlock" /> 0274 <WordDetect attribute="Tags" context="#pop!ML_Msc" String="@msc" beginRegion="VerbatimBlock" /> 0275 <WordDetect attribute="Tags" context="#pop!ML_Dot" String="\dot" beginRegion="VerbatimBlock" /> 0276 <WordDetect attribute="Tags" context="#pop!ML_Dot" String="@dot" beginRegion="VerbatimBlock" /> 0277 <IncludeRules context="Inc_OtherTag" /> 0278 </context> 0279 <context attribute="Comment" lineEndContext="#pop" name="ML_StartHTMLTag"> 0280 <Detect2Chars attribute="Comment" context="#pop" char="<" char1="<" /> 0281 <RegExpr attribute="HTML Tag" context="#pop!ML_htmltag" String="<\/?[-\w0-9._:@]+" /> 0282 <StringDetect attribute="HTML Comment" context="#pop!ML_htmlcomment" String="<!--" /> 0283 <DetectChar attribute="Comment" context="#pop" char="<" /> 0284 </context> 0285 0286 <!-- tag contexts --> 0287 <context attribute="Comment" lineEndContext="#pop" name="ML_TagWord"> 0288 <DetectSpaces /> 0289 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0290 <keyword attribute="Tags" context="#pop!ML_TagWord" String="TagWord" /> 0291 <IncludeRules context="ML_Inc_Word" /> 0292 </context> 0293 <context attribute="Comment" lineEndContext="#pop" name="ML_TagParam"> 0294 <DetectSpaces /> 0295 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0296 <StringDetect attribute="Tags" context="#pop!ML_TagWord" String="[in]" /> 0297 <StringDetect attribute="Tags" context="#pop!ML_TagWord" String="[out]" /> 0298 <StringDetect attribute="Tags" context="#pop!ML_TagWord" String="[in,out]" /> 0299 <IncludeRules context="ML_Inc_Word" /> 0300 </context> 0301 <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordWord"> 0302 <DetectSpaces /> 0303 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0304 <RegExpr attribute="Word" context="#pop!ML_TagWord" String="&ml_word;" /> 0305 </context> 0306 <context attribute="Comment" lineEndContext="#pop" name="ML_TagString"> 0307 <DetectSpaces /> 0308 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0309 <StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="<!--" /> 0310 <Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" /> 0311 <RegExpr attribute="HTML Tag" context="ML_htmltag" String="<\/?[-\w0-9._:@]+" /> 0312 <RegExpr attribute="Description" context="#stay" String="[<*]?[^<*\s]+" /> 0313 </context> 0314 <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString"> 0315 <DetectSpaces /> 0316 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0317 <IncludeRules context="ML_Inc_Word" /> 0318 </context> 0319 0320 <context name="ML_Inc_Word" attribute="Word" lineEndContext="#pop"> 0321 <RegExpr attribute="Word" context="#pop" String="&ml_word;" /> 0322 </context> 0323 0324 0325 <!-- html contexts --> 0326 <context name="ML_htmltag" attribute="Identifier" lineEndContext="#stay"> 0327 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0328 <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1=">" /> 0329 <DetectChar attribute="HTML Tag" context="#pop" char=">" /> 0330 <DetectSpaces /> 0331 <DetectChar attribute="Identifier" context="ML_identifiers" char="=" /> 0332 </context> 0333 <context name="ML_htmlcomment" attribute="HTML Comment" lineEndContext="#stay"> 0334 <DetectSpaces /> 0335 <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0336 <IncludeRules context="##Comments" /> 0337 <DetectIdentifier /> 0338 <StringDetect attribute="HTML Comment" context="#pop" String="-->" /> 0339 </context> 0340 <context name="ML_identifiers" attribute="Identifier" lineEndContext="#stay"> 0341 <DetectSpaces /> 0342 <Detect2Chars attribute="Comment" context="#pop#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0343 <DetectChar attribute="Types" context="ML_types1" char="'" /> 0344 <DetectChar attribute="Types" context="ML_types2" char=""" /> 0345 </context> 0346 <context name="ML_types1" attribute="Types" lineEndContext="#stay"> 0347 <Detect2Chars attribute="Comment" context="#pop#pop#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0348 <DetectChar attribute="Types" context="#pop#pop" char="'" /> 0349 </context> 0350 <context name="ML_types2" attribute="Types" lineEndContext="#stay"> 0351 <Detect2Chars attribute="Comment" context="#pop#pop#pop#pop" char="*" char1="/" endRegion="BlockComment" /> 0352 <DetectChar attribute="Types" context="#pop#pop" char=""" /> 0353 </context> 0354 0355 <context name="ML_FindNextLine" attribute="Comment" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> 0356 <DetectSpaces /> 0357 <Detect2Chars attribute="Comment" context="#pop!ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0358 <Detect2Chars attribute="Comment" context="ML_VerbatimPrefix" char="*" char1="*" lookAhead="true" /> 0359 <DetectChar attribute="Comment" context="#pop" char="*" /> 0360 </context> 0361 <context name="ML_VerbatimPrefix" attribute="Comment" lineEndContext="#stay"> 0362 <DetectChar attribute="Comment" context="#pop" char="*" /> 0363 </context> 0364 0365 <context name="ML_End_BlockComment" attribute="Comment" lineEndContext="#stay"> 0366 <Detect2Chars attribute="Error" context="#pop#pop#pop" char="*" char1="/" endRegion="BlockComment"/> 0367 </context> 0368 0369 <context name="ML_Code" attribute="Code" lineEndContext="ML_FindNextLine"> 0370 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0371 <WordDetect attribute="Tags" context="#pop" String="\endcode" endRegion="VerbatimBlock" /> 0372 <WordDetect attribute="Tags" context="#pop" String="@endcode" endRegion="VerbatimBlock" /> 0373 </context> 0374 0375 <context name="ML_Verbatim" attribute="Verbatim" lineEndContext="ML_FindNextLine"> 0376 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0377 <WordDetect attribute="Tags" context="#pop" String="\endverbatim" endRegion="VerbatimBlock" /> 0378 <WordDetect attribute="Tags" context="#pop" String="@endverbatim" endRegion="VerbatimBlock" /> 0379 </context> 0380 0381 <context name="ML_Formula" attribute="Formulas" lineEndContext="ML_FindNextLine"> 0382 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0383 <StringDetect attribute="Tags" context="#pop" String="\f]" endRegion="VerbatimBlock" /> 0384 <StringDetect attribute="Tags" context="#pop" String="@f]" endRegion="VerbatimBlock" /> 0385 <!-- TODO: How to force LaTeX math context here?? --> 0386 <!-- <IncludeRules context="##LaTeX" /> --> 0387 </context> 0388 0389 <context name="ML_FormulaShort" attribute="Formulas" lineEndContext="ML_FindNextLine"> 0390 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0391 <StringDetect attribute="Tags" context="#pop" String="\f$" endRegion="VerbatimBlock" /> 0392 <StringDetect attribute="Tags" context="#pop" String="@f$" endRegion="VerbatimBlock" /> 0393 <!-- TODO: How to force LaTeX math context here?? --> 0394 <!-- <IncludeRules context="##LaTeX" /> --> 0395 </context> 0396 0397 <context name="ML_FormulaEnv" attribute="Word" lineEndContext="ML_FindNextLine"> 0398 <DetectChar attribute="Tags" context="#pop!ML_FormulaEnvStart" char="}" /> 0399 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0400 </context> 0401 0402 <context name="ML_FormulaEnvStart" attribute="Formulas" lineEndContext="ML_FindNextLine" fallthrough="true" fallthroughContext="#pop!ML_FormulaEnvFormula"> 0403 <DetectSpaces attribute="Comment" /> 0404 <DetectChar attribute="Tags" context="#pop!ML_FormulaEnvFormula" char="{" /> 0405 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0406 </context> 0407 0408 <context name="ML_FormulaEnvFormula" attribute="Formulas" lineEndContext="ML_FindNextLine"> 0409 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0410 <StringDetect attribute="Tags" context="#pop" String="\f}" endRegion="VerbatimBlock" /> 0411 <StringDetect attribute="Tags" context="#pop" String="@f}" endRegion="VerbatimBlock" /> 0412 <!-- TODO: How to force LaTeX math context here?? --> 0413 <!-- <IncludeRules context="##LaTeX" /> --> 0414 </context> 0415 0416 <context name="ML_Msc" attribute="Message Sequence Chart" lineEndContext="ML_FindNextLine"> 0417 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0418 <WordDetect attribute="Tags" context="#pop" String="\endmsc" endRegion="VerbatimBlock" /> 0419 <WordDetect attribute="Tags" context="#pop" String="@endmsc" endRegion="VerbatimBlock" /> 0420 </context> 0421 0422 <context name="ML_Dot" attribute="Dot Graph" lineEndContext="ML_FindNextLine"> 0423 <Detect2Chars attribute="Comment" context="ML_End_BlockComment" char="*" char1="/" endRegion="VerbatimBlock" lookAhead="1"/> 0424 <WordDetect attribute="Tags" context="#pop" String="\enddot" endRegion="VerbatimBlock" /> 0425 <WordDetect attribute="Tags" context="#pop" String="@enddot" endRegion="VerbatimBlock" /> 0426 </context> 0427 0428 <!-- NOTE: all contexts beginning with SL_ are for singleline comments --> 0429 <context attribute="Comment" lineEndContext="#pop" name="SL_StartTag"> 0430 <keyword attribute="Tags" context="#pop!SL_TagWord" String="TagWord" /> 0431 <keyword attribute="Tags" context="#pop!SL_TagParam" String="TagParam" /> 0432 <keyword attribute="Tags" context="#pop!SL_TagWordWord" String="TagWordWord" /> 0433 <keyword attribute="Tags" context="#pop!SL_TagString" String="TagString" /> 0434 <keyword attribute="Tags" context="#pop!SL_TagWordString" String="TagWordString" /> 0435 <WordDetect attribute="Tags" context="#pop!SL_Code" String="\code" beginRegion="VerbatimBlock" /> 0436 <WordDetect attribute="Tags" context="#pop!SL_Code" String="@code" beginRegion="VerbatimBlock" /> 0437 <WordDetect attribute="Tags" context="#pop!SL_Verbatim" String="\verbatim" beginRegion="VerbatimBlock" /> 0438 <WordDetect attribute="Tags" context="#pop!SL_Verbatim" String="@verbatim" beginRegion="VerbatimBlock" /> 0439 <WordDetect attribute="Tags" context="#pop!SL_Formula" String="\f[" beginRegion="VerbatimBlock" /> 0440 <WordDetect attribute="Tags" context="#pop!SL_Formula" String="@f[" beginRegion="VerbatimBlock" /> 0441 <StringDetect attribute="Tags" context="#pop!SL_FormulaShort" String="\f$" beginRegion="VerbatimBlock" /> 0442 <StringDetect attribute="Tags" context="#pop!SL_FormulaShort" String="@f$" beginRegion="VerbatimBlock" /> 0443 <StringDetect attribute="Tags" context="#pop!SL_FormulaEnv" String="\f{" beginRegion="VerbatimBlock" /> 0444 <StringDetect attribute="Tags" context="#pop!SL_FormulaEnv" String="@f{" beginRegion="VerbatimBlock" /> 0445 <WordDetect attribute="Tags" context="#pop!SL_Msc" String="\msc" beginRegion="VerbatimBlock" /> 0446 <WordDetect attribute="Tags" context="#pop!SL_Msc" String="@msc" beginRegion="VerbatimBlock" /> 0447 <WordDetect attribute="Tags" context="#pop!SL_Dot" String="\dot" beginRegion="VerbatimBlock" /> 0448 <WordDetect attribute="Tags" context="#pop!SL_Dot" String="@dot" beginRegion="VerbatimBlock" /> 0449 <IncludeRules context="Inc_OtherTag" /> 0450 </context> 0451 <context attribute="Comment" lineEndContext="#pop" name="SL_StartHTMLTag"> 0452 <Detect2Chars attribute="Comment" context="#pop" char="<" char1="<" /> 0453 <RegExpr attribute="HTML Tag" context="#pop!SL_htmltag" String="<\/?[-\w0-9._:@]+" /> 0454 <StringDetect attribute="HTML Comment" context="#pop!SL_htmlcomment" String="<!--" /> 0455 <DetectChar attribute="Comment" context="#pop" char="<" /> 0456 </context> 0457 0458 <!-- tag contexts --> 0459 <context attribute="Comment" lineEndContext="#pop" name="SL_TagWord"> 0460 <DetectSpaces /> 0461 <keyword attribute="Tags" context="#pop!SL_TagWord" String="TagWord" /> 0462 <IncludeRules context="SL_Inc_Word" /> 0463 </context> 0464 <context attribute="Comment" lineEndContext="#pop" name="SL_TagParam"> 0465 <DetectSpaces /> 0466 <StringDetect attribute="Tags" context="#pop!SL_TagWord" String="[in]" /> 0467 <StringDetect attribute="Tags" context="#pop!SL_TagWord" String="[out]" /> 0468 <StringDetect attribute="Tags" context="#pop!SL_TagWord" String="[in,out]" /> 0469 <IncludeRules context="SL_Inc_Word" /> 0470 </context> 0471 <context attribute="Comment" lineEndContext="#pop" name="SL_TagWordWord"> 0472 <DetectSpaces /> 0473 <RegExpr attribute="Word" context="#pop!SL_TagWord" String="&sl_word;" /> 0474 </context> 0475 <context attribute="Comment" lineEndContext="#pop" name="SL_TagString"> 0476 <DetectSpaces /> 0477 <StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="<!--" /> 0478 <Detect2Chars attribute="Comment" context="#stay" char="<" char1="<" /> 0479 <RegExpr attribute="HTML Tag" context="SL_htmltag" String="<\/?[-\w0-9._:@]+" /> 0480 <RegExpr attribute="Description" context="#stay" String="<?[^<\s]+" /> 0481 </context> 0482 <context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString"> 0483 <DetectSpaces /> 0484 <IncludeRules context="SL_Inc_Word" /> 0485 </context> 0486 <context name="SL_Inc_Word" attribute="Word" lineEndContext="#pop"> 0487 <RegExpr attribute="Word" context="#pop" String="&sl_word;" /> 0488 </context> 0489 0490 <!-- html contexts --> 0491 <context name="SL_htmltag" attribute="Identifier" lineEndContext="#pop"> 0492 <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1=">" /> 0493 <DetectChar attribute="HTML Tag" context="#pop" char=">" /> 0494 <DetectSpaces /> 0495 <DetectChar attribute="Identifier" context="SL_identifiers" char="=" /> 0496 </context> 0497 <context name="SL_htmlcomment" attribute="HTML Comment" lineEndContext="#pop"> 0498 <DetectSpaces /> 0499 <IncludeRules context="##Comments" /> 0500 <DetectIdentifier /> 0501 <StringDetect attribute="HTML Comment" context="#pop" String="-->" /> 0502 </context> 0503 <context name="SL_identifiers" attribute="Identifier" lineEndContext="#pop"> 0504 <DetectSpaces /> 0505 <DetectChar attribute="Types" context="SL_types1" char="'" /> 0506 <DetectChar attribute="Types" context="SL_types2" char=""" /> 0507 </context> 0508 <context name="SL_types1" attribute="Types" lineEndContext="#pop"> 0509 <DetectChar attribute="Types" context="#pop#pop" char="'" /> 0510 </context> 0511 <context name="SL_types2" attribute="Types" lineEndContext="#pop"> 0512 <DetectChar attribute="Types" context="#pop#pop" char=""" /> 0513 </context> 0514 0515 <context name="SL_FindNextLine" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop"> 0516 <DetectSpaces /> 0517 <StringDetect attribute="Comment" context="#pop" String="///" /> 0518 <StringDetect attribute="Comment" context="#pop" String="//!" /> 0519 <RegExpr attribute="Comment" context="#pop#pop#pop" String="." lookAhead="true" endRegion="VerbatimBlock" /> 0520 </context> 0521 0522 <context name="SL_Code" attribute="Code" lineEndContext="SL_FindNextLine"> 0523 <WordDetect attribute="Tags" context="#pop" String="\endcode" endRegion="VerbatimBlock" /> 0524 <WordDetect attribute="Tags" context="#pop" String="@endcode" endRegion="VerbatimBlock" /> 0525 </context> 0526 0527 <context name="SL_Verbatim" attribute="Verbatim" lineEndContext="SL_FindNextLine"> 0528 <WordDetect attribute="Tags" context="#pop" String="\endverbatim" endRegion="VerbatimBlock" /> 0529 <WordDetect attribute="Tags" context="#pop" String="@endverbatim" endRegion="VerbatimBlock" /> 0530 </context> 0531 0532 <context name="SL_Formula" attribute="Formulas" lineEndContext="SL_FindNextLine"> 0533 <StringDetect attribute="Tags" context="#pop" String="\f]" endRegion="VerbatimBlock" /> 0534 <StringDetect attribute="Tags" context="#pop" String="@f]" endRegion="VerbatimBlock" /> 0535 <!-- TODO: How to force LaTeX math context here?? --> 0536 <!-- <IncludeRules context="##LaTeX" /> --> 0537 </context> 0538 0539 <context name="SL_FormulaShort" attribute="Formulas" lineEndContext="SL_FindNextLine"> 0540 <StringDetect attribute="Tags" context="#pop" String="\f$" endRegion="VerbatimBlock" /> 0541 <StringDetect attribute="Tags" context="#pop" String="@f$" endRegion="VerbatimBlock" /> 0542 <!-- TODO: How to force LaTeX math context here?? --> 0543 <!-- <IncludeRules context="##LaTeX" /> --> 0544 </context> 0545 0546 <context name="SL_FormulaEnv" attribute="Word" lineEndContext="SL_FindNextLine"> 0547 <DetectChar attribute="Tags" context="#pop!SL_FormulaEnvStart" char="}" /> 0548 </context> 0549 0550 <context name="SL_FormulaEnvStart" attribute="Formulas" lineEndContext="SL_FindNextLine" fallthrough="true" fallthroughContext="#pop!SL_FormulaEnvFormula"> 0551 <DetectSpaces attribute="Comment" /> 0552 <DetectChar attribute="Tags" context="#pop!SL_FormulaEnvFormula" char="{" /> 0553 </context> 0554 0555 <context name="SL_FormulaEnvFormula" attribute="Formulas" lineEndContext="SL_FindNextLine"> 0556 <StringDetect attribute="Tags" context="#pop" String="\f}" endRegion="VerbatimBlock" /> 0557 <StringDetect attribute="Tags" context="#pop" String="@f}" endRegion="VerbatimBlock" /> 0558 <!-- TODO: How to force LaTeX math context here?? --> 0559 <!-- <IncludeRules context="##LaTeX" /> --> 0560 </context> 0561 0562 <context name="SL_Msc" attribute="Message Sequence Chart" lineEndContext="SL_FindNextLine"> 0563 <WordDetect attribute="Tags" context="#pop" String="\endmsc" endRegion="VerbatimBlock" /> 0564 <WordDetect attribute="Tags" context="#pop" String="@endmsc" endRegion="VerbatimBlock" /> 0565 </context> 0566 0567 <context name="SL_Dot" attribute="Dot Graph" lineEndContext="SL_FindNextLine"> 0568 <WordDetect attribute="Tags" context="#pop" String="\enddot" endRegion="VerbatimBlock" /> 0569 <WordDetect attribute="Tags" context="#pop" String="@enddot" endRegion="VerbatimBlock" /> 0570 </context> 0571 0572 <context name="Entities" attribute="Word" lineEndContext="#stay"> 0573 <RegExpr attribute="Entities" context="#pop" String="&[A-Za-z]+;" /> 0574 <DetectChar attribute="Comment" context="#pop" char="&" /> 0575 </context> 0576 0577 <context name="Inc_OtherTag" attribute="Comment" lineEndContext="#pop"> 0578 <keyword attribute="Note" context="#pop" String="Note" /> 0579 <keyword attribute="Warning" context="#pop" String="Warning" /> 0580 <keyword attribute="Attention" context="#pop" String="Attention" /> 0581 <keyword attribute="Todo" context="#pop" String="Todo" /> 0582 <keyword attribute="Tags" context="#pop" String="TagOnly" /> 0583 <Detect2Chars attribute="Region" context="#pop" char="@" char1="{" beginRegion="Group" /> 0584 <Detect2Chars attribute="Region" context="#pop" char="@" char1="}" endRegion="Group" /> 0585 <Detect2Chars attribute="Tags" context="#pop!LanguageId" char="\" char1="~" /> 0586 <Detect2Chars attribute="Tags" context="#pop!LanguageId" char="@" char1="~" /> 0587 <keyword attribute="Error" context="#pop" String="TagEnd" /> 0588 <RegExpr attribute="Error" context="#pop" String="[@\\]f[]}]" /> 0589 <RegExpr attribute="Escape sequence" context="#pop" String="[@\\](?:[#$%&<>"@\\.~=|]|::|---?)" /> 0590 <RegExpr attribute="Custom Tags" context="#pop" String="[@\\](?:[^@\\ \t\*]|\*(?!/))+" /> 0591 <AnyChar attribute="Comment" context="#pop" String="\@" /> 0592 </context> 0593 0594 <context name="LanguageId" attribute="Word" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 0595 <DetectIdentifier /> 0596 </context> 0597 0598 </contexts> 0599 <itemDatas> 0600 <itemData name="Normal Text" defStyleNum="dsNormal" /> 0601 <itemData name="Escape sequence" defStyleNum="dsSpecialChar" /> 0602 <itemData name="Tags" defStyleNum="dsAnnotation" bold="1" /> 0603 <itemData name="Custom Tags" defStyleNum="dsAnnotation" /> 0604 <itemData name="Word" defStyleNum="dsCommentVar" bold="1" italic="0" /> 0605 <itemData name="HTML Tag" defStyleNum="dsKeyword" bold="1" italic="0" /> 0606 <itemData name="Entities" defStyleNum="dsOthers" color="#4086C0" bold="1" italic="1" /> 0607 <itemData name="Description" defStyleNum="dsDocumentation" /> 0608 <itemData name="Comment" defStyleNum="dsComment" /> 0609 <itemData name="Region" defStyleNum="dsRegionMarker" /> 0610 <itemData name="Identifier" defStyleNum="dsOthers" /> 0611 <itemData name="HTML Comment" defStyleNum="dsComment" /> 0612 <itemData name="Types" defStyleNum="dsDataType" /> 0613 <itemData name="Code" defStyleNum="dsComment" /> 0614 <itemData name="Dot Graph" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" /> 0615 <itemData name="Formulas" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" /> 0616 <itemData name="Message Sequence Chart" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" /> 0617 <itemData name="Verbatim" defStyleNum="dsComment" /> 0618 <itemData name="Note" defStyleNum="dsInformation" bold="1" italic="0" /> 0619 <itemData name="Warning" defStyleNum="dsWarning" bold="1" italic="0" /> 0620 <itemData name="Attention" defStyleNum="dsAnnotation" bold="1" italic="0" /> 0621 <itemData name="Todo" defStyleNum="dsAnnotation" bold="1" italic="0" /> 0622 <itemData name="Error" defStyleNum="dsError" /> 0623 </itemDatas> 0624 </highlighting> 0625 <general> 0626 <keywords casesensitive="1" weakDeliminator="\$" /> 0627 </general> 0628 </language> 0629 <!-- kate: indent-width 2; -->