249 lines
11 KiB
XML
249 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE language
|
|
[
|
|
<!ENTITY int "(?:[0-9]++(_++[0-9]++)*+)">
|
|
<!ENTITY hex "(?:[0-9a-fA-F]++(_++[0-9a-fA-F]++)*+)">
|
|
<!ENTITY exp "(?:[eE][-+]?∫)">
|
|
<!ENTITY float "(\b∫(\.((∫&exp;?+|&exp;)[fFdD]?\b|[dDfFgG]\b)?|&exp;[fFdD]?\b|[dDfFgG]\b)|\.∫&exp;?[dDfFgG]?\b)">
|
|
<!ENTITY hexfloat "\b0[xX](&hex;\.?+&hex;?+|\.&hex;?)[pP][-+]?∫[dDfFgG]?\b">
|
|
]>
|
|
<!--
|
|
Based on the java syntax file 1.19 by Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)
|
|
-->
|
|
<language name="Groovy" version="12" kateversion="5.79" section="Sources" extensions="*.groovy;*.gradle;*.gvy;Jenkinsfile" license="LGPL" author="Chris Reeves (chris@ev-soft.net)">
|
|
<highlighting>
|
|
<list name="java15">
|
|
<include>java15##Java</include>
|
|
</list>
|
|
<list name="keywords">
|
|
<item>as</item>
|
|
<item>assert</item>
|
|
<item>class</item>
|
|
<item>default</item>
|
|
<item>enum</item>
|
|
<item>extends</item>
|
|
<item>false</item>
|
|
<item>implements</item>
|
|
<item>import</item>
|
|
<item>in</item>
|
|
<item>instanceof</item>
|
|
<item>native</item>
|
|
<item>abstract</item>
|
|
<item>interface</item>
|
|
<item>new</item>
|
|
<item>null</item>
|
|
<item>package</item>
|
|
<item>super</item>
|
|
<item>this</item>
|
|
<item>throws</item>
|
|
<item>trait</item>
|
|
<item>true</item>
|
|
<item>var</item>
|
|
</list>
|
|
<list name="control flow">
|
|
<item>break</item>
|
|
<item>case</item>
|
|
<item>catch</item>
|
|
<item>continue</item>
|
|
<item>do</item>
|
|
<item>else</item>
|
|
<item>finally</item>
|
|
<item>for</item>
|
|
<item>goto</item>
|
|
<item>if</item>
|
|
<item>return</item>
|
|
<item>switch</item>
|
|
<item>throw</item>
|
|
<item>try</item>
|
|
<item>while</item>
|
|
</list>
|
|
<list name="types">
|
|
<item>def</item>
|
|
|
|
<item>boolean</item>
|
|
<item>byte</item>
|
|
<item>char</item>
|
|
<item>double</item>
|
|
<item>float</item>
|
|
<item>int</item>
|
|
<item>long</item>
|
|
<item>short</item>
|
|
<item>void</item>
|
|
</list>
|
|
<contexts>
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
|
|
<DetectSpaces context="#stay"/>
|
|
|
|
<DetectChar attribute="Symbol" context="Dot" char="." lookAhead="1"/>
|
|
<DetectChar attribute="Symbol" context="AfterSymbol" char="{" beginRegion="Brace1"/>
|
|
<DetectChar attribute="Symbol" context="AfterSymbol" char="}" endRegion="Brace1"/>
|
|
|
|
<!-- Comment next line if you don't use Javadoc tool -->
|
|
<IncludeRules context="##Javadoc"/>
|
|
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
|
|
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
|
|
|
|
<AnyChar attribute="Symbol" context="AfterSymbol" String="()[]&|+,-/*<=>;!%?:~^"/>
|
|
|
|
<AnyChar context="Number" String="0123456789" lookAhead="1"/>
|
|
|
|
<DetectChar attribute="String" context="StringSQ" char="'"/>
|
|
<DetectChar attribute="String" context="StringDQ" char="""/>
|
|
<Detect2Chars attribute="String" context="StringDollarSlashy" char="$" char1="/"/>
|
|
|
|
<keyword attribute="Keyword" context="#stay" String="keywords"/>
|
|
<keyword attribute="Control Flow" context="#stay" String="control flow"/>
|
|
<keyword attribute="Data Type" context="#stay" String="types"/>
|
|
<keyword attribute="Java15" context="#stay" String="java15"/>
|
|
|
|
<RegExpr attribute="Function" context="#stay" String="\b[_a-zA-Z]\w*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" />
|
|
<DetectIdentifier attribute="Normal Text"/>
|
|
</context>
|
|
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="Dot">
|
|
<IncludeRules context="FindFloat"/>
|
|
<DetectChar attribute="Symbol" context="#pop!Member" char="." />
|
|
</context>
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="Member" fallthroughContext="#pop">
|
|
<DetectSpaces attribute="Normal Text" context="#stay"/>
|
|
<RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[({'"])" />
|
|
<Detect2Chars attribute="Comment" context="#pop!Commentar 1" char="/" char1="/"/>
|
|
<DetectChar attribute="String" context="#pop!StringSlashy" char="/"/>
|
|
</context>
|
|
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="AfterSymbol" fallthroughContext="#pop">
|
|
<DetectSpaces attribute="Normal Text" context="#stay"/>
|
|
<Detect2Chars attribute="Comment" context="#pop!Commentar 1" char="/" char1="/"/>
|
|
<DetectChar attribute="String" context="#pop!StringSlashy" char="/"/>
|
|
</context>
|
|
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="Number">
|
|
<IncludeRules context="FindFloat"/>
|
|
<RegExpr attribute="Hex" context="#pop" String="\b0[xX]&hex;[lL]?\b"/>
|
|
<RegExpr attribute="Binary" context="#pop" String="\b0[bB][01]++(_++[01]++)*+[gGiIlL]?\b"/>
|
|
<RegExpr attribute="Octal" context="#pop" String="\b0_*+[0-7]++(_++[0-7_]++)*+[gGiIlL]?\b"/>
|
|
<RegExpr attribute="Decimal" context="#pop" String="\b(0|[1-9][0-9]*+(_++[0-9_]++)*+)[gGiIlL]?\b"/>
|
|
<AnyChar attribute="Error" context="#pop" String="0123456789"/>
|
|
</context>
|
|
<context attribute="Normal Text" lineEndContext="#stay" name="FindFloat">
|
|
<RegExpr attribute="Float" context="#pop" String="&float;|&hexfloat;"/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#pop" name="StringSQ" fallthroughContext="#pop!StringInSQ">
|
|
<Detect2Chars attribute="String" context="#pop!String3SQ" char="'" char1="'"/>
|
|
<DetectChar attribute="String" context="#pop" char="'"/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#pop" name="StringInSQ">
|
|
<DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
|
|
<DetectChar attribute="String" context="#pop" char="'"/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#pop!StringIn3SQ" name="String3SQ" fallthroughContext="#pop!StringIn3SQ">
|
|
<LineContinue attribute="Symbol" context="#pop!StringIn3SQ" char="\"/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#stay" name="StringIn3SQ">
|
|
<DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
|
|
<StringDetect attribute="String" context="#pop" String="'''"/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#pop" name="StringDQ" fallthroughContext="#pop!StringInDQ">
|
|
<Detect2Chars attribute="String" context="#pop!String3DQ" char=""" char1="""/>
|
|
<DetectChar attribute="String" context="#pop" char="""/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#pop" name="StringInDQ">
|
|
<DetectChar attribute="String Interpolation" context="Interpolation" char="$"/>
|
|
<DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
|
|
<DetectChar attribute="String" context="#pop" char="""/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#pop!StringIn3DQ" name="String3DQ" fallthroughContext="#pop!StringIn3DQ">
|
|
<LineContinue attribute="Symbol" context="#pop!StringIn3DQ" char="\"/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#stay" name="StringIn3DQ">
|
|
<DetectChar attribute="String Interpolation" context="Interpolation" char="$"/>
|
|
<DetectChar context="StringEscapedChar" char="\" lookAhead="1"/>
|
|
<StringDetect attribute="String" context="#pop" String="""""/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#stay" name="StringSlashy">
|
|
<DetectChar attribute="String Interpolation" context="Interpolation" char="$"/>
|
|
<DetectChar context="StringSlashyEscapedChar" char="\" lookAhead="1"/>
|
|
<DetectChar attribute="String" context="#pop" char="/"/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#pop" name="StringSlashyEscapedChar">
|
|
<Detect2Chars attribute="String" context="#pop" char="\" char1="/"/>
|
|
<IncludeRules context="StringEscapedChar"/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#stay" name="StringDollarSlashy">
|
|
<DetectChar context="InterpolationDollarSlashy" char="$" lookAhead="1"/>
|
|
<Detect2Chars attribute="String" context="#pop" char="/" char1="$"/>
|
|
</context>
|
|
<context attribute="String" lineEndContext="#stay" name="InterpolationDollarSlashy">
|
|
<Detect2Chars attribute="String Interpolation" context="#pop!InInterpolation" char="$" char1="{"/>
|
|
<Detect2Chars attribute="String Char" context="#pop" char="$" char1="$"/>
|
|
<Detect2Chars attribute="String Char" context="#pop" char="$" char1="/"/>
|
|
<RegExpr attribute="String Interpolation" context="#pop!InterpolationIdent" String="\$[_a-zA-Z]\w*" />
|
|
<DetectChar attribute="String" context="#pop" char="$"/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#stay" name="Interpolation" fallthroughContext="#pop">
|
|
<DetectChar attribute="String Interpolation" context="#pop!InInterpolation" char="{"/>
|
|
<DetectIdentifier attribute="String Interpolation" context="#pop!InterpolationIdent"/>
|
|
</context>
|
|
<context attribute="String Interpolation" lineEndContext="#stay" name="InInterpolation">
|
|
<DetectChar attribute="String Interpolation" context="#pop" char="}"/>
|
|
<IncludeRules context="Normal"/>
|
|
</context>
|
|
<context attribute="String Interpolation" lineEndContext="#pop" name="InterpolationIdent" fallthroughContext="#pop">
|
|
<DetectChar attribute="Symbol" context="InterpolationMember" char="."/>
|
|
</context>
|
|
<context attribute="String Interpolation" lineEndContext="#stay" name="InterpolationMember" fallthroughContext="#pop#pop">
|
|
<DetectIdentifier attribute="String Interpolation" context="#pop"/>
|
|
</context>
|
|
|
|
<context attribute="String" lineEndContext="#pop" name="StringEscapedChar">
|
|
<HlCStringChar attribute="String Char" context="#pop"/>
|
|
<RegExpr attribute="String Char" context="#pop" String="\\u[0-9a-fA-F]{4}"/>
|
|
<RegExpr attribute="Error" context="#pop" String="\\(u[0-9a-fA-F]*|.)?"/>
|
|
</context>
|
|
|
|
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
|
|
<DetectSpaces />
|
|
<IncludeRules context="##Comments"/>
|
|
</context>
|
|
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
|
|
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
|
|
<DetectSpaces />
|
|
<IncludeRules context="##Comments"/>
|
|
</context>
|
|
|
|
</contexts>
|
|
<itemDatas>
|
|
<itemData name="Normal Text" defStyleNum="dsNormal"/>
|
|
<itemData name="Keyword" defStyleNum="dsKeyword"/>
|
|
<itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
|
|
<itemData name="Function" defStyleNum="dsFunction"/>
|
|
<itemData name="Data Type" defStyleNum="dsDataType"/>
|
|
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
|
|
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
|
|
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
|
|
<itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false"/>
|
|
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
|
|
<itemData name="String" defStyleNum="dsString"/>
|
|
<itemData name="String Char" defStyleNum="dsSpecialChar"/>
|
|
<itemData name="String Interpolation" defStyleNum="dsSpecialString"/>
|
|
<itemData name="Comment" defStyleNum="dsComment"/>
|
|
<itemData name="Symbol" defStyleNum="dsOperator"/>
|
|
<itemData name="Java15" defStyleNum="dsBuiltIn" bold="1" italic="0"/>
|
|
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
|
|
</itemDatas>
|
|
</highlighting>
|
|
<general>
|
|
<comments>
|
|
<comment name="singleLine" start="//"/>
|
|
<comment name="multiLine" start="/*" end="*/" region="Comment"/>
|
|
</comments>
|
|
<keywords casesensitive="1"/>
|
|
</general>
|
|
</language>
|
|
<!-- kate: replace-tabs off; -->
|