<?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>