lang/etc/kate_highlighting_lang.xml

147 lines
7.1 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="langexp" version="1" kateversion="5.0" section="Sources" extensions="*.langexp" mimetype="text/langexp" priority="5">
<highlighting>
<list name="controlflow">
<item>if</item>
<item>elif</item>
<item>else</item>
<item>for</item>
<item>do</item>
<item>break</item>
<item>continue</item>
<item>return</item>
<item>bring</item>
</list>
<list name="keywords">
<item>import</item>
<item>let</item>
<item>var</item>
<item>lambda</item>
<item>exec</item>
<item>test</item>
<item>example</item>
</list>
2023-07-31 13:52:03 +03:00
<list name="references">
<item>out</item>
<item>in</item>
<item>ref</item>
<item>const</item>
</list>
<list name="constants">
<item>null</item>
<item>true</item>
<item>false</item>
<item>this</item>
<item>This</item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<DetectSpaces/>
<keyword String="controlflow" attribute="Control Flow" context="#stay"/>
<keyword String="keywords" attribute="Keyword" context="#stay"/>
2023-07-31 13:52:03 +03:00
<keyword String="references" attribute="Reference" context="#stay"/>
<keyword String="constants" attribute="Constant" context="#stay"/>
<Detect2Chars char="/" char1="/" attribute="Comment" context="Comment"/>
<RegExpr String="^\: [^\n]*" attribute="Documentation" context="#stay"/>
2023-07-31 13:52:03 +03:00
<RegExpr String="^\@[a-z_][a-z0-9_]* " attribute="Annotation" context="AnnotationDocumentation"/>
<Detect2Chars char="(" char1=")" attribute="Constant" context="#stay"/>
2023-07-25 21:33:57 +03:00
<RegExpr String="^#![^\n]*" attribute="Comment" context="#stay"/>
<RegExpr String="\@[a-z_][a-z0-9_]*(?![a-z0-9_])" attribute="Annotation" context="#stay"/>
2023-07-31 13:52:03 +03:00
<RegExpr String="((\:\=)|(\=\:)|\%|\\|\$|(\:\:)|^)(?![a\+\\\-\*/%\^\!\?&amp;,&lt;>=\.])" attribute="Keyword" context="#stay"/>
<RegExpr String="((\-\>)|(&lt;\-)|(&lt;\>)|(\-\-))(?![a\+\\\-\*/%\^\!\?&amp;,&lt;>=\.])" attribute="Reference" context="#stay"/>
<RegExpr String="(\@|\:|(\?\?)|(\!\!)|(\=\>)|(\!\!\=\>))(?![a\+\\\-\*/%\^\!\?\|&amp;,&lt;>=\.])" attribute="Control Flow" context="#stay"/>
2023-08-12 15:55:33 +03:00
<RegExpr String="\b[0-9]+\.[0-9]+f?\b" attribute="Float" context="#stay"/>
<RegExpr String="''([^\\\/]|(\\.))''u?" attribute="Character" context="#stay"/>
<RegExpr String="\b[0-9]+[il]?\b" attribute="Decimal" context="#stay"/>
<RegExpr String="&quot;([^\\&quot;]|(\\.))*&quot;u?" attribute="String" context="#stay" />
2023-08-14 18:14:05 +03:00
<RegExpr String="((?&lt;![\+\\\-\*/%\^\!\?\|&amp;,&lt;>=\.])((\.+)|([\+\\\-\*/%\^\!\?\|&amp;,&lt;>=]+\.?\.?\.?)))|(\|)|(\[\[)|(\]\])|(\(\()|(\)\))" attribute="Operator" context="#stay"/>
<RegExpr String="([a-z_][a-z0-9_]*\.)*(([a-z_][a-z0-9_]*)|_)(?![a-z0-9_])" attribute="Name" context="#stay"/>
<RegExpr String="([a-z_][a-z0-9_]*\.)*[A-Z][a-zA-Z0-9]*(?![a-zA-Z0-9])" attribute="Type" context="#stay"/>
<RegExpr String="'(([a-z_][a-z0-9_]*(?![a-z0-9_]))|([A-Z][a-zA-Z0-9]*)(?![a-zA-Z0-9]))" attribute="ArgumentTypeOrName" context="#stay"/>
<RegExpr String="([a-z_][a-z0-9_]*\.)*#[A-Z][a-zA-Z0-9]*(?![a-zA-Z0-9])" attribute="Typeclass" context="#stay"/>
2023-08-08 10:30:16 +03:00
<DetectChar char="(" attribute="Symbol" context="#stay" beginRegion="OpenBracket"/>
<DetectChar char=")" attribute="Symbol" context="#stay" endRegion="OpenBracket"/>
2023-08-08 10:30:16 +03:00
<DetectChar char="[" attribute="Symbol" context="#stay" beginRegion="AngledBracket"/>
<DetectChar char="]" attribute="Symbol" context="#stay" endRegion="AngledBracket"/>
<DetectChar char="{" attribute="Symbol" context="#stay" beginRegion="CurlyBrace"/>
<DetectChar char="}" attribute="Symbol" context="#stay" endRegion="CurlyBrace"/>
<IncludeRules context="FindComments" />
</context>
<context name="FindComments" attribute="Normal Text" lineEndContext="#pop">
<Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="/" lookAhead="true"/>
<Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" />
</context>
<context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<Detect2Chars attribute="Comment" context="#pop!Comment" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="#pop!MultiLine Comment" char="/" char1="*" beginRegion="Comment"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment">
<DetectSpaces />
<IncludeRules context="##Comments" />
<DetectIdentifier />
</context>
<context attribute="Comment" lineEndContext="#stay" name="MultiLine Comment">
<DetectSpaces />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
<IncludeRules context="##Comments" />
<DetectIdentifier />
</context>
2023-07-31 13:52:03 +03:00
<context attribute="Documentation" lineEndContext="#pop" name="AnnotationDocumentation">
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
2023-07-31 13:52:31 +03:00
<itemData name="Reference" defStyleNum="dsFunction" spellChecking="false"/>
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
2023-07-31 13:52:31 +03:00
<itemData name="ArgumentTypeOrName" defStyleNum="dsVariable" spellChecking="false"/>
<itemData name="Constructor" defStyleNum="dsConstant" spellChecking="false"/>
<itemData name="Typeclass" defStyleNum="dsAttribute" spellChecking="false"/>
<itemData name="Name" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Constant" defStyleNum="dsConstant" spellChecking="false"/>
<itemData name="Annotation" defStyleNum="dsAttribute" spellChecking="false"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Documentation" defStyleNum="dsDocumentation"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Escape" defStyleNum="dsSpecialChar"/>
<itemData name="Character" defStyleNum="dsChar"/>
2023-07-31 13:52:31 +03:00
<itemData name="Operator" defStyleNum="dsOperator"/>
2023-08-08 10:30:16 +03:00
<itemData name="Symbol" defStyleNum="dsNormal"/>
<itemData name="Error" defStyleNum="dsError"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="/*" end="*/" region="Comment" />
</comments>
<keywords casesensitive="1" />
</general>
</language>