You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
182 lines
6.3 KiB
182 lines
6.3 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language SYSTEM "language.dtd">
|
|
<!--
|
|
========================================================================
|
|
|
|
Haxe Language highlighting.
|
|
|
|
========================================================================
|
|
|
|
Author: Chad Joan
|
|
|
|
========================================================================
|
|
-->
|
|
|
|
<language name="Haxe" section="Sources" extensions="*.hx;*.Hx;*.hX;*.HX;" mimetype="text/x-hxsrc" version="2" kateversion="2.4" casesensitive="true" author="Chad Joan" license="MIT">
|
|
<highlighting>
|
|
<list name="keywords">
|
|
|
|
<item>break</item>
|
|
|
|
<item>case</item>
|
|
<item>cast</item>
|
|
<item>catch</item>
|
|
<item>class</item>
|
|
<item>continue</item>
|
|
|
|
<item>default</item>
|
|
|
|
<item>else</item>
|
|
<item>enum</item>
|
|
<item>extends</item>
|
|
|
|
<item>false</item>
|
|
<item>for</item>
|
|
<item>function</item>
|
|
|
|
<item>if</item>
|
|
<item>implements</item>
|
|
<item>in</item>
|
|
<item>inline</item>
|
|
<item>interface</item>
|
|
|
|
<item>new</item>
|
|
<item>null</item>
|
|
|
|
<item>override</item>
|
|
|
|
<item>private</item>
|
|
<item>public</item>
|
|
|
|
<item>return</item>
|
|
|
|
<item>static</item>
|
|
<item>super</item>
|
|
<item>switch</item>
|
|
|
|
<item>this</item>
|
|
<item>throw</item>
|
|
<item>trace</item>
|
|
<item>true</item>
|
|
<item>try</item>
|
|
<item>typedef</item>
|
|
|
|
<item>untyped</item>
|
|
|
|
<item>var</item>
|
|
|
|
<item>while</item>
|
|
|
|
</list>
|
|
|
|
<list name="modules">
|
|
<item>package</item>
|
|
<item>import</item>
|
|
</list>
|
|
|
|
<list name="types">
|
|
<item>Array</item>
|
|
<item>Void</item>
|
|
<item>Bool</item>
|
|
<item>Int</item>
|
|
<item>UInt</item>
|
|
<item>Float</item>
|
|
<item>Dynamic</item>
|
|
<item>String</item>
|
|
<item>List</item>
|
|
<item>Error</item>
|
|
<item>Unknown</item>
|
|
<item>Type</item>
|
|
</list>
|
|
|
|
<contexts>
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="normal">
|
|
<RegExpr attribute="Preprocessor" context="#pop" String="#if(\s+\w+)?" />
|
|
<RegExpr attribute="Preprocessor" context="#pop" String="#(else|elseif|end|error)" />
|
|
|
|
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
|
<keyword attribute="Module" context="ModuleName" String="modules"/>
|
|
<keyword attribute="Type" context="#stay" String="types"/>
|
|
|
|
<DetectIdentifier attribute="Normal Text"/>
|
|
|
|
<HlCStringChar attribute="EscapeSequence" context="#pop"/>
|
|
|
|
<DetectChar attribute="RawString" context="RawString" char="'"/>
|
|
<DetectChar attribute="String" context="String" char="""/>
|
|
|
|
<Detect2Chars attribute="Comment" context="CommentLine" char="/" char1="/"/>
|
|
<Detect2Chars attribute="Comment" context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/>
|
|
|
|
<DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="BraceA" />
|
|
<DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="BraceA" />
|
|
|
|
<!-- Match ... and .. before numbers are matched. -->
|
|
<StringDetect attribute="Normal Text" context="#pop" String="..."/>
|
|
<Detect2Chars attribute="Normal Text" char="." char1="."/>
|
|
|
|
<!-- Float -->
|
|
<!-- Floats must be matched before Binary|Octal|Hex|Integer -->
|
|
<!-- All floats except integers -->
|
|
<RegExpr attribute="Float" context="#pop" String="[\d][\d]*(\.(?!\.)[\d]*([eE][-+]?[\d]+)?)"/>
|
|
<RegExpr attribute="Float" context="#pop" String="\.[\d][\d]*([eE][-+]?[\d]+)?"/>
|
|
|
|
<!-- Hex|Integer -->
|
|
<RegExpr attribute="Hex" context="#pop" String="0[xX][\da-fA-F]+"/>
|
|
<RegExpr attribute="Integer" context="#pop" String="\d+"/>
|
|
</context>
|
|
|
|
<context attribute="Module Name" lineEndContext="#stay" name="ModuleName">
|
|
<Detect2Chars attribute="Comment" context="CommentLine" char="/" char1="/"/>
|
|
<Detect2Chars attribute="Comment" context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/>
|
|
<RegExpr context="#pop" String="[^\s\w.:,]"/>
|
|
</context>
|
|
|
|
<!-- Strings -->
|
|
<!-- '...' -->
|
|
<context attribute="RawString" lineEndContext="#stay" name="RawString">
|
|
<DetectChar attribute="RawString" context="#pop" char="'"/>
|
|
</context>
|
|
<!-- "..." -->
|
|
<context attribute="String" lineEndContext="#stay" name="String">
|
|
<Detect2Chars attribute="String" context="#stay" char="\" char1="""/>
|
|
<DetectChar attribute="String" context="#pop" char="""/>
|
|
<HlCStringChar attribute="EscapeSequence"/>
|
|
<RegExpr attribute="EscapeSequence" context="#stay" String="\\(u[\da-fA-F]{4}|U[\da-fA-F]{8}|&[a-zA-Z]\w+;)" />
|
|
</context>
|
|
|
|
<!-- Comments -->
|
|
<context attribute="Comment" lineEndContext="#pop" name="CommentLine"/>
|
|
<context attribute="Comment" lineEndContext="#stay" name="CommentBlock">
|
|
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentBlock"/>
|
|
</context>
|
|
</contexts>
|
|
<itemDatas>
|
|
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
|
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
|
<itemData name="Type" defStyleNum="dsDataType"/>
|
|
<itemData name="Integer" defStyleNum="dsDecVal"/>
|
|
<itemData name="Hex" defStyleNum="dsBaseN"/>
|
|
<itemData name="Float" defStyleNum="dsFloat"/>
|
|
|
|
<itemData name="Module" defStyleNum="dsKeyword" color="#0000ff" selColor="#ffffff"/>
|
|
<itemData name="Module Name" defStyleNum="dsNormal" color="#0000ff" selColor="#ffffff"/>
|
|
|
|
<itemData name="EscapeSequence" defStyleNum="dsString" color="#00aa88" selColor="#ff0000"/>
|
|
<itemData name="String" defStyleNum="dsString"/>
|
|
<itemData name="RawString" defStyleNum="dsString"/>
|
|
|
|
<itemData name="Comment" defStyleNum="dsComment"/>
|
|
|
|
<itemData name="Preprocessor" defStyleNum="dsOthers"/>
|
|
</itemDatas>
|
|
</highlighting>
|
|
<general>
|
|
<comments>
|
|
<comment name="singleLine" start="//"/>
|
|
<comment name="multiLine" start="/*" end="*/" />
|
|
</comments>
|
|
<keywords casesensitive="true"/>
|
|
</general>
|
|
</language>
|