Warning, /frameworks/syntax-highlighting/data/syntax/carto-css-mml.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 null "(?:null|Null|NULL|~)">
0005   <!ENTITY bool "(?:y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)">
0006 
0007   <!ENTITY int         "(?:0|[\-\+]?[1-9][0-9_]*)">
0008   <!ENTITY intOther    "[\-\+]?0(?:x_*[0-9a-fA-F][0-9a-fA-F_]*|o?_*[0-7][0-7_]*|b_*[01][01_]*)"> <!-- Hex, Octal, Binary -->
0009   <!ENTITY intBase60   "[\-\+]?[1-9][0-9_]*(?:\:[0-5]?[0-9])+">
0010   <!ENTITY allInt      "(?:&intBase60;|&intOther;|&int;)">
0011 
0012   <!ENTITY float       "[\-\+]?(?:[0-9][0-9_]*\.[0-9\._]*|\._*[0-9][0-9\._]*)(?:[eE][\-\+]?[0-9]+)?">
0013   <!ENTITY floatExp    "[\-\+]?[0-9][0-9_]*[eE][\-\+]?[0-9]+">
0014   <!ENTITY floatBase60 "[\-\+]?[0-9][0-9_]*(?:\:[0-5]?[0-9])+\.[0-9_]*">
0015   <!ENTITY inf         "[\-\+]?\.(?:inf|Inf|INF)\b">
0016   <!ENTITY nan         "\.(?:nan|NaN|NAN)\b">
0017   <!ENTITY allFloat    "(?:&float;|&floatExp;|&floatBase60;|&inf;|&nan;)">
0018 
0019   <!ENTITY endValue       "(?:\s*$|\s+#)">
0020   <!ENTITY endValueInline "\s*[:,\[\]\{\}]">
0021   <!ENTITY space          "[ ]">
0022 
0023   <!-- Key quoted -->
0024   <!ENTITY keyDQ          "&quot;(?:\\.|[^&quot;])+&quot;\s*">
0025   <!ENTITY keySQ          "'(?:[^']|'')+'\s*">
0026   <!-- Literal/folded operator -->
0027   <!ENTITY literalOp      "[\|&gt;][\-\+]?">
0028   <!-- Key after "?" or "-", used to detect literal/folded operator -->
0029   <!ENTITY keyAfterOp     "(?:[^&quot;'#\-\?\s][^:#]*|\-(?:[^\s:#][^:#]*)?|&keyDQ;|&keySQ;)">
0030 
0031   <!ENTITY dataTypes      "!!\S+">
0032   <!ENTITY alias          "&amp;\S+">
0033   <!ENTITY reference      "\*\S+">
0034 
0035   <!ENTITY dpointsHashAttrPreInline1 "[^\s&quot;'#\-,\}\s][^:#,\}]*(?=\:(?:\s|$))">
0036   <!ENTITY dpointsHashAttrPreInline2 "\-(?:[^\s:#,\}][^:#,\}]*)?(?=\:(?:\s|$))">
0037   <!ENTITY dpointsHashAttrPreInline3 "&keyDQ;(?=\:(?:\s|$))">
0038   <!ENTITY dpointsHashAttrPreInline4 "&keySQ;(?=\:(?:\s|$))">
0039 
0040   <!ENTITY dpointsListAttrPreInline1 "[^&quot;'#\-,\]\s][^:#,\]]*(?=\:(?:\s|$))">
0041   <!ENTITY dpointsListAttrPreInline2 "\-(?:[^\s:#,\]][^:#,\]]*)?(?=\:(?:\s|$))">
0042   <!ENTITY dpointsListAttrPreInline3 "&keyDQ;(?=\:(?:\s|$))">
0043   <!ENTITY dpointsListAttrPreInline4 "&keySQ;(?=\:(?:\s|$))">
0044 
0045   <!ENTITY dpointsAttrPre1 "[^&quot;'#\-\s][^:#]*(?=\:(?:\s|$))">
0046   <!ENTITY dpointsAttrPre2 "\-(?:[^\s:#][^:#]*)?(?=\:(?:\s|$))">
0047   <!ENTITY dpointsAttrPre3 "&keyDQ;(?=\:(?:\s|$))">
0048   <!ENTITY dpointsAttrPre4 "&keySQ;(?=\:(?:\s|$))">
0049 
0050   <!-- Matches Yaml keys whose values are SQL statements in CartoCSS MML files. -->
0051   <!ENTITY sqlKey "(table|layer_by_sql)">
0052 
0053 ]>
0054 
0055 <!-- Author: Dr Orlovsky MA <maxim@orlovsky.info> //-->
0056 <!-- Modifications (YAML 1.2), values & support for literal/folded style:
0057        Nibaldo González S. <nibgonz@gmail.com>
0058        These modifications are under the MIT license. //-->
0059 <!-- Derive the MML syntax highlighting from the yaml syntax highlighting:
0060        Lukas Sommer <sommerluk@gmail.com>
0061        These modifications are under the MIT license. //-->
0062 
0063 <!-- Syntax highlighting definition for CartoCSS MML, see https://github.com/mapbox/carto
0064      CartoCSS defines two file formats: MML (Map Markup Language) and MSS (Map Stylesheet).
0065      This file provides syntax highlighting for MML. As MML is yaml, it is derived from
0066      the yaml syntax highlighting definition. It adds SQL highlighting for yaml content
0067      since MML typically contains a lot of SQL code.
0068 
0069      NOTE This file is mostly identical to yaml.xml so changes to yaml.xml can and should
0070      be backported also to this file.
0071 
0072      HACK There are two keys in MML files that have SQL content: “table” and
0073      “layer_by_sql”. The good solution would be to recognize these keys and provide
0074      SQL highlighting for their content (and only their content):
0075      - folded/literal block:               Yes
0076      - plain string:                       Possibly. But special treatment for crazy
0077                                            yaml rules required www.yaml-multiline.info
0078                                            says: “:” cannot appear before a space or
0079                                            newline, and “#” cannot appear after a space
0080                                            or newline
0081      - single-quoted/double-quoted string: No. Too complicate and too confusing: it would
0082                                            require special SQL highlighting rules that
0083                                            deals with the escapes.
0084      But that could be difficult to implement. However, it seems likely that people
0085      write SQL in folded/literal blocks, while not using folded/literal blocks for
0086      anything else. So for simplicity we will here highlight all folded/literal blocks
0087      as SQL and everything else not, regardless of the key.
0088 -->
0089 
0090 <language name="CartoCSS MML" version="2" kateversion="5.44" section="Markup"
0091           extensions="*.mml"
0092           author="Dr Orlovsky MA (dr.orlovsky@gmail.com), Nibaldo González (nibgonz@gmail.com), Lukas Sommer (sommerluk@gmail.com)" license="LGPL">
0093   <highlighting>
0094     <contexts>
0095       <context attribute="Attribute" lineEndContext="#stay" name="normal" >
0096         <StringDetect attribute="Document Header" context="header" String="---" column="0"/>
0097         <RegExpr attribute="End of Document" context="EOD" String="^\.\.\.$" column="0"/>
0098         <DetectChar attribute="Directive" context="directive" char="%" column="0"/>
0099 
0100         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0101 
0102         <!-- Literal/Folded Style -->
0103         <IncludeRules context="find-literal-block" />
0104 
0105         <RegExpr attribute="Operator" firstNonSpace="true" context="dash" String="\-(?=\s|$)" />
0106         <DetectChar attribute="Operator" firstNonSpace="true" context="mapping-key" char="?" />
0107 
0108         <DetectChar attribute="Operator" firstNonSpace="true" context="list" char="[" beginRegion="List" />
0109         <DetectChar attribute="Operator" firstNonSpace="true" context="hash" char="{" beginRegion="Hash" />
0110 
0111         <RegExpr attribute="Data Types" firstNonSpace="true" context="after-data" String="&dataTypes;" />
0112         <RegExpr attribute="Alias" firstNonSpace="true" context="after-data" String="&alias;" />
0113         <RegExpr attribute="Reference" firstNonSpace="true" context="after-data" String="&reference;" />
0114 
0115         <RegExpr attribute="Key" context="dpoints-attribute-pre" String="&dpointsAttrPre1;|&dpointsAttrPre2;|&dpointsAttrPre3;|&dpointsAttrPre4;"/>
0116         <RegExpr attribute="Key Points Operator" context="attribute-pre" String=":(?=\s|$)"/>
0117 
0118         <DetectChar attribute="String" firstNonSpace="true" context="string" char="'" beginRegion="String" />
0119         <DetectChar attribute="String" firstNonSpace="true" context="stringx" char="&quot;" beginRegion="String" />
0120         <IncludeRules context="values-firstnonspace" />
0121         <DetectSpaces/>
0122       </context>
0123 
0124       <context attribute="Normal Text" lineEndContext="#pop" name="mapping-key" fallthrough="true" fallthroughContext="#pop">
0125         <RegExpr attribute="Comment" context="#pop!comment" String="(?:^|\s+)#" />
0126         <DetectSpaces />
0127         <RegExpr attribute="Operator" context="#pop!dash" String="\-(?=\s|$)" />
0128         <RegExpr attribute="Data Types" context="#pop!after-data" String="&dataTypes;" />
0129         <RegExpr attribute="Alias" context="#pop!after-data" String="&alias;" />
0130         <RegExpr attribute="Reference" context="#pop!after-data" String="&reference;" />
0131 
0132         <DetectChar attribute="Operator" context="#pop!list" char="[" beginRegion="List" />
0133         <DetectChar attribute="Operator" context="#pop!hash" char="{" beginRegion="Hash" />
0134         <DetectChar attribute="String" context="#pop!string" char="'" beginRegion="String" />
0135         <DetectChar attribute="String" context="#pop!stringx" char="&quot;" beginRegion="String" />
0136       </context>
0137 
0138       <context attribute="Normal Text" lineEndContext="#pop" name="dash" fallthrough="true" fallthroughContext="#pop">
0139         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0140         <DetectSpaces/>
0141         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0142         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
0143         <RegExpr attribute="Reference" context="#stay" String="&reference;" />
0144         <IncludeRules context="values" />
0145         <DetectChar attribute="Operator" context="#pop!mapping-key" char="?" />
0146         <RegExpr attribute="Operator" context="#stay" String="\-(?=\s|$)" />
0147 
0148         <DetectChar attribute="Operator" context="#pop!list" char="[" beginRegion="List" />
0149         <DetectChar attribute="Operator" context="#pop!hash" char="{" beginRegion="Hash" />
0150         <DetectChar attribute="String" context="#pop!string" char="'" beginRegion="String" />
0151         <DetectChar attribute="String" context="#pop!stringx" char="&quot;" beginRegion="String" />
0152       </context>
0153 
0154       <!-- Highlight lists, hashes and strings after a data type, reference or alias -->
0155       <context attribute="Normal Text" lineEndContext="#pop" name="after-data" fallthrough="true" fallthroughContext="#pop">
0156         <RegExpr attribute="Comment" context="#pop!comment" String="(?:^|\s+)#" />
0157         <DetectSpaces />
0158         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0159         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
0160         <RegExpr attribute="Reference" context="#stay" String="&reference;" />
0161 
0162         <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
0163         <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
0164         <DetectChar attribute="String" context="string" char="'" beginRegion="String" />
0165         <DetectChar attribute="String" context="stringx" char="&quot;" beginRegion="String" />
0166       </context>
0167 
0168       <context attribute="Document Header" lineEndContext="#pop" name="header">
0169         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0170         <RegExpr attribute="Literal/Folded Operator" context="header-literal-operator" String="\s&literalOp;(?=&endValue;)" lookAhead="true" />
0171       </context>
0172       <context attribute="Document Header" lineEndContext="#pop#pop" name="header-literal-operator" fallthrough="true" fallthroughContext="#pop">
0173         <DetectSpaces />
0174         <RegExpr attribute="Literal/Folded Operator" context="#pop#pop!literal-block-simple" String="&literalOp;" beginRegion="Literal" />
0175       </context>
0176 
0177       <context attribute="End of Document" lineEndContext="#stay" name="EOD">
0178       </context>
0179 
0180       <context attribute="Directive" lineEndContext="#pop" name="directive">
0181       </context>
0182 
0183       <context attribute="Attribute" lineEndContext="#pop#pop" name="attribute">
0184         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0185       </context>
0186 
0187       <context attribute="Attribute" lineEndContext="#stay" name="list-attribute-inline">
0188         <AnyChar attribute="Operator" context="#pop#pop" lookAhead="true" String=",]" />
0189         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0190       </context>
0191       <context attribute="Attribute" lineEndContext="#stay" name="hash-attribute-inline">
0192         <AnyChar attribute="Operator" context="#pop#pop" lookAhead="true" String=",}" />
0193         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0194       </context>
0195 
0196       <!-- Attribute -->
0197       <context attribute="Attribute" lineEndContext="#pop" name="dpoints-attribute-pre" fallthrough="true" fallthroughContext="#pop!attribute-pre">
0198         <DetectChar attribute="Key Points Operator" context="#pop!attribute-pre" char=":" /> <!-- Highlight two points after Key -->
0199       </context>
0200       <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre" fallthrough="true" fallthroughContext="attribute">
0201         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0202         <DetectSpaces/>
0203         <DetectChar attribute="Operator" context="#stay" char="?" />
0204         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0205         <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
0206         <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
0207         <DetectChar attribute="String" context="attribute-string" char="'" beginRegion="String" />
0208         <DetectChar attribute="String" context="attribute-stringx" char="&quot;" beginRegion="String" />
0209         <RegExpr attribute="Alias" context="#stay" String="&alias;(?=\s+[\[\{])" />
0210         <RegExpr attribute="Reference" context="#stay" String="&reference;(?=\s+[\[\{])" />
0211         <RegExpr attribute="Alias" context="attribute" String="&alias;" />
0212         <RegExpr attribute="Reference" context="attribute" String="&reference;" />
0213         <IncludeRules context="values" />
0214         <RegExpr attribute="Literal/Folded Operator" context="#stay" String="&literalOp;(?=&endValue;)" />
0215       </context>
0216 
0217       <context attribute="Attribute" lineEndContext="#pop" name="default-attribute-pre-inline">
0218         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0219         <DetectSpaces/>
0220 
0221         <DetectChar attribute="Operator" context="#stay" char="?" />
0222         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0223         <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
0224         <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
0225         <DetectChar attribute="String" context="attribute-string-inline" char="'" beginRegion="String" />
0226         <DetectChar attribute="String" context="attribute-stringx-inline" char="&quot;" beginRegion="String" />
0227         <RegExpr attribute="Alias" context="#stay" String="&alias;(?=\s+[\[\{])" />
0228         <RegExpr attribute="Reference" context="#stay" String="&reference;(?=\s+[\[\{])" />
0229       </context>
0230 
0231       <!-- Attribute Inline, Within List -->
0232       <context attribute="Attribute" lineEndContext="#pop" name="dpoints-list-attribute-pre-inline" fallthrough="true" fallthroughContext="#pop!list-attribute-pre-inline">
0233         <DetectChar attribute="Key Points Operator" context="#pop!list-attribute-pre-inline" char=":" /> <!-- Highlight two points after Key -->
0234       </context>
0235       <context attribute="Attribute" lineEndContext="#pop" name="list-attribute-pre-inline" fallthrough="true" fallthroughContext="list-attribute-inline">
0236         <IncludeRules context="default-attribute-pre-inline" />
0237         <RegExpr attribute="Alias" context="list-attribute-inline" String="&alias;" />
0238         <RegExpr attribute="Reference" context="list-attribute-inline" String="&reference;" />
0239 
0240         <AnyChar attribute="Operator" context="#pop" lookAhead="true" String=",]" />
0241         <IncludeRules context="values-inline" />
0242       </context>
0243 
0244       <!-- Attribute Inline, Within Hash -->
0245       <context attribute="Attribute" lineEndContext="#pop" name="dpoints-hash-attribute-pre-inline" fallthrough="true" fallthroughContext="#pop!hash-attribute-pre-inline">
0246         <DetectChar attribute="Key Points Operator" context="#pop!hash-attribute-pre-inline" char=":" /> <!-- Highlight two points after Key -->
0247       </context>
0248       <context attribute="Attribute" lineEndContext="#pop" name="hash-attribute-pre-inline" fallthrough="true" fallthroughContext="hash-attribute-inline">
0249         <IncludeRules context="default-attribute-pre-inline" />
0250         <RegExpr attribute="Alias" context="hash-attribute-inline" String="&alias;" />
0251         <RegExpr attribute="Reference" context="hash-attribute-inline" String="&reference;" />
0252 
0253         <AnyChar attribute="Operator" context="#pop" lookAhead="true" String=",}" />
0254         <IncludeRules context="values-inline" />
0255       </context>
0256 
0257       <!-- List -->
0258       <!-- Context "find-values-list" highlights values and then sends to "list-element" -->
0259       <context attribute="List" lineEndContext="#stay" name="list" fallthrough="true" fallthroughContext="#pop!find-values-list" noIndentationBasedFolding="true">
0260         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0261         <DetectSpaces />
0262         <DetectChar attribute="Operator" context="#pop!find-values-list" char="?" />
0263       </context>
0264       <context attribute="List" lineEndContext="#stay" name="list-element" noIndentationBasedFolding="true">
0265         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0266 
0267         <DetectChar attribute="Operator" context="#pop" char="]" endRegion="List" />
0268         <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
0269         <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
0270 
0271         <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="&dpointsListAttrPreInline1;|&dpointsListAttrPreInline2;|&dpointsListAttrPreInline3;|&dpointsListAttrPreInline4;"/>
0272         <RegExpr attribute="Key Points Operator" context="list-attribute-pre-inline" String=":(?=\s|$)" firstNonSpace="true" />
0273 
0274         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0275         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
0276         <RegExpr attribute="Reference" context="#stay" String="&reference;" />
0277         <DetectChar attribute="String" context="string" char="'" beginRegion="String" />
0278         <DetectChar attribute="String" context="stringx" char="&quot;" beginRegion="String" />
0279 
0280         <DetectChar attribute="Operator" context="#pop!list" char="," />
0281         <IncludeRules context="values-list" />
0282       </context>
0283 
0284       <!-- Hash -->
0285       <context attribute="Hash" lineEndContext="#stay" name="hash" fallthrough="true" fallthroughContext="#pop!hash-element" noIndentationBasedFolding="true">
0286         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0287         <DetectSpaces />
0288         <DetectChar attribute="Operator" context="#pop!hash-element" char="?" />
0289       </context>
0290       <context attribute="Hash" lineEndContext="#stay" name="hash-element" noIndentationBasedFolding="true">
0291         <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0292         <DetectSpaces/>
0293 
0294         <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="&dpointsHashAttrPreInline1;|&dpointsHashAttrPreInline2;|&dpointsHashAttrPreInline3;|&dpointsHashAttrPreInline4;"/>
0295         <RegExpr attribute="Key Points Operator" context="hash-attribute-pre-inline" String=":(?=\s|$)"/>
0296 
0297         <DetectChar attribute="Operator" context="#pop" char="}" endRegion="Hash" />
0298         <DetectChar attribute="Operator" context="#pop!hash" char="," />
0299 
0300         <!-- This improves highlighting in keys with multiple lines -->
0301         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0302         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
0303         <RegExpr attribute="Reference" context="#stay" String="&reference;" />
0304         <DetectChar attribute="String" context="string" char="'" beginRegion="String" />
0305         <DetectChar attribute="String" context="stringx" char="&quot;" beginRegion="String" />
0306       </context>
0307 
0308       <!-- Strings -->
0309       <context attribute="String" lineEndContext="#stay" name="attribute-string" noIndentationBasedFolding="true">
0310         <DetectIdentifier />
0311         <IncludeRules context="escaped-char-singleq" />
0312         <DetectChar attribute="String" context="attribute-end" char="'" endRegion="String" />
0313       </context>
0314 
0315       <context attribute="String" lineEndContext="#stay" name="attribute-stringx" noIndentationBasedFolding="true">
0316         <DetectIdentifier />
0317         <IncludeRules context="escaped-char-doubleq" />
0318         <DetectChar attribute="String" context="attribute-end" char="&quot;" endRegion="String" />
0319       </context>
0320 
0321       <context attribute="String" lineEndContext="#stay" name="attribute-string-inline" noIndentationBasedFolding="true">
0322           <DetectIdentifier />
0323           <IncludeRules context="escaped-char-singleq" />
0324           <DetectChar attribute="String" context="attribute-end-inline" char="'" endRegion="String" />
0325       </context>
0326 
0327       <context attribute="String" lineEndContext="#stay" name="attribute-stringx-inline" noIndentationBasedFolding="true">
0328           <DetectIdentifier />
0329           <IncludeRules context="escaped-char-doubleq" />
0330           <DetectChar attribute="String" context="attribute-end-inline" char="&quot;" endRegion="String" />
0331       </context>
0332 
0333       <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end">
0334           <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0335           <DetectSpaces attribute="Normal Text" context="#stay"/>
0336       </context>
0337 
0338       <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end-inline">
0339           <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
0340           <DetectSpaces attribute="Normal Text" context="#stay"/>
0341           <AnyChar context="#pop#pop#pop" lookAhead="true" String="}],"/>
0342       </context>
0343 
0344       <context attribute="String" lineEndContext="#stay" name="string" noIndentationBasedFolding="true">
0345         <DetectIdentifier />
0346         <IncludeRules context="escaped-char-singleq" />
0347         <DetectChar attribute="String" context="#pop" char="'" endRegion="String" />
0348       </context>
0349 
0350       <context attribute="String" lineEndContext="#stay" name="stringx" noIndentationBasedFolding="true">
0351         <DetectIdentifier />
0352         <IncludeRules context="escaped-char-doubleq" />
0353         <DetectChar attribute="String" context="#pop" char="&quot;" endRegion="String" />
0354       </context>
0355 
0356       <context attribute="Normal Text" lineEndContext="#stay" name="escaped-char-doubleq">
0357         <RegExpr attribute="Escaped Character" context="#stay" String="\\(?:[\s0abtnvfre&quot;/\\N_Lp]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})"/>
0358       </context>
0359 
0360       <context attribute="Normal Text" lineEndContext="#stay" name="escaped-char-singleq">
0361         <Detect2Chars attribute="Escaped Character" context="#stay" char="'" char1="'" />
0362       </context>
0363 
0364       <context attribute="Comment" lineEndContext="#pop" name="comment">
0365         <DetectSpaces />
0366         <IncludeRules context="##Comments" />
0367       </context>
0368 
0369       <!-- Values -->
0370       <context attribute="Normal Text" lineEndContext="#stay" name="values">
0371         <RegExpr attribute="Null" context="#stay" String="&null;(?=&endValue;)"/>
0372         <RegExpr attribute="Boolean" context="#stay" String="&bool;(?=&endValue;)"/>
0373         <RegExpr attribute="Float" context="#stay" String="&allFloat;(?=&endValue;)"/>
0374         <RegExpr attribute="Integer" context="#stay" String="&allInt;(?=&endValue;)"/>
0375       </context>
0376       <context attribute="Normal Text" lineEndContext="#stay" name="values-firstnonspace">
0377         <RegExpr attribute="Null" firstNonSpace="true" context="#stay" String="&null;(?=&endValue;)"/>
0378         <RegExpr attribute="Boolean" firstNonSpace="true" context="#stay" String="&bool;(?=&endValue;)"/>
0379         <RegExpr attribute="Float" firstNonSpace="true" context="#stay" String="&allFloat;(?=&endValue;)"/>
0380         <RegExpr attribute="Integer" firstNonSpace="true" context="#stay" String="&allInt;(?=&endValue;)"/>
0381       </context>
0382       <context attribute="Normal Text" lineEndContext="#stay" name="values-inline">
0383         <RegExpr attribute="Null" context="#stay" String="&null;(?=&endValueInline;|&endValue;)"/>
0384         <RegExpr attribute="Boolean" context="#stay" String="&bool;(?=&endValueInline;|&endValue;)"/>
0385         <RegExpr attribute="Float" context="#stay" String="&allFloat;(?=&endValueInline;|&endValue;)"/>
0386         <RegExpr attribute="Integer" context="#stay" String="&allInt;(?=&endValueInline;|&endValue;)"/>
0387       </context>
0388 
0389       <context attribute="Normal Text" lineEndContext="#stay" name="values-list">
0390         <RegExpr attribute="Null" context="#stay" String="(?:\s|^)&null;(?=&endValueInline;|&endValue;)"/>
0391         <RegExpr attribute="Boolean" context="#stay" String="(?:\s|^)&bool;(?=&endValueInline;|&endValue;)"/>
0392         <RegExpr attribute="Float" context="#stay" String="(?:\s|^)&allFloat;(?=&endValueInline;|&endValue;)"/>
0393         <RegExpr attribute="Integer" context="#stay" String="(?:\s|^)&allInt;(?=&endValueInline;|&endValue;)"/>
0394       </context>
0395       <!-- If the value is found immediately at the beginning of the list item -->
0396       <context attribute="Normal Text" lineEndContext="#pop!list-element" name="find-values-list" fallthrough="true" fallthroughContext="#pop!list-element">
0397         <RegExpr attribute="Null" context="#pop!list-element" String="&null;(?=&endValueInline;|&endValue;)"/>
0398         <RegExpr attribute="Boolean" context="#pop!list-element" String="&bool;(?=&endValueInline;|&endValue;)"/>
0399         <RegExpr attribute="Float" context="#pop!list-element" String="&allFloat;(?=&endValueInline;|&endValue;)"/>
0400         <RegExpr attribute="Integer" context="#pop!list-element" String="&allInt;(?=&endValueInline;|&endValue;)"/>
0401       </context>
0402 
0403       <!-- Literal/Folded Style: http://yaml.org/spec/1.2/spec.html#id2795688 -->
0404 
0405       <context attribute="Normal Text" lineEndContext="#stay" name="find-literal-block">
0406         <!-- Do not allow indentation with tabs: -->
0407         <RegExpr attribute="Alert" context="#stay" column="0"
0408                  String="^&space;*\t+\s*(?=(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?&literalOp;&endValue;)" />
0409 
0410         <!-- CASE 1: The literal/folded operator is the first character of a line.
0411              The text after a space is considered literal.
0412              Ex:
0413              > |
0414              >  ^Start the literal text
0415         -->
0416         <RegExpr attribute="Literal/Folded Operator" context="literal-block-simple" column="0"
0417                  String="^&literalOp;(?=&endValue;)" beginRegion="Literal" />
0418 
0419         <!-- CASE 2: Only the literal/folded operator is present in a line, after a space (the indentation
0420              is captured). The text with the same indentation of the operator will be highlighted as literal.
0421              Ex:
0422              >  key:
0423              >    |
0424              >    ^Start the literal text
0425 
0426              However, in this case, the correct way is to use the indentation of the block, not the
0427              indentation of the the operator. The problem is that it is difficult to capture.
0428              >  key1:
0429              >   key2:
0430              >    key3:
0431              >          |
0432              >     ^Block indentation (correct literal text)
0433         -->
0434         <RegExpr attribute="Literal/Folded Operator" context="literal-block-only-operator" column="0"
0435                  String="^(&space;+)&literalOp;(?=&endValue;)" beginRegion="Literal" />
0436 
0437         <!-- CASE 3: There is a Key before the literal/folded operator (Key indentation is captured).
0438              The text with the Key's indentation plus a space is considered literal.
0439              Ex:
0440              >    key: |
0441              >     ^Start the literal text
0442              >  key: !!type >-
0443              >   ^Start the folded text
0444         -->
0445         <RegExpr attribute="Key Points Operator" context="literal-block-key" column="0"
0446                  String="^(&space;*)\:(?=\s+(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?&literalOp;&endValue;)" />
0447         <RegExpr attribute="Key" context="literal-block-key" column="0"
0448                  String="^(&space;*)(?:[^&quot;'#\-\?\s][^:#]*|\-(?:[^\s:#][^:#]*)?|&keyDQ;|&keySQ;)(?=\:\s+(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?&literalOp;&endValue;)" />
0449 
0450         <!-- CASE 4: Is there an operator "?" or "-" at the beginning of the line.
0451              NOTE: Nested characters "-" and "?" are considered as part of the indentation.
0452              Therefore, the indentation of the Key or the last operator "?" or "-" is captured.
0453              Ex:
0454              >  ? |
0455              >   ^Start the literal Text
0456              >  ? - - |
0457              >       ^Start the literal text
0458              >  - Key: |
0459              >     ^Start the literal text
0460              >  ? - - - - Key: |
0461              >             ^Start the literal text
0462         -->
0463         <RegExpr context="start-literal-block-withdash" lookAhead="true" column="0"
0464                  String="^&space;*(?:\?&space;*|\-&space;+){1,6}(?:(?:&keyDQ;|&keySQ;|[^#\-\?\s]|\-[^\s#])(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?)?&literalOp;&endValue;" />
0465 
0466         <!-- CASE 5: Literal/folded operator after a data type or other content.
0467              Ex:
0468              >  !!type |
0469              >   ^Start the literal text
0470              >  key1:
0471              >   key2:
0472              >    !!type |
0473              >    ^Start the literal text
0474         -->
0475         <RegExpr context="start-literal-block-other" lookAhead="true" column="0"
0476                  String="^&space;*(?:(?:[&amp;\*]|!!)\S+\s+)+&literalOp;&endValue;" />
0477       </context>
0478 
0479       <!-- If the line with the literal operator starts with the "-" or "?" operator.
0480            NOTE: The indentation capture is limited to 6 nested operators. -->
0481       <context attribute="Normal Text" lineEndContext="#pop" name="start-literal-block-withdash" noIndentationBasedFolding="true">
0482         <!-- With Key: Capture the Key indentation -->
0483         <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s2" String="^(&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>
0484         <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s3" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>
0485         <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s4" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>
0486         <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s5" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>
0487         <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s6" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>
0488         <RegExpr attribute="Operator" context="#pop!literal-block-key-withdash-s7" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)(?=&keyAfterOp;:\s)" column="0"/>
0489         <!-- Without Key: Capture the indentation of the last operator "?" or "-" -->
0490         <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s1" String="^(&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>
0491         <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s2" String="^(&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>
0492         <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s3" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>
0493         <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s4" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>
0494         <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s5" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>
0495         <RegExpr attribute="Operator" context="#pop!literal-block-withdash-s6" String="^(&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-](&space;*)[\?\-]\s*(?=[^#\-\?\s]|\-[^\s#])" column="0"/>
0496       </context>
0497       <!-- Capture the indentation of data type, reference or alias  -->
0498       <context attribute="Normal Text" lineEndContext="#pop" name="start-literal-block-other" noIndentationBasedFolding="true">
0499         <!-- The text with the same indentation will be considered literal -->
0500         <RegExpr attribute="Data Types" context="#pop!literal-block-after-data" String="^(&space;+)&dataTypes;" column="0" />
0501         <RegExpr attribute="Alias" context="#pop!literal-block-after-data" String="^(&space;+)&alias;" column="0" />
0502         <RegExpr attribute="Reference" context="#pop!literal-block-after-data" String="^(&space;+)&reference;" column="0" />
0503         <!-- The text after a space will be considered literal (empty text is captured) -->
0504         <RegExpr attribute="Data Types" context="#pop!literal-block-withdash-s1" String="^()&dataTypes;" column="0" />
0505         <RegExpr attribute="Alias" context="#pop!literal-block-withdash-s1" String="^()&alias;" column="0" />
0506         <RegExpr attribute="Reference" context="#pop!literal-block-withdash-s1" String="^()&reference;" column="0" />
0507       </context>
0508 
0509       <!-- Highlight data/attribute before the literal operator (Note that if there is a line
0510            break within a string or bracket, the literal line will not be highlighted). -->
0511       <context attribute="Attribute" lineEndContext="#pop#pop" name="before-literal-operator" noIndentationBasedFolding="true">
0512         <RegExpr attribute="Literal/Folded Operator" context="#pop!end-literal-operator" String="&literalOp;(?=&endValue;)" beginRegion="Literal" />
0513 
0514         <RegExpr attribute="Error" context="#pop#pop" String="(?:[&amp;\*]|!!)\S*&literalOp;(?=&endValue;)" />
0515         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
0516         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
0517         <RegExpr attribute="Reference" context="#stay" String="&reference;" />
0518 
0519         <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
0520         <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
0521         <DetectChar attribute="String" context="string" char="'" beginRegion="String" />
0522         <DetectChar attribute="String" context="stringx" char="&quot;" beginRegion="String" />
0523       </context>
0524 
0525       <context attribute="Normal Text" lineEndContext="#pop#pop" name="dpoints-key-before-literal-operator" fallthrough="true" fallthroughContext="#pop#pop" noIndentationBasedFolding="true">
0526         <DetectChar attribute="Key Points Operator" context="#pop!key-before-literal-operator" char=":" />
0527       </context>
0528       <context attribute="Attribute" lineEndContext="#pop#pop" name="key-before-literal-operator" noIndentationBasedFolding="true">
0529         <IncludeRules context="before-literal-operator" />
0530         <DetectChar attribute="Operator" context="#stay" char="?" />
0531       </context>
0532       <context attribute="Attribute" lineEndContext="#pop" name="end-literal-operator" noIndentationBasedFolding="true">
0533         <RegExpr attribute="Comment" context="#pop!comment" String="(?:^|\s+)#" />
0534       </context>
0535 
0536       <!-- Common rules for the content of the literal blocks -->
0537       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-default" noIndentationBasedFolding="true">
0538         <!-- End literal/folded block -->
0539         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
0540         <!-- Find literal/folded operator -->
0541         <RegExpr context="before-literal-operator" String="\S" lookAhead="true" />
0542       </context>
0543       <context attribute="Normal Text" lineEndContext="#pop" name="literal-block-key-default" noIndentationBasedFolding="true">
0544         <!-- End literal/folded block -->
0545         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
0546         <!-- Detect Key before the literal/folded operator -->
0547         <RegExpr attribute="Key" context="dpoints-key-before-literal-operator" String="&keyAfterOp;(?=:\s)" />
0548         <RegExpr attribute="Normal Text" context="#pop" String="\S" lookAhead="true" endRegion="Literal" />
0549       </context>
0550 
0551       <!-- Content of the literal block: -->
0552 
0553       <!-- If the literal operator is starting the line (after a space, use block indentation) -->
0554       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-only-operator" dynamic="true" noIndentationBasedFolding="true">
0555         <StringDetect attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="%1" dynamic="true" column="0" />
0556 
0557         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
0558         <RegExpr attribute="Comment" context="comment" String="(?:^|\s)#" />
0559         <RegExpr context="#pop" String="\S" lookAhead="true" endRegion="Literal" />
0560       </context>
0561       <!-- If the literal operator is the first character of a line (or after header) -->
0562       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-simple" noIndentationBasedFolding="true">
0563         <DetectSpaces attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" column="0" />
0564 
0565         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
0566         <RegExpr attribute="Comment" context="comment" String="(?:^|\s)#" />
0567       </context>
0568       <!-- If there is a data type or other content before the liretal operator (use block indentation) -->
0569       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-after-data" dynamic="true" noIndentationBasedFolding="true">
0570         <StringDetect attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="%1" dynamic="true" column="0" />
0571 
0572         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
0573         <RegExpr context="before-literal-operator" String="\S" lookAhead="true" />
0574       </context>
0575       <!-- If there is a key before the literal operator -->
0576       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key" dynamic="true" noIndentationBasedFolding="true">
0577         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1\s" dynamic="true" column="0" />
0578 
0579         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
0580         <!-- Attribute of the Key (the Key was previously highlighted) -->
0581         <RegExpr attribute="Key Points Operator" context="key-before-literal-operator" String=":\s" />
0582         <RegExpr context="key-before-literal-operator" String="\S" lookAhead="true" />
0583       </context>
0584       <context attribute="Literal/Folded Block" lineEndContext="#pop" name="injected-sql" noIndentationBasedFolding="true">
0585         <!-- CartoCSS is a preprocessor for Mapnik, which supports exclusivly
0586              PostgreSQL (with the PostGIS extension) as database, therefore we
0587              choose the Postgre flavor of SQL syntax hightlighting here.
0588              The includeAttrib="true" in <IncludeRules> will override
0589              the attribute="Literal/Folded Block" of the current <context>
0590              with attribute="WHATEVER" of the default <context> of
0591              "##SQL (PostgreSQL)". This ensures that we get the identical
0592              highlighting as in SQL even for default text that has no special
0593              rule in the “SQL (PostgreSQL)” syntax highlighting. -->
0594         <IncludeRules context="##SQL (PostgreSQL)" includeAttrib="true"/>
0595       </context>
0596 
0597       <!-- If there are dashes/"?" before the literal operator -->
0598       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s1" dynamic="true" noIndentationBasedFolding="true">
0599         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1\s" dynamic="true" column="0" />
0600         <IncludeRules context="literal-block-default" />
0601       </context>
0602       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s2" dynamic="true" noIndentationBasedFolding="true">
0603         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2&space;\s" dynamic="true" column="0" />
0604         <IncludeRules context="literal-block-default" />
0605       </context>
0606       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s3" dynamic="true" noIndentationBasedFolding="true">
0607         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3&space;{2}\s" dynamic="true" column="0" />
0608         <IncludeRules context="literal-block-default" />
0609       </context>
0610       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s4" dynamic="true" noIndentationBasedFolding="true">
0611         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4&space;{3}\s" dynamic="true" column="0" />
0612         <IncludeRules context="literal-block-default" />
0613       </context>
0614       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s5" dynamic="true" noIndentationBasedFolding="true">
0615         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4%5&space;{4}\s" dynamic="true" column="0" />
0616         <IncludeRules context="literal-block-default" />
0617       </context>
0618       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-withdash-s6" dynamic="true" noIndentationBasedFolding="true">
0619         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4%5%6&space;{5}\s" dynamic="true" column="0" />
0620         <IncludeRules context="literal-block-default" />
0621       </context>
0622       <!-- If there are dashes/"?" and a Key before the literal operator -->
0623       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s2" dynamic="true" noIndentationBasedFolding="true">
0624         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2&space;\s" dynamic="true" column="0" />
0625         <IncludeRules context="literal-block-key-default" />
0626       </context>
0627       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s3" dynamic="true" noIndentationBasedFolding="true">
0628         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3&space;{2}\s" dynamic="true" column="0" />
0629         <IncludeRules context="literal-block-key-default" />
0630       </context>
0631       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s4" dynamic="true" noIndentationBasedFolding="true">
0632         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4&space;{3}\s" dynamic="true" column="0" />
0633         <IncludeRules context="literal-block-key-default" />
0634       </context>
0635       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s5" dynamic="true" noIndentationBasedFolding="true">
0636         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4%5&space;{4}\s" dynamic="true" column="0" />
0637         <IncludeRules context="literal-block-key-default" />
0638       </context>
0639       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s6" dynamic="true" noIndentationBasedFolding="true">
0640         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4%5%6&space;{5}\s" dynamic="true" column="0" />
0641         <IncludeRules context="literal-block-key-default" />
0642       </context>
0643       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-key-withdash-s7" dynamic="true" noIndentationBasedFolding="true">
0644         <RegExpr attribute="Literal/Folded Block" context="injected-sql" lookAhead="true" String="^%1%2%3%4%5%6%7&space;{6}\s" dynamic="true" column="0" />
0645         <IncludeRules context="literal-block-key-default" />
0646       </context>
0647     </contexts>
0648 
0649     <itemDatas>
0650       <itemData name="Normal Text" defStyleNum="dsAttribute" spellChecking="false" />
0651       <itemData name="Attribute" defStyleNum="dsAttribute" spellChecking="false" />
0652       <itemData name="List" defStyleNum="dsAttribute" spellChecking="false" />
0653       <itemData name="Hash" defStyleNum="dsAttribute" spellChecking="false" />
0654       <itemData name="Comment" defStyleNum="dsComment" />
0655       <itemData name="End of Document" defStyleNum="dsComment" />
0656       <itemData name="Document Header" defStyleNum="dsPreprocessor" spellChecking="false" />
0657       <itemData name="Data Types" defStyleNum="dsOthers" spellChecking="false" />
0658       <itemData name="Alias" defStyleNum="dsOthers" spellChecking="false" />
0659       <itemData name="Reference" defStyleNum="dsOthers" spellChecking="false" />
0660       <itemData name="Key" defStyleNum="dsFunction" bold="1" spellChecking="false" />
0661       <itemData name="Directive" defStyleNum="dsPreprocessor" spellChecking="false" />
0662       <itemData name="Key Points Operator" defStyleNum="dsKeyword" spellChecking="false" />
0663       <itemData name="Operator" defStyleNum="dsKeyword" spellChecking="false" />
0664       <itemData name="String" defStyleNum="dsString" spellChecking="false" />
0665       <itemData name="Escaped Character" defStyleNum="dsSpecialChar" spellChecking="false" />
0666       <itemData name="Literal/Folded Operator" defStyleNum="dsChar" spellChecking="false" bold="1" />
0667       <itemData name="Literal/Folded Block" defStyleNum="dsNormal" spellChecking="false" />
0668       <itemData name="Null" defStyleNum="dsChar" spellChecking="false" />
0669       <itemData name="Boolean" defStyleNum="dsChar" spellChecking="false" />
0670       <itemData name="Integer" defStyleNum="dsDecVal" spellChecking="false" />
0671       <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
0672       <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
0673       <itemData name="Alert" defStyleNum="dsAlert" backgroundColor="#EF9A9A" spellChecking="false" />
0674     </itemDatas>
0675   </highlighting>
0676 
0677   <general>
0678     <folding indentationsensitive="1" />
0679     <emptyLines>
0680       <emptyLine regexpr="(?:\s+|\s*#.*)"/>
0681     </emptyLines>
0682     <comments>
0683       <comment name="singleLine" start="#" position="afterwhitespace" />
0684     </comments>
0685     <keywords casesensitive="1"/>
0686   </general>
0687 </language>
0688 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->