Warning, /frameworks/syntax-highlighting/data/syntax/d.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language [ 0003 <!ENTITY hexfloat "0[xX][\da-fA-F_]*(?:\.[\da-fA-F_]*)?[pP][-+]?\d[\d_]*[fFL]?i?"> 0004 <!-- Float starting with a dot is matched in main context --> 0005 <!-- All floats except integers --> 0006 <!-- RegExpr is branched rather than using look aheads for efficiency at the expense of extra length --> 0007 <!ENTITY float "\d[_\d]*(?:\.(?!\.)[_\d]*(?:[eE][-+]?\d[_\d]*)?[fFL]?i?|[eE][-+]?\d[_\d]*[fFL]?i?|[fF]i?|[fFL]?i)"> 0008 ]> 0009 <!-- 0010 ======================================================================== 0011 0012 D.XML supports syntax highlighting for the D programming language under Kate. 0013 0014 Updated 2007-2008 - Diggory Hardy <diggory.hardy@gmail.com> (copyright kate project). 0015 Copyright (C) 2007 - Aziz Köksal <aziz.koeksal@gmail.com> 0016 Copyright (C) 2007 - Jari-Matti Mäkelä <jmjm@iki.fi> 0017 Copyright (C) 2004 - Simon J Mackenzie <project.katedxml@smackoz.fastmail.fm> 0018 0019 This code is released under the LGPL as part of kdelibs/kate. 0020 0021 ======================================================================== 0022 0023 D is a next generation language written by Walter Bright of Digital Mars fame. 0024 Digital Mars C, C++ and D Compilers can be obtained from http://www.digitalmars.com/d/ 0025 0026 ======================================================================== 0027 0028 UPDATE HISTORY:- 0029 2008.09.22 - d.xml 1.61 - D 1.035/2.019 - Fix for identifiers starting _ and containing numbers. 0030 2008.08.01 - d.xml 1.60 - D 1.033/2.017 - Merging ddoc.xml 1.14 since there is no advantage to having it separate. 0031 2008.07.14 - uncommited - Added properties: .tupleof, .offsetof 0032 2008.06.14 - D.XML 1.53 - D 1.030/2.014 - Added user keyword highlighting. 0033 2008.06.06 - D.XML 1.53 - D 1.030/2.014 - Small fix involving floats starting . in embedded Ddoc. 0034 - Added nothrow and pure attributes (D2.0 only). 0035 2008.04.09 - D.XML 1.52 - D 1.028/2.012 - Added properties (especially for arrays). 0036 - Added rules for C-Style indenter (thanks vektorboson!) 0037 2008.02.22 - D.XML 1.51 - D 1.027/2.011 - Changed char rule behaviour on line end. 0038 - Added support for strings ending with c, w or d (must have got lost at some point). 0039 2008.02.22 - ddoc.xml 1.14 - Fixes/improvements for macros. Highlights first symbol and non-symbols 0040 before as errors; matches embedded brackets () properly. 0041 2008.01.09 - D.XML 1.50 - D 1.025/2.009 - Changed pragma, version, deprecated matching to use keyword not DetectString. 0042 2007.12.18 - D.XML 1.49 - D 1.025/2.009 - Fixed some bugs to make the StartingLetter context exit correctly and match identifiers properly. 0043 2007.12.12 - D.XML 1.48 - D 1.024/2.008 - Adjusted existing contexts somewhat (mostly cleanup). 0044 - Implemented scope context to hightlight exit in scope(exit) etc. 0045 - Adjusted deprecated keyword highlighting. 0046 - Changed layout somewhat. 0047 - Implemented extra highlighting rules for expressions, attributes, etc. 0048 - Changed a lot of colours. 0049 2007.11.15 - D.XML 1.47 - D 1.023/2.007 - Fixed a few unapperent "bugs" found by checkdtd. 0050 2007.11.15 - ddoc.xml 1.13 - Fixed a couple of bugs found by checkdtd and changed the version number format. 0051 2007.11.5 - ddoc.xml 1.12 - Fixed: correct matching of things like /***/ . 0052 2007.10.11 - ddoc.xml 1.11 - Safety catch: check for unterminated code sections (i.e. check for end of 0053 ddoc comment even in code sections). 0054 - Used DetectIdentifier to (presumably) improve performance. 0055 2007.10.09 - uncommited - ditto - Changed some context="#pop" tags to context="#stay" within the normal 0056 context (bugfix for ddoc embedded code highlighting). 0057 2007.10.9 - ddoc.xml 1.10 - Enabled embedded ddoc code highlighting 0058 2007.10.9 - ddoc.xml 1.00 - Initial version 0059 2007.10.08 - D.XML 1.46 - D 1.022/2.005 - Stole Alert and Region Marker highlighting from C++ syntax. 0060 - Added support for DDoc highlighting. 0061 - Reviewed the float regexps again! Tried to make the best of both versions. 0062 2007.09.17 - D.XML 1.45 - D 1.021/2.004 - Reverted back to old regexps (but fixed hex floats). 0063 Can't combine all float regexps into a single RegExpr element using the '|' operator. 0064 It creates strange problems (like program lock-ups and wrong matches). 0065 - Fix: '=' is allowed in import statements now. 0066 - Fix: character literals are matched correctly now. 0067 - The #line special token sequence is matched fully now (the filespec string needs special handling). 0068 2007.09.10 - D.XML 1.44 - D 1.021/2.004 - Added __EOF__ to specialtokens. 0069 - Replaced float regexps with more accurate ones. Not sure about speed. 0070 - Fixed Octal regexp not to match 0_ . 0071 2007.07.24 - D.XML 1.43 - D 1.020/2.003 - Added System to ltypes. 0072 - Improved matching of version declarations. 0073 - Fixed matching of hexadecimal floats. 0074 - Deprecated style is stroked out again. 0075 2007.07.21 - D.XML 1.42 - D 1.018/2.002 - d.xml validates again according to language.xml. 0076 - HTML entities are highlighted now. 0077 - Numbers before and after the slice operator are not highl. as floats anymore. 0078 - Added C++ to ltypes. 0079 - Improved matching of module/import declarations. 0080 2007.07.01 - D.XML 1.41 - D 1.017/2.001 - fixed matching of numbers, added deprecated style, minor changes to styles, updated authors line 0081 2007.07.01 - D.XML 1.40 - D 1.017/2.001 - matches now .di extensions, removed phobos-specific printf/writef and added 0082 - library defined symbols string, wstring, dstring, size_t, ptrdiff_t, hash_t, 0083 - Error, Exception, Object, TypeInfo and ClassInfo 0084 2007.06.30 - D.XML 1.39 - D 1.017 - matching is much faster now, added "lib" to pragma types, added special tokens, 0085 - /+ +/ can be nested now, numbers are matched more correctly, character literals don't span multiple lines anymore 0086 - escape sequences inside strings and character literals are highlighted, 0087 - non-hex characters in hex strings are highlighted with the Error style, 0088 - using more default styles instead of custom ones 0089 2007.04.11 - D.XML 1.38 - D 1.011 - ref, macro keywords are now supported, fixed \\ inside a string, updated author 0090 2007.02.12 - D.XML 1.37 - D 1.006 - bool, foreach_reverse, lazy, scope and typeid keywords are now supported, fixed \" 0091 - inside a string, fixed ending of wysiwyg strings. 0092 2004.08.15 - D.XML 1.36 - D 0.98 - Current release of D. 0093 - package, writef(strictly speaking writef isn't a keyword) - keywords are now supported. 0094 2004.??.?? - D.XML 1.35 - D 0.?? - Not sure how this release got posted! 0095 2004.05.23 - D.XML 1.34 - D 0.90 - updated. 0096 2004.05.19 - D.XML 1.33 - D 0.89 - mixin - keyword is now supported. 0097 2004.05.19 - D.XML 1.32 - D 0.77 - pragma, typeof - keywords are now supported. 0098 2004.05.19 - D.XML 1.31 - D 0.76 - is - keyword is now supported. 0099 2003.09.06 - D.XML 1.30 - D 0.71 - foreach - keyword is now supported. 0100 2003.08.18 - D.XML 1.20 - D 0.69 - floats are now supported. 0101 - embedded underscores in integer and float literals are now supported. 0102 2003.08.11 - D.XML 1.10 - updated. 0103 2003.07.18 - D.XML 1.00 - First released. 0104 0105 ======================================================================== 0106 --> 0107 0108 <language name="D" version="13" kateversion="5.0" section="Sources" extensions="*.d;*.D;*.di;*.DI;" mimetype="text/x-dsrc" casesensitive="true" author="Diggory Hardy (diggory.hardy@gmail.com), Aziz Köksal (aziz.koeksal@gmail.com), Jari-Matti Mäkelä (jmjm@iki.fi), Simon J Mackenzie (project.katedxml@smackoz.fastmail.fm)" license="LGPL"> 0109 <highlighting> 0110 <!-- User-defined keywords (add identifiers you'd like highlighted here) --> 0111 <list name="userkeywords"> 0112 </list> 0113 <list name="statements"> 0114 <item>asm</item> 0115 <item>body</item> 0116 <item>break</item> 0117 <item>case</item> 0118 <item>catch</item> 0119 <item>continue</item> 0120 <item>default</item> 0121 <item>do</item> 0122 <item>else</item> 0123 <item>finally</item> 0124 <item>for</item> 0125 <item>foreach</item> 0126 <item>foreach_reverse</item> 0127 <item>goto</item> 0128 <item>if</item> 0129 <item>mixin</item> 0130 <item>return</item> 0131 <item>switch</item> 0132 <item>throw</item> 0133 <item>try</item> 0134 <item>while</item> 0135 <item>with</item> 0136 0137 <!-- these are statements according to the spec, although I might call them attributes --> 0138 <item>synchronized</item> 0139 0140 </list> 0141 0142 <list name="attributes"> 0143 <!-- also storage classes --> 0144 <item>abstract</item> 0145 <item>align</item> 0146 <item>auto</item> 0147 <item>const</item> 0148 <item>export</item> 0149 <item>final</item> 0150 <item>immutable</item> 0151 <item>inout</item> 0152 <item>invariant</item> 0153 <item>lazy</item> 0154 <item>nothrow</item> 0155 <item>override</item> 0156 <item>package</item> 0157 <item>private</item> 0158 <item>protected</item> 0159 <item>public</item> 0160 <item>pure</item> 0161 <item>ref</item> 0162 <item>shared</item> 0163 <item>static</item> 0164 0165 <!-- these may be statements --> 0166 <!-- in (more common to use as an expression since in attribute is only ever the default) --> 0167 <item>out</item> 0168 <item>scope</item> 0169 0170 <item>__gshared</item> 0171 </list> 0172 0173 <list name="expressions"> 0174 <!-- primary expressions --> 0175 <item>false</item> 0176 <item>null</item> 0177 <item>super</item> 0178 <item>this</item> 0179 <item>true</item> 0180 <item>typeid</item> 0181 0182 <!-- other expressions --> 0183 <item>assert</item> 0184 <item>cast</item> 0185 <item>is</item> 0186 <item>new</item> 0187 <item>delete</item> 0188 <item>in</item> <!-- also an attribute and a statement --> 0189 0190 <!-- sometimes declarators --> 0191 <item>delegate</item> 0192 <item>function</item> 0193 </list> 0194 0195 <list name="modules"> 0196 <item>module</item> 0197 <item>import</item> <!-- also an expression --> 0198 </list> 0199 0200 <list name="declarators"> 0201 <item>alias</item> 0202 <item>enum</item> 0203 <item>typedef</item> 0204 <item>class</item> 0205 <item>interface</item> 0206 <item>struct</item> 0207 <item>union</item> 0208 </list> 0209 0210 <list name="types"> 0211 <item>typeof</item> 0212 0213 <item>void</item> 0214 <item>bool</item> 0215 <item>byte</item> 0216 <item>ubyte</item> 0217 <item>short</item> 0218 <item>ushort</item> 0219 <item>int</item> 0220 <item>uint</item> 0221 <item>long</item> 0222 <item>ulong</item> 0223 <item>cent</item> 0224 <item>ucent</item> 0225 <item>float</item> 0226 <item>double</item> 0227 <item>real</item> 0228 <item>ireal</item> 0229 <item>ifloat</item> 0230 <item>idouble</item> 0231 <item>creal</item> 0232 <item>cfloat</item> 0233 <item>cdouble</item> 0234 <item>char</item> 0235 <item>wchar</item> 0236 <item>dchar</item> 0237 </list> 0238 0239 <list name="templates"> 0240 <item>macro</item> <!-- what's this? just reserved? --> 0241 <item>template</item> 0242 </list> 0243 0244 <list name="properties"> 0245 <item>init</item> 0246 <item>sizeof</item> 0247 <item>alignof</item> 0248 <item>mangleof</item> 0249 <item>stringof</item> 0250 <item>tupleof</item> 0251 <item>offsetof</item> 0252 <item>max</item> 0253 <item>min</item> 0254 <item>infinity</item> 0255 <item>nan</item> 0256 <item>dig</item> 0257 <item>epsilon</item> 0258 <item>mant_dig</item> 0259 <item>max_10_exp</item> 0260 <item>max_exp</item> 0261 <item>min_10_exp</item> 0262 <item>min_exp</item> 0263 <item>re</item> 0264 <item>im</item> 0265 <item>length</item> 0266 <item>ptr</item> 0267 <item>dup</item> 0268 <item>idup</item> 0269 <item>reverse</item> 0270 <item>sort</item> 0271 <item>keys</item> 0272 <item>values</item> 0273 <item>rehash</item> 0274 </list> 0275 0276 <list name="libsymbols"> 0277 <!-- these are only symbols defined in object.d(i) --> 0278 <item>size_t</item> 0279 <item>ptrdiff_t</item> 0280 <item>hash_t</item> 0281 <item>Error</item> 0282 <item>Exception</item> 0283 <item>Object</item> 0284 <item>TypeInfo</item> 0285 <item>ClassInfo</item> 0286 <item>ModuleInfo</item> 0287 <item>Interface</item> 0288 <item>OffsetTypeInfo</item> 0289 <item>TypeInfo_Typedef</item> 0290 <item>TypeInfo_Enum</item> 0291 <item>TypeInfo_Pointer</item> 0292 <item>TypeInfo_Array</item> 0293 <item>TypeInfo_StaticArray</item> 0294 <item>TypeInfo_AssociativeArray</item> 0295 <item>TypeInfo_Function</item> 0296 <item>TypeInfo_Delegate</item> 0297 <item>TypeInfo_Class</item> 0298 <item>TypeInfo_Interface</item> 0299 <item>TypeInfo_Struct</item> 0300 <item>TypeInfo_Tuple</item> 0301 0302 <!-- phobos only as of tango 0.99.3 --> 0303 <item>string</item> 0304 <item>wstring</item> 0305 <item>dstring</item> 0306 <item>bit</item> 0307 <item>TypeInfo_Const</item> 0308 <item>TypeInfo_Invariant</item> 0309 </list> 0310 0311 <list name="linkage"> 0312 <item>extern</item> 0313 </list> 0314 <list name="ltypes"> 0315 <item>C</item> 0316 <!-- <item>C++</item> --><!-- is handled specially in Linkage rule --> 0317 <item>D</item> 0318 <item>Windows</item> 0319 <item>Pascal</item> 0320 <item>System</item> 0321 <!-- <item>Objective-C</item> --><!-- is handled specially in Linkage rule --> 0322 </list> 0323 0324 <list name="ptypes"> 0325 <item>inline</item> 0326 <item>lib</item> 0327 <item>linkerDirective</item> 0328 <item>mangle</item> 0329 <item>msg</item> 0330 <item>startaddress</item> 0331 </list> 0332 0333 <list name="scope_keywords"> 0334 <item>exit</item> 0335 <item>success</item> 0336 <item>failure</item> 0337 </list> 0338 0339 <list name="vtypes"> 0340 <item>DigitalMars</item> 0341 <item>X86</item> 0342 <item>X86_64</item> 0343 <item>Windows</item> 0344 <item>Win32</item> 0345 <item>Win64</item> 0346 <item>linux</item> 0347 <item>LittleEndian</item> 0348 <item>BigEndian</item> 0349 <item>D_Coverage</item> 0350 <item>D_InlineAsm_X86</item> 0351 <item>unittest</item> 0352 <item>D_Version2</item> 0353 <item>none</item> 0354 <item>all</item> 0355 </list> 0356 0357 <list name="specialtokens"> 0358 <item>__FILE__</item> 0359 <item>__LINE__</item> 0360 <item>__DATE__</item> 0361 <item>__TIME__</item> 0362 <item>__TIMESTAMP__</item> 0363 <item>__VENDOR__</item> 0364 <item>__VERSION__</item> 0365 <item>__EOF__</item> 0366 </list> 0367 0368 <list name="tests"> 0369 <item>debug</item> 0370 <item>unittest</item> 0371 </list> 0372 0373 <list name="pragma"> 0374 <item>pragma</item> 0375 </list> 0376 0377 <list name="version"> 0378 <item>version</item> 0379 </list> 0380 0381 <list name="deprecated"> 0382 <item>deprecated</item> 0383 <item>volatile</item> <!-- has been deprecated --> 0384 </list> 0385 0386 <contexts> 0387 <context name="normal" attribute="Normal Text" lineEndContext="#stay"> 0388 <DetectSpaces /> 0389 <!-- Performance improvement (probably): anything starting with a letter is matched separately --> 0390 <RegExpr String="[a-zA-Z_]" attribute="Normal Text" context="StartingLetter" lookAhead="true"/> 0391 0392 <HlCStringChar attribute="EscapeSequence" context="#stay"/> 0393 <Detect2Chars attribute="EscapeSequence" context="UnicodeShort" char="\" char1="u"/> 0394 <Detect2Chars attribute="EscapeSequence" context="UnicodeLong" char="\" char1="U"/> 0395 <Detect2Chars attribute="EscapeSequence" context="HTMLEntity" char="\" char1="&"/> 0396 0397 <DetectChar attribute="Char" context="CharLiteral" char="'"/> 0398 <DetectChar attribute="String" context="String" char="""/> 0399 <DetectChar attribute="BQString" context="BQString" char="`"/> 0400 0401 <StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" /> 0402 <StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" /> 0403 <IncludeRules context="CommentRules" /> 0404 0405 <!-- Match ... and .. before numbers are matched. --> 0406 <!-- Now in symbols keywords section --> 0407 <StringDetect attribute="Normal Text" context="#stay" String="..."/> 0408 <Detect2Chars attribute="Normal Text" char="." char1="."/> 0409 0410 <!-- Float starting with a dot --> 0411 <RegExpr attribute="Float" context="#stay" String="\.\d[\d_]*(?:[eE][-+]?\d[\d_]*)?[fFL]?i?"/> 0412 0413 <!-- Try to match various built-in properties --> 0414 <DetectChar char="." attribute="Normal Text" context="Properties"/> 0415 0416 <!-- Look ahead for a digit and switch to NumberLiteral context if found. --> 0417 <RegExpr context="NumberLiteral" String="\d" attribute="Normal Text" lookAhead="true"/> 0418 0419 <!-- #line Integer [Filespec] --> 0420 <StringDetect attribute="Pragma" context="LinePragma" String="#line"/> 0421 0422 <!-- Rules for the C-style indenter. Currently problems with /// and /++ comments. --> 0423 <DetectChar attribute="Symbol" context="BraceA" char="{" beginRegion="BraceA" /> 0424 <AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/> 0425 </context> 0426 0427 <context name="BraceA" attribute="Normal Text" lineEndContext="#stay"> 0428 <DetectChar attribute="Symbol" context="#pop" char="}" endRegion="BraceA" /> 0429 <IncludeRules context="normal"/> 0430 </context> 0431 0432 <context name="StartingLetter" attribute="Normal Text" lineEndContext="#pop"> 0433 <DetectSpaces /> 0434 <!-- fall-through should work now that DetectIdentifier is used (without infinite loops) --> 0435 <!-- maybe not... got an infinite loop --> 0436 <RegExpr String="[^a-zA-Z_]" attribute="Normal Text" context="#pop" lookAhead="true"/> 0437 0438 <!-- detect whether scope, in, out, etc. are used as attributes or statements (etc.) --> 0439 <!-- rules cannot match across newlines unfortunately --> 0440 <RegExpr String="in\s*(?=\{)|out\s*(?=(\(([a-zA-Z_][\w_]*)?\)\s*)?\{)" attribute="Statement" context="#stay" /> 0441 <RegExpr String="scope\s*(?=\()" attribute="Statement" context="Scope" /> 0442 <RegExpr String="import\s*(?=\()" attribute="Expression" context="#stay" /> 0443 <RegExpr String="(function|delegate)\s*(?=\()" attribute="Declarator" context="#stay" /> 0444 0445 <keyword String="statements" attribute="Statement" context="#stay" /> 0446 <keyword String="attributes" attribute="Attribute" context="#stay" /> 0447 <keyword String="expressions" attribute="Expression" context="#stay" /> 0448 <keyword String="declarators" attribute="Declarator" context="#stay" /> 0449 <keyword String="templates" attribute="Template" context="#stay" /> 0450 <keyword String="modules" attribute="Module" context="ModuleName"/> 0451 <keyword String="types" attribute="Type" context="#stay" /> 0452 <keyword String="libsymbols" attribute="LibrarySymbols" context="#stay" /> 0453 <keyword String="linkage" attribute="Linkage" context="Linkage" /> 0454 <keyword String="specialtokens" attribute="SpecialTokens" context="#stay" /> 0455 <keyword String="tests" attribute="Tests" context="#stay" /> 0456 <!-- These must use keyword not DetectString: DetectString does not check for word-break after string. --> 0457 <keyword String="pragma" attribute="Pragma" context="Pragma" /> 0458 <keyword String="version" attribute="Version" context="Version" /> 0459 <keyword String="deprecated" attribute="Deprecated" context="#stay" /> 0460 0461 <Detect2Chars attribute="RawString" context="RawString" char="r" char1="""/> 0462 <Detect2Chars attribute="HexString" context="HexString" char="x" char1="""/> 0463 <Detect2Chars attribute="Token String Delimiter" context="TokenString" char="q" char1="{"/> 0464 <RegExpr attribute="Delimited String Delimiter" context="DelimStrHeredoc" String="q"([A-Za-z_][A-Za-z0-9_]*)$" /> 0465 <StringDetect attribute="Delimited String Delimiter" context="DelimStrBracket" String="q"[" /> 0466 <StringDetect attribute="Delimited String Delimiter" context="DelimStrParen" String="q"(" /> 0467 <StringDetect attribute="Delimited String Delimiter" context="DelimStrLtGt" String="q"<" /> 0468 <StringDetect attribute="Delimited String Delimiter" context="DelimStrBrace" String="q"{" /> 0469 <RegExpr attribute="Delimited String Delimiter" context="DelimStrSimple" String="q"([^A-Za-z_[(<{])" /> 0470 0471 <!-- user highlighting: last so as not to interfere with anything else --> 0472 <keyword String="userkeywords" attribute="UserKeywords" context="#stay" /> 0473 0474 <DetectIdentifier /> 0475 </context> 0476 0477 <context name="Properties" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> 0478 <keyword String="properties" attribute="Property" context="#pop" /> 0479 </context> 0480 <context name="NumberLiteral" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> 0481 <!-- Float literals --> 0482 <!-- Floats must be matched before Binary|Octal|Hex|DecInteger --> 0483 <RegExpr attribute="Float" context="#pop" String="&hexfloat;|&float;"/> 0484 0485 <!-- Binary|Octal|Hex|DecInteger --> 0486 <!-- Common, optional suffix: (L[uU]?|[uU]L?)? --> 0487 <RegExpr attribute="Binary" context="#pop" String="0[bB]_*[01][01_]*(?:L[uU]?|[uU]L?)?"/> 0488 <!-- Octal must be matched before DecInteger --> 0489 <RegExpr attribute="Octal" context="#pop" String="0[0-7_]+(?:L[uU]?|[uU]L?)?"/> 0490 <RegExpr attribute="Hex" context="#pop" String="0[xX]_*[\da-fA-F][\da-fA-F_]*(?:L[uU]?|[uU]L?)?"/> 0491 <!-- Decimal integers must be matched last --> 0492 <RegExpr attribute="Integer" context="#pop" String="\d+[\d_]*(?:L[uU]?|[uU]L?)?"/> 0493 </context> 0494 0495 <context name="LinePragma" attribute="Pragma" lineEndContext="#pop"> 0496 <DetectSpaces/> 0497 <!-- Match an Integer --> 0498 <RegExpr attribute="Integer" context="#stay" String="(?:(?:0(?:[0-7_]+|[bB]_*[01][01_]*|[xX]_*[\da-fA-F][\da-fA-F_]*))|\d+[\d_]*)(?:L[uU]?|[uU]L?)?"/> 0499 <RangeDetect attribute="String" context="#stay" char=""" char1="""/> 0500 <keyword attribute="SpecialTokens" context="#stay" String="specialtokens"/> 0501 <IncludeRules context="CommentRules" /> 0502 <RegExpr attribute="Error" context="#pop" String=".+"/> 0503 </context> 0504 0505 <!-- \u 4HexDigits --> 0506 <context name="UnicodeShort" attribute="EscapeSequence" lineEndContext="#pop"> 0507 <RegExpr attribute="EscapeSequence" context="#pop" String="[\da-fA-F]{4}"/> 0508 </context> 0509 <!-- \U 8HexDigits --> 0510 <context name="UnicodeLong" attribute="EscapeSequence" lineEndContext="#pop"> 0511 <RegExpr attribute="EscapeSequence" context="#pop" String="[\da-fA-F]{8}"/> 0512 </context> 0513 <!-- \& Alpha Alphanumerical+ ; --> 0514 <context name="HTMLEntity" attribute="EscapeSequence" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 0515 <RegExpr attribute="EscapeSequence" context="#pop" String="[a-zA-Z]\w+;"/> 0516 </context> 0517 0518 <context name="ModuleName" attribute="Module Name" lineEndContext="#stay"> 0519 <DetectSpaces/> 0520 <IncludeRules context="CommentRules" /> 0521 <RegExpr context="#pop" String="[^\s\w.:,=]" lookAhead="true"/> 0522 </context> 0523 0524 <context name="Linkage" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> 0525 <DetectSpaces/> 0526 <DetectChar attribute="Normal Text" context="Linkage2" char="("/> 0527 <IncludeRules context="CommentRules" /> 0528 </context> 0529 <context name="Linkage2" attribute="Normal Text" lineEndContext="#stay"> 0530 <DetectSpaces/> 0531 <StringDetect attribute="Linkage Type" context="Linkage-C++" String="C++"/> 0532 <StringDetect attribute="Linkage Type" context="#stay" String="Objective-C"/> 0533 <keyword attribute="Linkage Type" context="#stay" String="ltypes"/> 0534 <IncludeRules context="CommentRules" /> 0535 <!-- Fall-through rules, highlighting errors: --> 0536 <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/> 0537 <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/> 0538 </context> 0539 <context name="Linkage-C++" attribute="Normal Text" lineEndContext="#stay"> 0540 <DetectSpaces/> 0541 <IncludeRules context="CommentRules" /> 0542 <DetectChar char="," attribute="Normal Text" context="Linkage-C++2"/> 0543 <DetectChar char=")" attribute="Normal Text" context="#pop#pop#pop"/> 0544 <RegExpr String="." attribute="Error" context="#stay"/> 0545 </context> 0546 <context name="Linkage-C++2" attribute="Normal Text" lineEndContext="#stay"> 0547 <DetectSpaces/> 0548 <IncludeRules context="CommentRules" /> 0549 <DetectIdentifier attribute="Normal Text" context="#stay"/> 0550 <DetectChar char="." attribute="Normal Text" context="#stay"/> 0551 <DetectChar char=")" attribute="Normal Text" context="#pop#pop#pop"/> 0552 <RegExpr String="." attribute="Error" context="#stay"/> 0553 </context> 0554 0555 <context name="Version" attribute="Normal Text" lineEndContext="#stay"> 0556 <DetectSpaces/> 0557 <DetectChar attribute="Normal Text" context="VersionSpec" char="="/> 0558 <DetectChar attribute="Normal Text" context="VersionCond" char="("/> 0559 <IncludeRules context="CommentRules" /> 0560 <!-- Fall-through rules, highlighting errors: --> 0561 <RegExpr String="[^\s\n]+" attribute="Error" context="#pop"/> 0562 </context> 0563 <context name="VersionSpec" attribute="Normal Text" lineEndContext="#stay"> 0564 <DetectSpaces/> 0565 <DetectIdentifier attribute="Normal Text" context="#stay"/> 0566 <RegExpr attribute="Integer" context="#stay" String="\d+[\d_]*(?:L[uU]?|[uU]L?)?"/> 0567 <DetectChar char=";" attribute="Normal Text" context="#pop#pop"/> 0568 <RegExpr String="." attribute="Error" context="#pop#pop"/> 0569 </context> 0570 <context name="VersionCond" attribute="Normal Text" lineEndContext="#stay"> 0571 <DetectSpaces/> 0572 <keyword attribute="Version Type" context="#stay" String="vtypes"/> 0573 <DetectIdentifier attribute="Normal Text" context="#stay"/> 0574 <RegExpr attribute="Integer" context="#stay" String="\d+[\d_]*(?:L[uU]?|[uU]L?)?"/> 0575 <IncludeRules context="CommentRules" /> 0576 <!-- Fall-through rules, highlighting errors: --> 0577 <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/> 0578 <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/> 0579 </context> 0580 0581 <context name="Scope" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> 0582 <DetectSpaces/> 0583 <DetectChar attribute="Normal Text" context="Scope2" char="("/> 0584 <IncludeRules context="CommentRules" /> 0585 </context> 0586 <context name="Scope2" attribute="Normal Text" lineEndContext="#stay"> 0587 <DetectSpaces/> 0588 <keyword String="scope_keywords" attribute="Expression" context="#stay"/> 0589 <IncludeRules context="CommentRules" /> 0590 <!-- Fall-through rules, highlighting errors: --> 0591 <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/> 0592 <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/> 0593 </context> 0594 0595 <context name="Pragma" attribute="Pragma" lineEndContext="#stay"> 0596 <DetectSpaces/> 0597 <DetectChar attribute="Normal Text" context="Pragma2" char="("/> 0598 <IncludeRules context="CommentRules" /> 0599 <!-- Fall-through rules, highlighting errors: --> 0600 <RegExpr String="[^\s\n]+" attribute="Error" context="#pop"/> 0601 </context> 0602 <context name="Pragma2" attribute="Pragma" lineEndContext="#stay"> 0603 <DetectSpaces/> 0604 <keyword attribute="Version Type" context="Pragma3" String="ptypes"/> 0605 <DetectIdentifier attribute="Normal Text" context="Pragma3"/> 0606 <IncludeRules context="CommentRules" /> 0607 <!-- Fall-through rules, highlighting errors: --> 0608 <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/> 0609 <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/> 0610 </context> 0611 <context name="Pragma3" attribute="Pragma" lineEndContext="#stay"> 0612 <DetectSpaces/> 0613 <DetectChar char="," attribute="Normal Text" context="Pragma4"/> 0614 <DetectChar char=")" attribute="Normal Text" context="#pop#pop#pop"/> 0615 <RegExpr String="." attribute="Error" context="#pop#pop#pop"/> 0616 </context> 0617 <context name="Pragma4" attribute="Pragma" lineEndContext="#stay"> 0618 <DetectChar char="(" attribute="Normal Text" context="Parenthetical"/> 0619 <DetectChar char=")" attribute="Normal Text" context="#pop#pop#pop#pop"/> 0620 <IncludeRules context="normal" /> 0621 </context> 0622 <context name="Parenthetical" attribute="Normal Text" lineEndContext="#stay"> 0623 <DetectChar char="(" attribute="Normal Text" context="Parenthetical"/> 0624 <DetectChar char=")" attribute="Normal Text" context="#pop"/> 0625 <IncludeRules context="normal" /> 0626 </context> 0627 0628 <!-- Strings --> 0629 <!-- r"..." --> 0630 <context name="RawString" attribute="RawString" lineEndContext="#stay"> 0631 <DetectChar attribute="RawString" context="#pop" char="""/> 0632 </context> 0633 <!-- `...` --> 0634 <context name="BQString" attribute="BQString" lineEndContext="#stay"> 0635 <DetectChar attribute="BQString" context="#pop" char="`"/> 0636 </context> 0637 <!-- x"..." --> 0638 <context name="HexString" attribute="HexString" lineEndContext="#stay"> 0639 <DetectChar attribute="HexString" context="#pop" char="""/> 0640 <RegExpr attribute="Error" context="#stay" String="[^\sa-fA-F\d"]+" /> 0641 </context> 0642 <!-- '...' --> 0643 <context name="CharLiteral" attribute="Char" lineEndContext="CharLiteralClosing" fallthrough="true" fallthroughContext="#pop"> 0644 <!-- Empty '' --> 0645 <DetectChar attribute="Char" context="#pop" char="'"/> 0646 <!-- \t \n \r etc. --> 0647 <HlCStringChar attribute="EscapeSequence" context="CharLiteralClosing"/> 0648 <!-- \u 4HexDigits | \U 8HexDigits | HTMLEntity --> 0649 <RegExpr attribute="EscapeSequence" context="CharLiteralClosing" String="\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}|&[a-zA-Z]\w+;)"/> 0650 <!-- Invalid escape sequences --> 0651 <RegExpr attribute="Error" context="CharLiteralClosing" String="\\."/> 0652 <!-- Any character --> 0653 <RegExpr attribute="Char" context="CharLiteralClosing" String="."/> 0654 </context> 0655 <!-- Anything other than a closing ' is now be an error --> 0656 <context name="CharLiteralClosing" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop"> 0657 <DetectChar attribute="Char" context="#pop#pop" char="'"/> 0658 </context> 0659 <!-- "..." --> 0660 <context name="String" attribute="String" lineEndContext="#stay"> 0661 <HlCStringChar attribute="EscapeSequence"/> 0662 <Detect2Chars attribute="String" context="#pop" char=""" char1="c"/> 0663 <Detect2Chars attribute="String" context="#pop" char=""" char1="w"/> 0664 <Detect2Chars attribute="String" context="#pop" char=""" char1="d"/> 0665 <DetectChar attribute="String" context="#pop" char="""/> 0666 <Detect2Chars attribute="EscapeSequence" context="UnicodeShort" char="\" char1="u"/> 0667 <Detect2Chars attribute="EscapeSequence" context="UnicodeLong" char="\" char1="U"/> 0668 <Detect2Chars attribute="EscapeSequence" context="HTMLEntity" char="\" char1="&"/> 0669 </context> 0670 <!-- token strings: q{...} --> 0671 <context name="TokenString" attribute="Normal Text" lineEndContext="#stay"> 0672 <DetectChar attribute="Token String Delimiter" context="#pop" char="}" /> 0673 <IncludeRules context="normal" /> 0674 </context> 0675 <!-- delimited strings --> 0676 <!-- q"IDENTIFIER...IDENTIFIER" --> 0677 <context name="DelimStrHeredoc" attribute="Delimited String Content" lineEndContext="#stay"> 0678 <StringDetect attribute="Delimited String Delimiter" context="#pop" String="%1"" dynamic="true" column="0" /> 0679 <StringDetect attribute="Error" context="#pop" String="%1" dynamic="true" column="0" /> 0680 </context> 0681 <!-- q"[...]" --> 0682 <context name="DelimStrBracket" attribute="Delimited String Content" lineEndContext="#stay"> 0683 <DetectChar attribute="Delimited String Content" context="DelimStrBracket2" char="[" /> 0684 <Detect2Chars attribute="Delimited String Delimiter" context="#pop" char="]" char1=""" /> 0685 <DetectChar attribute="Error" context="#pop" char="]" /> 0686 </context> 0687 <context name="DelimStrBracket2" attribute="Delimited String Content" lineEndContext="#stay"> 0688 <DetectChar attribute="Delimited String Content" context="DelimStrBracket2" char="[" /> 0689 <DetectChar attribute="Delimited String Content" context="#pop" char="]" /> 0690 </context> 0691 <!-- q"(...)" --> 0692 <context name="DelimStrParen" attribute="Delimited String Content" lineEndContext="#stay"> 0693 <DetectChar attribute="Delimited String Content" context="DelimStrParen2" char="(" /> 0694 <Detect2Chars attribute="Delimited String Delimiter" context="#pop" char=")" char1=""" /> 0695 <DetectChar attribute="Error" context="#pop" char=")" /> 0696 </context> 0697 <context name="DelimStrParen2" attribute="Delimited String Content" lineEndContext="#stay"> 0698 <DetectChar attribute="Delimited String Content" context="DelimStrParen2" char="(" /> 0699 <DetectChar attribute="Delimited String Content" context="#pop" char=")" /> 0700 </context> 0701 <!-- q"<...>" --> 0702 <context name="DelimStrLtGt" attribute="Delimited String Content" lineEndContext="#stay"> 0703 <DetectChar attribute="Delimited String Content" context="DelimStrLtGt2" char="<" /> 0704 <Detect2Chars attribute="Delimited String Delimiter" context="#pop" char=">" char1=""" /> 0705 <DetectChar attribute="Error" context="#pop" char=">" /> 0706 </context> 0707 <context name="DelimStrLtGt2" attribute="Delimited String Content" lineEndContext="#stay"> 0708 <DetectChar attribute="Delimited String Content" context="DelimStrLtGt2" char="<" /> 0709 <DetectChar attribute="Delimited String Content" context="#pop" char=">" /> 0710 </context> 0711 <!-- q"{...}" --> 0712 <context name="DelimStrBrace" attribute="Delimited String Content" lineEndContext="#stay"> 0713 <DetectChar attribute="Delimited String Content" context="DelimStrBrace2" char="{" /> 0714 <Detect2Chars attribute="Delimited String Delimiter" context="#pop" char="}" char1=""" /> 0715 <DetectChar attribute="Error" context="#pop" char="}" /> 0716 </context> 0717 <context name="DelimStrBrace2" attribute="Delimited String Content" lineEndContext="#stay"> 0718 <DetectChar attribute="Delimited String Content" context="DelimStrBrace2" char="{" /> 0719 <DetectChar attribute="Delimited String Content" context="#pop" char="}" /> 0720 </context> 0721 <!-- q"*...*" --> 0722 <context name="DelimStrSimple" attribute="Delimited String Content" lineEndContext="#stay"> 0723 <StringDetect attribute="Delimited String Delimiter" context="#pop" String="%1"" dynamic="true" /> 0724 <StringDetect attribute="Error" context="#pop" String="%1" dynamic="true" /> 0725 </context> 0726 0727 <!-- Comments --> 0728 <context name="CommentRules" attribute="Normal Text" lineEndContext="#pop"> 0729 <IncludeRules context="DdocNormal" /> 0730 <Detect2Chars attribute="Comment" context="CommentLine" char="/" char1="/"/> 0731 <Detect2Chars attribute="Comment" context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/> 0732 <Detect2Chars attribute="Comment" context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/> 0733 <!-- This context is only for including rules from. --> 0734 </context> 0735 <context name="Region Marker" attribute="Region Marker" lineEndContext="#pop"> 0736 </context> 0737 <context name="CommentLine" attribute="Comment" lineEndContext="#pop"> 0738 <DetectSpaces /> 0739 <IncludeRules context="##Comments" /> 0740 </context> 0741 <context name="CommentBlock" attribute="Comment" lineEndContext="#stay"> 0742 <DetectSpaces /> 0743 <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentBlock"/> 0744 <IncludeRules context="##Comments" /> 0745 </context> 0746 <context name="CommentNested" attribute="Comment" lineEndContext="#stay"> 0747 <DetectSpaces /> 0748 <Detect2Chars attribute="Comment" context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/> 0749 <Detect2Chars attribute="Comment" context="#pop" char="+" char1="/" endRegion="CommentNested"/> 0750 <IncludeRules context="##Comments" /> 0751 </context> 0752 0753 0754 <!-- Ddoc contexts --> 0755 <context name="DdocNormal" attribute="Normal Text" lineEndContext="#stay"> 0756 <RegExpr attribute="Comment" context="DdocLine" String="/{3,}"/> 0757 <RegExpr attribute="Comment" context="DdocBlock" String="/\*{2,}(?!/)" beginRegion="DdocBlock"/> 0758 <RegExpr attribute="Comment" context="DdocNested" String="/\+{2,}(?!/)" beginRegion="DdocNested"/> 0759 </context> 0760 0761 <context name="DdocLine" attribute="Ddoc" lineEndContext="#pop"> 0762 <DetectSpaces /> 0763 <DetectIdentifier attribute="Ddoc"/> 0764 <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" /> 0765 <RegExpr attribute="DdocSection" context="#stay" String="[\w_]+:(?:$|\s)" /> 0766 <IncludeRules context="##Comments" /> 0767 </context> 0768 0769 <context name="DdocBlock" attribute="Ddoc" lineEndContext="#stay"> 0770 <DetectSpaces /> 0771 <DetectIdentifier attribute="Ddoc"/> 0772 <RegExpr attribute="Comment" context="#pop" String="\*+/" endRegion="DdocBlock"/> 0773 <DetectChar attribute="Comment" context="#stay" char="*" firstNonSpace="true" /> 0774 0775 <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" /> 0776 <RegExpr attribute="DdocSection" context="#stay" String="[\w_]+:(?:$|\s)" /> 0777 <IncludeRules context="##Comments" /> 0778 0779 <!-- Avoid matching this; do it this way since (^|\s)-* always matches .- and \s-* never 0780 matches .- (spaces have already been matched); however -*($|\s) matches just fine. 0781 Also can't use \b since - is not a word character. --> 0782 <RegExpr attribute="Ddoc" context="#stay" String="[^-]-{3,}" /> 0783 <RegExpr attribute="Comment" context="DdocBlockCode" String="-{3,}(?:$|\s)" /> 0784 </context> 0785 0786 <context name="DdocNested" attribute="Ddoc" lineEndContext="#stay"> 0787 <DetectSpaces /> 0788 <DetectIdentifier attribute="Ddoc"/> 0789 <!-- Ddoc recognises nested comments/ddoc, but ignores them as far as formatting is concerned. --> 0790 <Detect2Chars attribute="Ddoc" context="DdocNested2" char="/" char1="+"/> 0791 <RegExpr attribute="Comment" context="#pop" String="\++/" endRegion="DdocNested"/> 0792 <DetectChar attribute="Comment" context="#stay" char="+" firstNonSpace="true" /> 0793 0794 <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" /> 0795 <RegExpr attribute="DdocSection" context="#stay" String="[\w_]+:(?:$|\s)" /> 0796 <IncludeRules context="##Comments" /> 0797 0798 <!-- As above. --> 0799 <RegExpr attribute="Ddoc" context="#stay" String="[^-]-{3,}" /> 0800 <RegExpr attribute="Comment" context="DdocNestedCode" String="-{3,}(?:$|\s)" /> 0801 </context> 0802 0803 <context name="DdocNested2" attribute="Ddoc" lineEndContext="#stay"> 0804 <DetectSpaces /> 0805 <DetectIdentifier attribute="Ddoc"/> 0806 <!-- Identical to DdocNested except that nested comments don't receive any formatting --> 0807 <RegExpr attribute="Ddoc" context="#pop" String="\++/"/> 0808 <!-- The above rules should match before the unwanted rule in DdocNested --> 0809 <IncludeRules context="DdocNested" /> 0810 </context> 0811 0812 <!-- When entering a macro: provides highlighting for first symbol (macro name) --> 0813 <context name="DdocMacro" attribute="Error" lineEndContext="#stay"> 0814 <DetectSpaces attribute="Macro Text" /> <!-- avoid showing space as an error --> 0815 0816 <DetectChar attribute="Macros" context="#pop" char=")" /> <!-- early end of macro --> 0817 <IncludeRules context="MacroRules" /> 0818 0819 <!-- first symbol of macro --> 0820 <DetectIdentifier attribute="Macros" context="DdocMacro2" /> 0821 </context> 0822 <!-- For rest of macro --> 0823 <context name="DdocMacro2" attribute="Macro Text" lineEndContext="#stay"> 0824 <DetectChar attribute="Macros" context="#pop#pop" char=")" /> <!-- end of macro --> 0825 <IncludeRules context="MacroRules" /> 0826 </context> 0827 <!-- For embedded brackets (yeah, extra work to ignore them) --> 0828 <context name="DdocMacro3" attribute="Macro Text" lineEndContext="#stay"> 0829 <DetectChar attribute="Macro Text" context="#pop" char=")" /> <!-- end of embedded brackets --> 0830 <IncludeRules context="MacroRules" /> 0831 </context> 0832 <!-- Rules common to all macros --> 0833 <context name="MacroRules" attribute="Macro Text" lineEndContext="#stay"> 0834 <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" /> <!-- embedded --> 0835 <DetectChar attribute="Macro Text" context="DdocMacro3" char="(" /> <!-- extra brackets --> 0836 0837 <DetectChar attribute="Comment" context="#stay" char="*" firstNonSpace="true" /> 0838 </context> 0839 0840 <context name="DdocBlockCode" attribute="DdocCode" lineEndContext="#stay"> 0841 <DetectSpaces /> 0842 <!-- See update 1.11 --> 0843 <RegExpr attribute="Comment" context="#pop#pop" String="\*+/" endRegion="DdocBlock"/> 0844 <DetectChar attribute="Comment" context="#stay" char="*" firstNonSpace="true" /> 0845 <!-- As above. --> 0846 <RegExpr attribute="DdocCode" context="#stay" String="[^-]-{3,}" /> 0847 <RegExpr attribute="Comment" context="#pop" String="-{3,}(?:$|\s)" /> 0848 <IncludeRules context="##D" /> 0849 </context> 0850 <context name="DdocNestedCode" attribute="DdocCode" lineEndContext="#stay"> 0851 <DetectSpaces /> 0852 <!-- See update 1.11 --> 0853 <RegExpr attribute="Comment" context="#pop#pop" String="\++/" endRegion="DdocNested"/> 0854 <DetectChar attribute="Comment" context="#stay" char="+" firstNonSpace="true" /> 0855 <!-- As above. --> 0856 <RegExpr attribute="DdocCode" context="#stay" String="[^-]-{3,}" /> 0857 <RegExpr attribute="Comment" context="#pop" String="-{3,}(?:$|\s)" /> 0858 <IncludeRules context="##D" /> 0859 </context> 0860 </contexts> 0861 <itemDatas> 0862 <itemData name="Normal Text" defStyleNum="dsNormal"/> 0863 <itemData name="Symbol" defStyleNum="dsOperator"/> 0864 0865 <!-- keywords --> 0866 <itemData name="Statement" defStyleNum="dsKeyword"/> 0867 <itemData name="Expression" defStyleNum="dsAttribute" bold="1"/> <!-- #000080 --> 0868 <itemData name="Declarator" defStyleNum="dsWarning" bold="1"/> <!-- #800000 --> 0869 <itemData name="Template" defStyleNum="dsOthers" bold="1"/> <!-- #008000 --> 0870 0871 <itemData name="Attribute" defStyleNum="dsFunction" bold="1"/> <!-- #800080 --> 0872 <itemData name="Deprecated" defStyleNum="dsFunction" bold="1" strikeOut="true"/> <!-- #800080 --> 0873 0874 <itemData name="Property" defStyleNum="dsDataType" bold="1"/> <!-- #000080 --> 0875 0876 <itemData name="Type" defStyleNum="dsDataType"/> 0877 <itemData name="LibrarySymbols" defStyleNum="dsBuiltIn" italic="1"/> 0878 0879 <itemData name="UserKeywords" defStyleNum="dsDataType" italic="1"/> 0880 0881 <!-- module, import --> 0882 <itemData name="Module" defStyleNum="dsPreprocessor" bold="1"/> <!-- #008000 --> 0883 <itemData name="Module Name" defStyleNum="dsImport"/> <!-- #008000 --> 0884 0885 <!-- pragma, special tokens --> 0886 <itemData name="SpecialTokens" defStyleNum="dsOthers" bold="1"/> <!-- #00aa00 --> 0887 <itemData name="Pragma" defStyleNum="dsOthers" bold="1"/> <!-- #00aa00 --> 0888 0889 <!-- version, extern --> 0890 <itemData name="Version" defStyleNum="dsDecVal"/> <!-- #808000 --> 0891 <itemData name="Version Type" defStyleNum="dsNormal" bold="1"/> 0892 <itemData name="Linkage" defStyleNum="dsInformation" bold="1"/> <!-- #808000 --> 0893 <itemData name="Linkage Type" defStyleNum="dsNormal" bold="1"/> 0894 0895 <itemData name="Tests" defStyleNum="dsFunction" bold="1"/> <!-- #ff00ff --> 0896 0897 <itemData name="Comment" defStyleNum="dsComment"/> 0898 <itemData name="Region Marker" defStyleNum="dsRegionMarker" /> 0899 0900 <itemData name="Error" defStyleNum="dsError"/> 0901 0902 <!-- literals --> 0903 <itemData name="Integer" defStyleNum="dsDecVal"/> 0904 <itemData name="Binary" defStyleNum="dsBaseN"/> 0905 <itemData name="Octal" defStyleNum="dsBaseN"/> 0906 <itemData name="Hex" defStyleNum="dsBaseN"/> 0907 <itemData name="Float" defStyleNum="dsFloat"/> 0908 0909 <itemData name="EscapeSequence" defStyleNum="dsSpecialChar"/> 0910 <itemData name="String" defStyleNum="dsString"/> 0911 <itemData name="Char" defStyleNum="dsChar"/> 0912 <itemData name="RawString" defStyleNum="dsVerbatimString"/> 0913 <itemData name="BQString" defStyleNum="dsSpecialString"/> 0914 <itemData name="HexString" defStyleNum="dsSpecialString"/> 0915 <itemData name="Token String Delimiter" defStyleNum="dsKeyword"/> 0916 <itemData name="Delimited String Content" defStyleNum="dsVerbatimString"/> 0917 <itemData name="Delimited String Delimiter" defStyleNum="dsKeyword"/> 0918 0919 <!-- Ddoc specific --> 0920 <itemData name="Macros" defStyleNum="dsSpecialChar" bold="1" italic="0" /> <!-- #bf5fbf --> 0921 <itemData name="Macro Text" defStyleNum="dsAttribute" bold="0" italic="0" /> <!-- #bf7fff --> 0922 <itemData name="Ddoc" defStyleNum="dsDocumentation" /> <!-- #7f7fff --> 0923 <itemData name="DdocSection" defStyleNum="dsAnnotation" bold="1" /> <!-- #7f7fff --> 0924 <itemData name="DdocCode" defStyleNum="dsNormal" italic="1" /> 0925 </itemDatas> 0926 </highlighting> 0927 <general> 0928 <comments> 0929 <comment name="singleLine" start="//" position="afterwhitespace"/> 0930 <comment name="multiLine" start="/+" end="+/" region="CommentNested"/> 0931 </comments> 0932 <keywords casesensitive="true"/> 0933 </general> 0934 </language> 0935 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->