Warning, /frameworks/syntax-highlighting/data/syntax/ocaml.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!-- Kate syntax highlighting for Objective Caml version 4.02 in the standard and revised syntaxes, with Ocamldoc comments. --> 0003 0004 <!DOCTYPE language 0005 [ 0006 <!-- Regular expresion constants: --> 0007 <!ENTITY LOWER "a-z\300-\326\330-\337"> <!-- Lowercase Latin-1 letters. --> 0008 <!ENTITY UPPER "A-Z\340-\366\370-\377"> <!-- Uppercase Latin-1 letters. --> 0009 <!ENTITY LETTER "&LOWER;&UPPER;"> <!-- All Latin-1 letters. --> 0010 <!ENTITY LIDENT "[&LOWER;_][&LETTER;0-9_']*"> <!-- Lowercase OCaml identifiers. --> 0011 <!ENTITY UIDENT "`?[&UPPER;][&LETTER;0-9_']*"> <!-- Uppercase OCaml identifiers. --> 0012 <!ENTITY IDENT "`?[&LETTER;][&LETTER;0-9_']*"> <!-- All OCaml identifiers. --> 0013 <!ENTITY ESC "(\\[ntbr'"\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. --> 0014 <!ENTITY DEC "[0-9][0-9_]*"> <!-- Decimal digits with underscores. --> 0015 ]> 0016 <language name="Objective Caml" 0017 extensions="*.ml;*.mli" 0018 mimetype="text/x-ocaml" 0019 section="Sources" 0020 version="10" 0021 priority="10" 0022 kateversion="5.79" 0023 author="Glyn Webster (glynwebster@orcon.net.nz) and Vincent Hugot (vincent.hugot@gmail.com)" 0024 license="LGPL" > 0025 0026 <highlighting> 0027 <list name="qtest keywords"> 0028 <item>in</item> 0029 <item>as</item> 0030 <item>forall</item> 0031 </list> 0032 <list name="Keywords"> 0033 <item>and</item> 0034 <item>as</item> 0035 <item>assert</item> 0036 <item>asr</item> 0037 <item>begin</item> 0038 <item>class</item> 0039 <item>closed</item> 0040 <item>constraint</item> 0041 <item>do</item> 0042 <item>done</item> 0043 <item>downto</item> 0044 <item>else</item> 0045 <item>end</item> 0046 <item>exception</item> 0047 <item>external</item> 0048 <item>false</item> 0049 <item>for</item> 0050 <item>fun</item> 0051 <item>function</item> 0052 <item>functor</item> 0053 <item>if</item> 0054 <item>in</item> 0055 <item>include</item> 0056 <item>inherit</item> 0057 <item>land</item> 0058 <item>lazy</item> 0059 <item>let</item> 0060 <item>lor</item> 0061 <item>lsl</item> 0062 <item>lsr</item> 0063 <item>lxor</item> 0064 <item>match</item> 0065 <item>method</item> 0066 <item>mod</item> 0067 <item>module</item> 0068 <item>mutable</item> 0069 <item>new</item> 0070 <item>nonrec</item> 0071 <item>object</item> 0072 <item>of</item> 0073 <item>open</item> 0074 <item>or</item> 0075 <item>parser</item> 0076 <item>private</item> 0077 <item>rec</item> 0078 <item>sig</item> 0079 <item>struct</item> 0080 <item>then</item> 0081 <item>to</item> 0082 <item>true</item> 0083 <item>try</item> 0084 <item>type</item> 0085 <item>val</item> 0086 <item>virtual</item> 0087 <item>when</item> 0088 <item>while</item> 0089 <item>with</item> 0090 </list> 0091 0092 <!-- Revised Syntax keywords are highlighted as identifiers by default. --> 0093 <!-- Change their highlighting colour to match the standard keywords --> 0094 <!-- if you intend to use the Camlp4 Revised Syntax. --> 0095 <list name="Revised Syntax Keywords"> 0096 <item>declare</item> 0097 <item>value</item> 0098 <item>where</item> 0099 </list> 0100 0101 <list name="Pervasive Functions"> 0102 <item>abs</item> 0103 <item>abs_float</item> 0104 <item>acos</item> 0105 <item>asin</item> 0106 <item>at_exit</item> 0107 <item>atan</item> 0108 <item>atan2</item> 0109 <item>bool_of_string</item> 0110 <item>ceil</item> 0111 <item>char_of_int</item> 0112 <item>classify_float</item> 0113 <item>close_in</item> 0114 <item>close_in_noerr</item> 0115 <item>close_out</item> 0116 <item>close_out_noerr</item> 0117 <item>compare</item> 0118 <item>copysign</item> 0119 <item>cos</item> 0120 <item>cosh</item> 0121 <item>decr</item> 0122 <item>do_at_exit</item> 0123 <item>epsilon_float</item> 0124 <item>exp</item> 0125 <item>expm1</item> 0126 <item>float</item> 0127 <item>float_of_int</item> 0128 <item>float_of_string</item> 0129 <item>floor</item> 0130 <item>flush</item> 0131 <item>flush_all</item> 0132 <item>format_of_string</item> 0133 <item>frexp</item> 0134 <item>fst</item> 0135 <item>hypot</item> 0136 <item>ignore</item> 0137 <item>in_channel_length</item> 0138 <item>incr</item> 0139 <item>infinity</item> 0140 <item>input</item> 0141 <item>input_binary_int</item> 0142 <item>input_byte</item> 0143 <item>input_char</item> 0144 <item>input_line</item> 0145 <item>input_value</item> 0146 <item>int_of_char</item> 0147 <item>int_of_float</item> 0148 <item>int_of_string</item> 0149 <item>ldexp</item> 0150 <item>lnot</item> 0151 <item>log</item> 0152 <item>log10</item> 0153 <item>log1p</item> 0154 <item>max</item> 0155 <item>max_float</item> 0156 <item>max_int</item> 0157 <item>min</item> 0158 <item>min_float</item> 0159 <item>min_int</item> 0160 <item>mod_float</item> 0161 <item>modf</item> 0162 <item>nan</item> 0163 <item>neg_infinity</item> 0164 <item>not</item> 0165 <item>open_in</item> 0166 <item>open_in_bin</item> 0167 <item>open_in_gen</item> 0168 <item>open_out</item> 0169 <item>open_out_bin</item> 0170 <item>open_out_gen</item> 0171 <item>out_channel_length</item> 0172 <item>output</item> 0173 <item>output_binary_int</item> 0174 <item>output_byte</item> 0175 <item>output_bytes</item> 0176 <item>output_char</item> 0177 <item>output_string</item> 0178 <item>output_substring</item> 0179 <item>output_value</item> 0180 <item>pos_in</item> 0181 <item>pos_out</item> 0182 <item>pred</item> 0183 <item>prerr_bytes</item> 0184 <item>prerr_char</item> 0185 <item>prerr_endline</item> 0186 <item>prerr_float</item> 0187 <item>prerr_int</item> 0188 <item>prerr_newline</item> 0189 <item>prerr_string</item> 0190 <item>print_bytes</item> 0191 <item>print_char</item> 0192 <item>print_endline</item> 0193 <item>print_float</item> 0194 <item>print_int</item> 0195 <item>print_newline</item> 0196 <item>print_string</item> 0197 <item>read_float</item> 0198 <item>read_int</item> 0199 <item>read_line</item> 0200 <item>really_input</item> 0201 <item>really_input_string</item> 0202 <item>ref</item> 0203 <item>seek_in</item> 0204 <item>seek_out</item> 0205 <item>set_binary_mode_in</item> 0206 <item>set_binary_mode_out</item> 0207 <item>sin</item> 0208 <item>sinh</item> 0209 <item>snd</item> 0210 <item>sqrt</item> 0211 <item>stderr</item> 0212 <item>stdin</item> 0213 <item>stdout</item> 0214 <item>string_of_bool</item> 0215 <item>string_of_float</item> 0216 <item>string_of_format</item> 0217 <item>string_of_int</item> 0218 <item>succ</item> 0219 <item>tan</item> 0220 <item>tanh</item> 0221 <item>truncate</item> 0222 <item>unsafe_really_input</item> 0223 <item>valid_float_lexem</item> 0224 </list> 0225 0226 <!-- These pervasive functions control program flow, --> 0227 <!-- so some people like to highlight them as keywords: --> 0228 <list name="Flow Control Functions"> 0229 <item>exit</item> 0230 <item>failwith</item> 0231 <item>invalid_arg</item> 0232 <item>raise</item> 0233 <item>raise_notrace</item> 0234 </list> 0235 0236 <list name="Pervasive Types"> 0237 <item>array</item> 0238 <item>bool</item> 0239 <item>bytes</item> 0240 <item>char</item> 0241 <item>exn</item> 0242 <item>float</item> 0243 <item>format4</item> 0244 <item>format6</item> 0245 <item>fpclass</item> 0246 <item>in_channel</item> 0247 <item>int</item> 0248 <item>int32</item> 0249 <item>int64</item> 0250 <item>lazy_t</item> 0251 <item>list</item> 0252 <item>nativeint</item> 0253 <item>open_flag</item> 0254 <item>option</item> 0255 <item>out_channel</item> 0256 <item>real</item> 0257 <item>ref</item> 0258 <item>string</item> 0259 <item>unit</item> 0260 </list> 0261 0262 <list name="Pervasive Variant Tags"> 0263 <item>FP_infinite</item> 0264 <item>FP_nan</item> 0265 <item>FP_normal</item> 0266 <item>FP_subnormal</item> 0267 <item>FP_zero</item> 0268 <item>None</item> 0269 <item>Open_append</item> 0270 <item>Open_binary</item> 0271 <item>Open_creat</item> 0272 <item>Open_excl</item> 0273 <item>Open_nonblock</item> 0274 <item>Open_rdonly</item> 0275 <item>Open_text</item> 0276 <item>Open_trunc</item> 0277 <item>Open_wronly</item> 0278 <item>Some</item> 0279 </list> 0280 0281 <list name="Pervasive Exceptions"> 0282 <item>Assert_failure</item> 0283 <item>Division_by_zero</item> 0284 <item>End_of_file</item> 0285 <item>Exit</item> 0286 <item>Failure</item> 0287 <item>Invalid_argument</item> 0288 <item>Match_failure</item> 0289 <item>Not_found</item> 0290 <item>Out_of_memory</item> 0291 <item>Stack_overflow</item> 0292 <item>Sys_blocked_io</item> 0293 <item>Sys_error</item> 0294 <item>Undefined_recursive_module</item> 0295 </list> 0296 0297 <list name="Standard Library Modules"> 0298 <item>Arg</item> 0299 <item>Array</item> 0300 <item>ArrayLabels</item> 0301 <item>Buffer</item> 0302 <item>Bytes</item> 0303 <item>Callback</item> 0304 <item>Char</item> 0305 <item>Complex</item> 0306 <item>Digest</item> 0307 <item>Ephemeron</item> 0308 <item>Filename</item> 0309 <item>Format</item> 0310 <item>Gc</item> 0311 <item>Genlex</item> 0312 <item>Hashtbl</item> 0313 <item>Int32</item> 0314 <item>Int64</item> 0315 <item>Lazy</item> 0316 <item>Lexing</item> 0317 <item>List</item> 0318 <item>ListLabels</item> 0319 <item>Map</item> 0320 <item>Marshal</item> 0321 <item>MoreLabels</item> 0322 <item>Nativeint</item> 0323 <item>Oo</item> 0324 <item>Parsing</item> 0325 <item>Printexc</item> 0326 <item>Printf</item> 0327 <item>Queue</item> 0328 <item>Random</item> 0329 <item>Scanf</item> 0330 <item>Set</item> 0331 <item>Sort</item> 0332 <item>Spacetime</item> 0333 <item>Stack</item> 0334 <item>StdLabels</item> 0335 <item>Stream</item> 0336 <item>String</item> 0337 <item>StringLabels</item> 0338 <item>Sys</item> 0339 <item>Uchar</item> 0340 <item>Weak</item> 0341 </list> 0342 0343 <contexts> 0344 0345 <context name="Code" lineEndContext="#stay" attribute="Operator"> 0346 0347 <!-- ] and ]} close code samples in Ocamldoc, so --> 0348 <!-- nested [ ] and { } brackets have to be allowed for: --> 0349 <DetectChar char="[" context="Nested Code 1" attribute="Operator" /> 0350 <DetectChar char="{" context="Nested Code 2" attribute="Operator" /> 0351 0352 <!-- Comments. --> 0353 <!-- A (** begins a special comment with Ocamldoc documentation markup. --> 0354 <StringDetect String="(**)" context="#stay" attribute="Comment" /> 0355 <StringDetect String="(**" context="Ocamldoc" attribute="Comment" beginRegion="comment" /> 0356 <RegExpr String="\(\*\$(T|Q|R|=)" context="qtest header" attribute="qtest body style" beginRegion="comment" /> 0357 <Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" /> 0358 0359 <!-- Interpreter directives. --> 0360 <!-- (These are lines where the first symbol is a '#' followed by an identifier. --> 0361 <!-- Such lines could also be part of a method call split over two lines but --> 0362 <!-- it's unlikey anyone would code like that.) --> 0363 <RegExpr String="#&IDENT;.*$" context="#stay" firstNonSpace="true" attribute="Directive"/> 0364 0365 <!-- String, character and Camlp4 "quotation" constants. --> 0366 <!-- Note: If you must modify the pattern for characters be precise: --> 0367 <!-- single quotes have several meanings in Ocaml. --> 0368 <DetectChar char=""" context="String" attribute="String" /> 0369 <RegExpr String="'(&ESC;|[^'])'" context="#stay" attribute="Character" /> 0370 <Detect2Chars char="<" char1="<" context="Camlp4 Quotation" attribute="Camlp4 Quotation" /> 0371 <RegExpr String="<:&IDENT;<" context="Camlp4 Quotation" attribute="Camlp4 Quotation" /> 0372 0373 <!-- Identifiers and keywords. --> 0374 <keyword String="Keywords" context="#stay" attribute="Keyword" /> 0375 <keyword String="Revised Syntax Keywords" context="#stay" attribute="Revised Syntax Keyword" /> 0376 <keyword String="Flow Control Functions" context="#stay" attribute="Flow Control Functions" /> 0377 <keyword String="Pervasive Functions" context="#stay" attribute="Pervasive Functions" /> 0378 <keyword String="Pervasive Types" context="#stay" attribute="Pervasive Types" /> 0379 <keyword String="Pervasive Exceptions" context="#stay" attribute="Pervasive Exceptions" /> 0380 <keyword String="Pervasive Variant Tags" context="#stay" attribute="Pervasive Variant Tags" /> 0381 <keyword String="Standard Library Modules" context="#stay" attribute="Standard Library Modules" /> 0382 <RegExpr String="&LIDENT;" context="#stay" attribute="Lowercase Identifier" /> 0383 <RegExpr String="&UIDENT;" context="#stay" attribute="Uppercase Identifier" /> 0384 0385 <!-- Numeric constants. --> 0386 <!-- Note that they may contain underscores. --> 0387 <RegExpr String="-?0[xX][0-9A-Fa-f_]+" context="#stay" attribute="Hexadecimal" /> 0388 <RegExpr String="-?0[oO][0-7_]+" context="#stay" attribute="Octal" /> 0389 <RegExpr String="-?0[bB][01_]+" context="#stay" attribute="Binary" /> 0390 <RegExpr String="-?&DEC;(\.&DEC;([eE][-+]?&DEC;)?|[eE][-+]?&DEC;)" context="#stay" attribute="Float" /> 0391 <RegExpr String="-?&DEC;" context="#stay" attribute="Decimal" /> 0392 0393 <IncludeRules context="Unmatched Closing Brackets" /> 0394 </context> 0395 0396 <context name="Nested Code 1" lineEndContext="#stay" attribute="Operator"> 0397 <DetectChar char="]" context="#pop" attribute="Operator" /> 0398 <IncludeRules context="Code" includeAttrib="true" /> 0399 </context> 0400 0401 <context name="Nested Code 2" lineEndContext="#stay" attribute="Operator"> 0402 <DetectChar char="}" context="#pop" attribute="Operator" /> 0403 <IncludeRules context="Code" includeAttrib="true" /> 0404 </context> 0405 0406 <context name="String" lineEndContext="#stay" attribute="String"> 0407 <DetectChar char=""" context="#pop" attribute="String" /> 0408 <!-- A backslash at the end of a line in a string indicates --> 0409 <!-- that the string will continue on the next line: --> 0410 <RegExpr String="&ESC;|\\$" context="#stay" attribute="Escaped Characters" /> 0411 </context> 0412 0413 <context name="qtest header" lineEndContext="qtest" attribute="Operator"> 0414 <keyword String="qtest keywords" attribute="Keyword" /> 0415 <DetectChar char="&" context="qtest param" attribute="qtest param style" /> 0416 <RegExpr String="&LIDENT;" context="#stay" attribute="qtest header style"/> 0417 </context> 0418 0419 <context name="qtest param" lineEndContext="qtest" attribute="qtest param style"> 0420 </context> 0421 0422 <context name="qtest" lineEndContext="#stay" attribute="qtest body style"> 0423 <Detect2Chars char="*" char1=')' context="#pop" attribute="qtest body style" endRegion="comment" /> 0424 <IncludeRules context="Code" includeAttrib="true" /> 0425 </context> 0426 0427 <context name="Comment" lineEndContext="#stay" attribute="Comment"> 0428 <Detect2Chars char="*" char1=")" context="#pop" attribute="Comment" endRegion="comment" /> 0429 <!-- Support for nested comments: --> 0430 <Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" /> 0431 <!-- Strings in Ocaml comments must be well-formed: --> 0432 <DetectChar char=""" context="String in Comment" attribute="String in Comment" /> 0433 0434 <DetectSpaces /> 0435 <IncludeRules context="##Comments" /> 0436 </context> 0437 0438 <context name="String in Comment" lineEndContext="#stay" attribute="String in Comment"> 0439 <DetectChar char=""" context="#pop" attribute="String in Comment" /> 0440 <IncludeRules context="String" /> 0441 </context> 0442 0443 <!-- Camlp4 Quotations. These are source code literals used by the Campl4 preprocessor. --> 0444 <!-- The only escapes allowed in a Camlp4 quotation are for the quotation start and stop symbols. --> 0445 <context name="Camlp4 Quotation" lineEndContext="#stay" attribute="Camlp4 Quotation"> 0446 <Detect2Chars char=">" char1=">" context="#pop" attribute="Camlp4 Quotation" /> 0447 <Detect2Chars char="<" char1="<" context="Camlp4 Quotation" attribute="Camlp4 Quotation" /> 0448 <RegExpr String="<:&IDENT;<" context="Camlp4 Quotation" attribute="Camlp4 Quotation" /> 0449 <RegExpr String="\\(\\|>>|<<|<:&IDENT;<)" context="#stay" attribute="Escaped Characters" /> 0450 </context> 0451 0452 <!-- Ocamldoc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 0453 0454 <context name="Ocamldoc" lineEndContext="#stay" attribute="Ocamldoc Text"> 0455 <Detect2Chars char="*" char1=")" context="#pop" attribute="Comment" endRegion="comment" /> 0456 0457 <!-- A backslash escapes markup characters: --> 0458 <RegExpr String="\\." context="#stay" attribute="Escaped Characters" /> 0459 0460 <!-- Support for nested comments and strings: --> 0461 <StringDetect String="(**)" context="#stay" attribute="Comment" /> 0462 <StringDetect String="(**" context="Ocamldoc" attribute="Comment" beginRegion="comment" /> 0463 <Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" /> 0464 0465 <!-- Strings in Ocaml comments must be well-formed: --> 0466 <DetectChar char=""" context="String in Comment" attribute="String in Comment" /> 0467 0468 <!-- Nested Markup: --> 0469 <DetectChar char="[" context="Ocamldoc Code" attribute="Ocamldoc Markup" /> 0470 <Detect2Chars char="{" char1="[" context="Ocamldoc Preformatted" attribute="Ocamldoc Markup" /> 0471 <Detect2Chars char="{" char1="%" context="Ocamldoc LaTeX" attribute="Ocamldoc Markup" /> 0472 <Detect2Chars char="{" char1="^" context="Nested Ocamldoc" attribute="Ocamldoc Markup" /> 0473 <RegExpr String="[{]v(\s|$)" context="Ocamldoc Verbatim" attribute="Ocamldoc Markup" /> 0474 <RegExpr String="[{]b(\s|$)" context="Ocamldoc Bold" attribute="Ocamldoc Markup" /> 0475 <RegExpr String="[{]i(\s|$)" context="Ocamldoc Italic" attribute="Ocamldoc Markup" /> 0476 <RegExpr String="[{]e(\s|$)" context="Ocamldoc Emphasised" attribute="Ocamldoc Markup" /> 0477 <RegExpr String="[{][0-9]+(:&IDENT;)?\s" context="Ocamldoc Heading" attribute="Ocamldoc Markup" /> 0478 <RegExpr String="[{][{]:&IDENT;[}]" context="Ocamldoc Link" attribute="Ocamldoc Markup" /> 0479 <RegExpr String="[{]!([a-z]+:)?" context="Ocamldoc References" attribute="Ocamldoc Markup" /> 0480 <RegExpr String="[{]&IDENT;(\s|$)" context="Nested Ocamldoc" attribute="Ocamldoc Markup" /> 0481 0482 <RegExpr String="@see\s*(<[^>]*>|"[^"]*"|'[^']*')" context="#stay" attribute="Ocamldoc Markup" /> 0483 <RegExpr String="@(param|raise)\s*" context="Ocamldoc Identifier" attribute="Ocamldoc Markup" /> 0484 <RegExpr String="@(author|before|deprecated|return|since|version)" context="#stay" attribute="Ocamldoc Markup" /> 0485 <RegExpr String="@&IDENT;" context="#stay" attribute="Ocamldoc Custom Tag" /> 0486 0487 0488 0489 <!-- A dash at the start of a line is a bullet point. --> 0490 <RegExpr String="^[ 	]*-\s" context="#stay" attribute="Ocamldoc Markup" column="0" /> 0491 0492 <IncludeRules context="Unmatched Closing Brackets" /> 0493 </context> 0494 0495 <context name="Ocamldoc Code" lineEndContext="#stay" attribute="Operator"> 0496 <DetectChar char="]" context="#pop" attribute="Ocamldoc Markup" /> 0497 <IncludeRules context="Code" includeAttrib="true" /> 0498 </context> 0499 0500 <context name="Ocamldoc Preformatted" lineEndContext="#stay" attribute="Operator"> 0501 <Detect2Chars char="]" char1="}" context="#pop" attribute="Ocamldoc Markup" /> 0502 <IncludeRules context="Code" includeAttrib="true" /> 0503 </context> 0504 0505 <context name="Ocamldoc Verbatim" lineEndContext="#stay" attribute="Ocamldoc Text"> 0506 <Detect2Chars char="v" char1="}" context="#pop" attribute="Ocamldoc Markup" /> 0507 </context> 0508 0509 <context name="Ocamldoc LaTeX" lineEndContext="#stay" attribute="Ocamldoc LaTeX"> 0510 <Detect2Chars char="%" char1="}" context="#pop" attribute="Ocamldoc Markup" /> 0511 <IncludeRules context="##LaTeX" /> 0512 </context> 0513 0514 <!-- A single qualified Ocaml identifier, perhaps preceeded by whitespace. } --> 0515 <context name="Ocamldoc Identifier" lineEndContext="#stay" attribute="Mismatched Brackets"> 0516 <RegExpr String="&IDENT;(\.&IDENT;)*" context="#pop" attribute="Ocamldoc Link" /> 0517 <Detect2Chars char="*" char1=")" context="#pop" attribute="Mismatched Brackets" /> 0518 <DetectSpaces /> 0519 </context> 0520 0521 <context name="Nested Ocamldoc" lineEndContext="#stay" attribute="Operator"> 0522 <DetectChar char="}" context="#pop" attribute="Ocamldoc Markup" /> 0523 <Detect2Chars char="*" char1=")" context="#pop" attribute="Mismatched Brackets" /> 0524 <IncludeRules context="Ocamldoc" includeAttrib="true" /> 0525 </context> 0526 0527 <context name="Ocamldoc Bold" lineEndContext="#stay" attribute="Ocamldoc Bold"> 0528 <IncludeRules context="Nested Ocamldoc" /> 0529 </context> 0530 0531 <context name="Ocamldoc Italic" lineEndContext="#stay" attribute="Ocamldoc Italic"> 0532 <IncludeRules context="Nested Ocamldoc" /> 0533 </context> 0534 0535 <context name="Ocamldoc Emphasised" lineEndContext="#stay" attribute="Ocamldoc Emphasised"> 0536 <IncludeRules context="Nested Ocamldoc" /> 0537 </context> 0538 0539 <context name="Ocamldoc Heading" lineEndContext="#stay" attribute="Ocamldoc Heading"> 0540 <IncludeRules context="Nested Ocamldoc" /> 0541 </context> 0542 0543 <context name="Ocamldoc Link" lineEndContext="#stay" attribute="Ocamldoc Link"> 0544 <IncludeRules context="Nested Ocamldoc" /> 0545 </context> 0546 0547 <!-- A list of qualified Ocaml identifiers, seperated by whitespace and ending with a } --> 0548 <context name="Ocamldoc References" lineEndContext="#stay" attribute="Mismatched Brackets"> 0549 <DetectChar char="}" context="#pop" attribute="Ocamldoc Markup" /> 0550 <Detect2Chars char="*" char1=")" context="#pop" attribute="Mismatched Brackets" /> 0551 <RegExpr String="&IDENT;(\.&IDENT;)*" context="#stay" attribute="Ocamldoc Link" /> 0552 <DetectSpaces context="#stay" attribute="Ocamldoc Markup" /> 0553 </context> 0554 0555 <!-- Unmatched closing brackets- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 0556 0557 <context name="Unmatched Closing Brackets" lineEndContext="#stay" attribute="Operator"> 0558 <Detect2Chars char="*" char1=")" context="#pop" attribute="Mismatched Brackets" /> 0559 <Detect2Chars char="v" char1="}" context="#stay" attribute="Mismatched Brackets" /> 0560 <Detect2Chars char="]" char1="}" context="#stay" attribute="Mismatched Brackets" /> 0561 <Detect2Chars char="%" char1="}" context="#stay" attribute="Mismatched Brackets" /> 0562 <AnyChar String="]}" context="#stay" attribute="Mismatched Brackets" /> 0563 </context> 0564 </contexts> 0565 0566 <itemDatas> 0567 <itemData name="Operator" defStyleNum="dsNormal" /> 0568 <itemData name="Keyword" defStyleNum="dsKeyword" /> 0569 <itemData name="Revised Syntax Keyword" defStyleNum="dsNormal" /> 0570 <itemData name="Lowercase Identifier" defStyleNum="dsNormal" /> 0571 <itemData name="Uppercase Identifier" defStyleNum="dsNormal" italic="true" /> 0572 0573 <!-- Lowercase pervasive identifiers: --> 0574 <itemData name="Flow Control Functions" defStyleNum="dsDataType" /> 0575 <itemData name="Pervasive Functions" defStyleNum="dsDataType" /> 0576 <itemData name="Pervasive Types" defStyleNum="dsDataType" /> 0577 0578 <!-- Uppercase pervasive identifiers: --> 0579 <itemData name="Pervasive Exceptions" defStyleNum="dsDataType" italic="true" /> 0580 <itemData name="Pervasive Variant Tags" defStyleNum="dsDataType" italic="true" /> 0581 <itemData name="Standard Library Modules" defStyleNum="dsDataType" italic="true" /> 0582 0583 <itemData name="Decimal" defStyleNum="dsDecVal" /> 0584 <itemData name="Hexadecimal" defStyleNum="dsBaseN" /> 0585 <itemData name="Octal" defStyleNum="dsBaseN" /> 0586 <itemData name="Binary" defStyleNum="dsBaseN" /> 0587 <itemData name="Float" defStyleNum="dsFloat" /> 0588 0589 <itemData name="Character" defStyleNum="dsChar" /> 0590 <itemData name="String" defStyleNum="dsString" /> 0591 <itemData name="Camlp4 Quotation" defStyleNum="dsString" /> 0592 <itemData name="Escaped Characters" defStyleNum="dsChar" /> 0593 0594 <itemData name="Directive" defStyleNum="dsOthers" /> 0595 0596 <itemData name="Comment" defStyleNum="dsComment" /> 0597 <itemData name="String in Comment" defStyleNum="dsComment" bold="true" /> 0598 <itemData name="Mismatched Brackets" defStyleNum="dsError" /> 0599 0600 <itemData name="Ocamldoc Markup" defStyleNum="dsOthers" /> 0601 <itemData name="Ocamldoc Text" defStyleNum="dsComment" italic="false" /> 0602 <itemData name="Ocamldoc Bold" defStyleNum="dsComment" italic="false" bold="true" /> 0603 <itemData name="Ocamldoc Italic" defStyleNum="dsComment" italic="true" bold="false" /> 0604 <itemData name="Ocamldoc Emphasised" defStyleNum="dsComment" italic="true" bold="true" /> 0605 <itemData name="Ocamldoc Heading" defStyleNum="dsComment" italic="false" bold="true" underline="true" /> 0606 <itemData name="Ocamldoc Link" defStyleNum="dsComment" italic="false" underline="true" color="#0000ff" /> 0607 <itemData name="Ocamldoc LaTeX" defStyleNum="dsComment" italic="false" /> 0608 <itemData name="Ocamldoc Custom Tag" defStyleNum="dsOthers" italic="true" /> 0609 0610 <itemData name="qtest header style" defStyleNum="dsNormal" backgroundColor="#FFEBE0" /> 0611 <itemData name="qtest param style" defStyleNum="dsNormal" italic="true" color="#7788FF" /> 0612 <!-- backgroundColor="#EEEEFF" --> 0613 <itemData name="qtest body style" defStyleNum="dsNormal" bold="true" backgroundColor="#D6FFEB" /> 0614 </itemDatas> 0615 </highlighting> 0616 0617 <general> 0618 <keywords casesensitive="true" /> 0619 <comments> 0620 <comment name="multiLine" start="(*" end="*)" region ="comment" /> 0621 </comments> 0622 </general> 0623 </language> 0624 <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->