mirror of
https://codeberg.org/ProgramSnail/lang.git
synced 2025-12-05 22:48:43 +00:00
expression builders finished, type builders started
This commit is contained in:
parent
6682e0beb1
commit
535d8d26c3
12 changed files with 909 additions and 76 deletions
130
etc/kate_highlighting_lang.xml
Normal file
130
etc/kate_highlighting_lang.xml
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
<?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>loop</item>
|
||||
<item>do</item>
|
||||
<item>break</item>
|
||||
<item>continue</item>
|
||||
<item>return</item>
|
||||
<item>bring</item>
|
||||
</list>
|
||||
<list name="keywords">
|
||||
<item>out</item>
|
||||
<item>in</item>
|
||||
<item>ref</item>
|
||||
<item>let</item>
|
||||
<item>var</item>
|
||||
<item>exec</item>
|
||||
<item>test</item>
|
||||
<item>example</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"/>
|
||||
<keyword String="constants" attribute="Constant" context="#stay"/>
|
||||
<Detect2Chars char="/" char1="/" attribute="Comment" context="Comment"/>
|
||||
<RegExpr String="\b[0-9]+\.[0-9]+\b" attribute="Float" context="#stay"/>
|
||||
|
||||
<RegExpr String="^\: [^\n]*" attribute="Documentation" context="#stay"/>
|
||||
<RegExpr String="^\@[^\n]*" attribute="Documentation" context="#stay"/>
|
||||
|
||||
<RegExpr String="\@[a-z_][a-z0-9_]*(?![a-z0-9_])" attribute="Annotation" context="#stay"/>
|
||||
|
||||
<RegExpr String="(\:\=)|(\=\:)|\%|\\|\$|(\:\:)|(\-\>)|(<\-)|(<\>)|^" attribute="Keyword" context="#stay"/>
|
||||
|
||||
<RegExpr String="\@|\:|(\?\?)|(\!\!)|(\=\>)" attribute="Control Flow" context="#stay"/>
|
||||
|
||||
<RegExpr String="''([^\\\/]|(\\.))''" attribute="Character" context="#stay"/>
|
||||
|
||||
<RegExpr String="(\.+)|([\+\\\-\*/%\^\!\?\|&,<>=]+\.?\.?\.?)" 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"/>
|
||||
|
||||
<RegExpr String="\b[0-9]+\b" attribute="Decimal" context="#stay"/>
|
||||
<RegExpr String=""([^\\"]|(\\.))*"" attribute="String" context="#stay" />
|
||||
|
||||
<DetectChar char="[" attribute="Symbol" context="#stay"/>
|
||||
<DetectChar char="]" attribute="Symbol" context="#stay"/>
|
||||
|
||||
<DetectChar char="{" attribute="Symbol" context="#stay" beginRegion="Brace"/>
|
||||
<DetectChar char="}" attribute="Symbol" context="#stay" endRegion="Brace"/>
|
||||
|
||||
<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">
|
||||
<LineContinue attribute="Comment" context="#stay"/>
|
||||
<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>
|
||||
</contexts>
|
||||
<itemDatas>
|
||||
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
||||
<itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
|
||||
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
|
||||
<itemData name="Type" defStyleNum="dsDataType" spellChecking="false"/>
|
||||
<itemData name="ArgumentTypeOrName" defStyleNum="dsBuiltIn" 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"/>
|
||||
<itemData name="Operator" defStyleNum="dsFunction"/>
|
||||
<itemData name="Symbol" defStyleNum="dsFunction"/>
|
||||
<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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue