diff options
Diffstat (limited to 'src/libs/3rdparty/syntax-highlighting/data/syntax/toml.xml')
-rw-r--r-- | src/libs/3rdparty/syntax-highlighting/data/syntax/toml.xml | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/src/libs/3rdparty/syntax-highlighting/data/syntax/toml.xml b/src/libs/3rdparty/syntax-highlighting/data/syntax/toml.xml new file mode 100644 index 0000000000..d643069bf8 --- /dev/null +++ b/src/libs/3rdparty/syntax-highlighting/data/syntax/toml.xml @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language +[ + <!ENTITY more "(_[0-9]++)*+"> + <!ENTITY int "(0|[1-9][0-9]*+&more;)"> + <!ENTITY frac "\.[0-9]+&more;"> + <!ENTITY exp "[eE][+-]?[0-9]+&more;"> + + <!ENTITY offset "[+-][0-9][0-9]:[0-9][0-9]"> + <!ENTITY time "[0-9][0-9]:[0-9][0-9]:[0-9][0-9](\.[0-9]+)?"> + <!ENTITY datetime "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]([T ]&time;(&offset;|Z)?)?|&time;"> +]> +<!-- https://github.com/toml-lang/toml --> +<!-- https://toml.io/en/v1.0.0 --> +<language + name="TOML" + section="Configuration" + extensions="Cargo.lock;*.toml;*.rc;*.conf;*.cfg;*.cf;*.cnf;*.ini;mirrorlist" + mimetype="text/x-toml;application/toml" + version="13" + kateversion="5.0" + author="flying-sheep@web.de" + license="LGPLv2+" + priority="-1" + > +<highlighting> + <list name="bools"> + <item>true</item> + <item>false</item> + </list> + + <contexts> + <context attribute="Error" lineEndContext="#stay" name="Toml"> + <DetectSpaces attribute="Whitespace"/> + <Detect2Chars attribute="TableHeader" context="NestedTableHeader" char="[" char1="[" endRegion="Table"/> + <DetectChar attribute="TableHeader" context="TableHeader" char="[" endRegion="Table"/> + <DetectChar attribute="Assignment" context="Value" char="="/> + <DetectChar char="#" attribute="Comment" context="Comment"/> + <IncludeRules context="FindKey"/> + </context> + + + <context attribute="Key" lineEndContext="#stay" name="FindKey"> + <DetectChar attribute="Key" char="."/> + <RegExpr attribute="Key" context="#stay" String="[A-Za-z0-9_-]+"/> + <DetectChar attribute="Key" context="QuotedKey" char="""/> + <DetectChar attribute="Key" context="LitQuotedKey" char="'"/> + </context> + + + <!-- table headers --> + <context attribute="TableHeader" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop" name="TableHeader"> + <DetectChar attribute="TableHeader" context="#pop" char="]" beginRegion="Table"/> + <IncludeRules context="TableHeaderCommon"/> + </context> + + <context attribute="TableHeader" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop" name="NestedTableHeader"> + <Detect2Chars attribute="TableHeader" context="#pop" char="]" char1="]" beginRegion="Table"/> + <IncludeRules context="TableHeaderCommon"/> + </context> + + <context attribute="TableHeader" lineEndContext="#pop" name="TableHeaderCommon"> + <DetectSpaces attribute="Whitespace"/> + <DetectChar attribute="TableHeader" char="."/> + <RegExpr attribute="TableHeader" context="#stay" String="[A-Za-z0-9_-]+"/> + <DetectChar attribute="TableHeader" context="QuotedKey" char="""/> + <DetectChar attribute="TableHeader" context="LitQuotedKey" char="'"/> + </context> + + + <!-- values --> + <context attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" name="Value"> + <DetectSpaces attribute="Whitespace"/> + <WordDetect attribute="Boolean true" context="#pop" String="true"/> + <WordDetect attribute="Boolean false" context="#pop" String="false"/> + <StringDetect attribute="String" context="#pop!MultilineString" String="""""/> + <DetectChar attribute="String" context="#pop!String" char="""/> + <StringDetect attribute="String" context="#pop!LitMultilineString" String="'''"/> + <DetectChar attribute="String" context="#pop!LitString" char="'"/> + <DetectChar attribute="Array" context="#pop!Array" char="["/> + <DetectChar attribute="InlineTable" context="#pop!InlineTable" char="{"/> + <RegExpr attribute="Date" context="#pop" String="&datetime;"/> + <RegExpr attribute="Int" context="#pop" String="[+-]?(0x[0-9a-fA-F]+(_[0-9a-fA-F]+)*|0o[0-7]+(_[0-7]+)*|0b[01]+(_[01]+)*|∫(?!(\.|[eE][+-]?)[0-9]))"/> + <RegExpr attribute="Float" context="#pop" String="[+-]?(∫(&frac;(&exp;)?|&exp;)|inf|nan)"/> + </context> + + <context attribute="Comment" lineEndContext="#pop" name="Comment"> + <DetectSpaces/> + <IncludeRules context="##Comments"/> + <DetectIdentifier/> + </context> + + + <!-- Quoted keys and Strings--> + <context attribute="Key" lineEndContext="#pop" name="QuotedKey"> + <DetectChar attribute="Key" context="#pop" char="""/> + <IncludeRules context="FindEscapedChar"/> + </context> + + <context attribute="String" lineEndContext="#pop" name="String"> + <DetectChar attribute="String" context="#pop" char="""/> + <IncludeRules context="FindEscapedChar"/> + </context> + + <context attribute="String" lineEndContext="#stay" name="MultilineString"> + <StringDetect attribute="String" context="#pop" String="""""""/> + <StringDetect attribute="String" context="#pop" String=""""""/> + <StringDetect attribute="String" context="#pop" String="""""/> + <LineContinue attribute="Escape" context="#stay"/> + <IncludeRules context="FindEscapedChar"/> + </context> + + <context attribute="String" lineEndContext="#pop" name="FindEscapedChar"> + <RegExpr attribute="Escape" String="\\[btnfr"\\]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}" context="#stay"/> + <RegExpr attribute="Error" String="\\[uU][0-9a-fA-F]*|\\." context="#stay"/> + </context> + + <context attribute="Key" lineEndContext="#pop" name="LitQuotedKey"> + <DetectChar attribute="Key" context="#pop" char="'"/> + </context> + + <context attribute="LitString" lineEndContext="#pop" name="LitString"> + <DetectChar attribute="String" context="#pop" char="'"/> + </context> + + <context attribute="LitString" lineEndContext="#stay" name="LitMultilineString"> + <StringDetect attribute="String" context="#pop" String="'''''"/> + <StringDetect attribute="String" context="#pop" String="''''"/> + <StringDetect attribute="String" context="#pop" String="'''"/> + </context> + + + <!-- Arrays --> + <context attribute="Array" lineEndContext="#stay" name="Array" fallthrough="true" fallthroughContext="InArray"> + <DetectSpaces attribute="Whitespace"/> + <DetectChar context="#pop" attribute="Array" char="]"/> + <DetectChar attribute="Comment" context="Comment" char="#"/> + <DetectChar context="InArray" attribute="NextEntry" char=","/> + </context> + <context attribute="Error" lineEndContext="#stay" name="InArray"> + <DetectChar context="#pop#pop" attribute="Array" char="]"/> + <DetectChar context="#stay" attribute="Error" char=","/> + <DetectChar attribute="Comment" context="Comment" char="#"/> + <IncludeRules context="Value"/> + </context> + + <context attribute="InlineTable" lineEndContext="#stay" name="InlineTable"> + <DetectChar attribute="Assignment" context="Value" char="="/> + <DetectChar char="#" attribute="Comment" context="Comment"/> + <DetectChar context="#pop" attribute="InlineTable" char="}"/> + <DetectChar context="#stay" attribute="NextEntry" char=","/> + <IncludeRules context="FindKey"/> + </context> + + </contexts> + <itemDatas> + <itemData name="Whitespace" defStyleNum="dsNormal"/> + <itemData name="Key" defStyleNum="dsDataType"/> + <itemData name="TableHeader" defStyleNum="dsKeyword"/> + <itemData name="Assignment" defStyleNum="dsOperator"/> + <itemData name="Comment" defStyleNum="dsComment"/> + + <itemData name="Date" defStyleNum="dsBaseN"/> + <itemData name="Float" defStyleNum="dsFloat"/> + <itemData name="Int" defStyleNum="dsDecVal"/> + <itemData name="Boolean true" defStyleNum="dsConstant"/> + <itemData name="Boolean false" defStyleNum="dsConstant"/> + <itemData name="String" defStyleNum="dsString"/> + <itemData name="LitString" defStyleNum="dsVerbatimString"/> + <itemData name="Escape" defStyleNum="dsSpecialChar"/> + <itemData name="Array" defStyleNum="dsOperator"/> + <itemData name="InlineTable" defStyleNum="dsOperator"/> + <itemData name="NextEntry" defStyleNum="dsOperator"/> + + <itemData name="Error" defStyleNum="dsError"/> + </itemDatas> +</highlighting> +<general> + <comments> + <comment name="singleLine" start="#" position="afterwhitespace"/> + </comments> +</general> +</language> |