/jEdit/tags/jedit-4-3-pre5/modes/groovy.xml
XML | 261 lines | 240 code | 11 blank | 10 comment | 0 complexity | caead33cc62b1f00529ded4ba9368734 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
- <?xml version="1.0"?>
- <!DOCTYPE MODE SYSTEM "xmode.dtd">
- <!--
- <MODE NAME="groovy" FILE="groovy.xml"
- FILE_NAME_GLOB="*.{groovy,grv}"/>
- -->
- <MODE>
- <PROPS>
- <PROPERTY NAME="commentStart" VALUE="/*" />
- <PROPERTY NAME="commentEnd" VALUE="*/" />
- <PROPERTY NAME="lineComment" VALUE="//" />
- <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
- <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
- <PROPERTY NAME="indentNextLine"
- VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
- </PROPS>
- <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">
- <!-- Silly comment -->
- <SEQ TYPE="COMMENT1">/**/</SEQ>
- <!-- Javadoc comment -->
- <SPAN TYPE="COMMENT3" DELEGATE="GROOVYDOC">
- <BEGIN>/**</BEGIN>
- <END>*/</END>
- </SPAN>
- <!-- Java comment (C style) -->
- <SPAN TYPE="COMMENT1">
- <BEGIN>/*</BEGIN>
- <END>*/</END>
- </SPAN>
- <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">
- <BEGIN>"</BEGIN>
- <END>"</END>
- </SPAN>
- <SPAN TYPE="LITERAL1">
- <BEGIN>'</BEGIN>
- <END>'</END>
- </SPAN>
- <!-- heredoc -->
- <SPAN_REGEXP HASH_CHAR="<" TYPE="LITERAL1" DELEGATE="LITERAL">
- <BEGIN><![CDATA[<<<([\p{Alpha}_][\p{Alnum}_]*)\s*]]></BEGIN>
- <END>$1</END>
- </SPAN_REGEXP>
- <SEQ TYPE="OPERATOR">=~</SEQ>
- <SEQ TYPE="OPERATOR">=</SEQ>
- <SEQ TYPE="OPERATOR">|</SEQ>
- <SEQ TYPE="OPERATOR">!</SEQ>
- <SEQ TYPE="OPERATOR"><=></SEQ>
- <SEQ TYPE="OPERATOR">>=</SEQ>
- <SEQ TYPE="OPERATOR"><=</SEQ>
- <SEQ TYPE="OPERATOR">+</SEQ>
- <SEQ TYPE="OPERATOR">-></SEQ>
- <SEQ TYPE="OPERATOR">-</SEQ>
- <SEQ TYPE="OPERATOR">?</SEQ>
- <SEQ TYPE="OPERATOR">&</SEQ>
- <!-- workaround to stop "*" from being colorized
- in import statements. -->
- <SEQ TYPE="NULL">.*</SEQ>
- <!-- Comments -->
- <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
- <!-- Function calls -->
- <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
- <KEYWORDS>
- <KEYWORD1>abstract</KEYWORD1>
- <KEYWORD1>break</KEYWORD1>
- <KEYWORD1>case</KEYWORD1>
- <KEYWORD1>catch</KEYWORD1>
- <KEYWORD1>continue</KEYWORD1>
- <KEYWORD1>default</KEYWORD1>
- <KEYWORD1>do</KEYWORD1>
- <KEYWORD1>else</KEYWORD1>
- <KEYWORD1>extends</KEYWORD1>
- <KEYWORD1>final</KEYWORD1>
- <KEYWORD1>finally</KEYWORD1>
- <KEYWORD1>for</KEYWORD1>
- <KEYWORD1>if</KEYWORD1>
- <KEYWORD1>implements</KEYWORD1>
- <KEYWORD1>instanceof</KEYWORD1>
- <KEYWORD1>native</KEYWORD1>
- <KEYWORD1>new</KEYWORD1>
- <KEYWORD1>private</KEYWORD1>
- <KEYWORD1>protected</KEYWORD1>
- <KEYWORD1>public</KEYWORD1>
- <KEYWORD1>return</KEYWORD1>
- <KEYWORD1>static</KEYWORD1>
- <KEYWORD1>switch</KEYWORD1>
- <KEYWORD1>synchronized</KEYWORD1>
- <KEYWORD1>throw</KEYWORD1>
- <KEYWORD1>throws</KEYWORD1>
- <KEYWORD1>transient</KEYWORD1>
- <KEYWORD1>try</KEYWORD1>
- <KEYWORD1>volatile</KEYWORD1>
- <KEYWORD1>while</KEYWORD1>
- <KEYWORD1>strictfp</KEYWORD1>
- <KEYWORD1>package</KEYWORD1>
- <KEYWORD1>import</KEYWORD1>
- <!-- groovy keywords -->
- <KEYWORD2>as</KEYWORD2>
- <KEYWORD2>assert</KEYWORD2>
- <KEYWORD2>def</KEYWORD2>
- <KEYWORD2>mixin</KEYWORD2>
- <KEYWORD2>property</KEYWORD2>
- <KEYWORD2>test</KEYWORD2>
- <KEYWORD2>using</KEYWORD2>
- <KEYWORD2>in</KEYWORD2>
- <!-- types -->
- <KEYWORD3>boolean</KEYWORD3>
- <KEYWORD3>byte</KEYWORD3>
- <KEYWORD3>char</KEYWORD3>
- <KEYWORD3>class</KEYWORD3>
- <KEYWORD3>double</KEYWORD3>
- <KEYWORD3>float</KEYWORD3>
- <KEYWORD3>int</KEYWORD3>
- <KEYWORD3>interface</KEYWORD3>
- <KEYWORD3>long</KEYWORD3>
- <KEYWORD3>short</KEYWORD3>
- <KEYWORD3>void</KEYWORD3>
- <!-- Groovy JDK stuff -->
- <KEYWORD4>abs</KEYWORD4>
- <KEYWORD4>any</KEYWORD4>
- <KEYWORD4>append</KEYWORD4>
- <KEYWORD4>asList</KEYWORD4>
- <KEYWORD4>asWritable</KEYWORD4>
- <KEYWORD4>call</KEYWORD4>
- <KEYWORD4>collect</KEYWORD4>
- <KEYWORD4>compareTo</KEYWORD4>
- <KEYWORD4>count</KEYWORD4>
- <KEYWORD4>div</KEYWORD4>
- <KEYWORD4>dump</KEYWORD4>
- <KEYWORD4>each</KEYWORD4>
- <KEYWORD4>eachByte</KEYWORD4>
- <KEYWORD4>eachFile</KEYWORD4>
- <KEYWORD4>eachLine</KEYWORD4>
- <KEYWORD4>every</KEYWORD4>
- <KEYWORD4>find</KEYWORD4>
- <KEYWORD4>findAll</KEYWORD4>
- <KEYWORD4>flatten</KEYWORD4>
- <KEYWORD4>getAt</KEYWORD4>
- <KEYWORD4>getErr</KEYWORD4>
- <KEYWORD4>getIn</KEYWORD4>
- <KEYWORD4>getOut</KEYWORD4>
- <KEYWORD4>getText</KEYWORD4>
- <KEYWORD4>grep</KEYWORD4>
- <KEYWORD4>immutable</KEYWORD4>
- <KEYWORD4>inject</KEYWORD4>
- <KEYWORD4>inspect</KEYWORD4>
- <KEYWORD4>intersect</KEYWORD4>
- <KEYWORD4>invokeMethods</KEYWORD4>
- <KEYWORD4>isCase</KEYWORD4>
- <KEYWORD4>join</KEYWORD4>
- <KEYWORD4>leftShift</KEYWORD4>
- <KEYWORD4>minus</KEYWORD4>
- <KEYWORD4>multiply</KEYWORD4>
- <KEYWORD4>newInputStream</KEYWORD4>
- <KEYWORD4>newOutputStream</KEYWORD4>
- <KEYWORD4>newPrintWriter</KEYWORD4>
- <KEYWORD4>newReader</KEYWORD4>
- <KEYWORD4>newWriter</KEYWORD4>
- <KEYWORD4>next</KEYWORD4>
- <KEYWORD4>plus</KEYWORD4>
- <KEYWORD4>pop</KEYWORD4>
- <KEYWORD4>power</KEYWORD4>
- <KEYWORD4>previous</KEYWORD4>
- <KEYWORD4>print</KEYWORD4>
- <KEYWORD4>println</KEYWORD4>
- <KEYWORD4>push</KEYWORD4>
- <KEYWORD4>putAt</KEYWORD4>
- <KEYWORD4>read</KEYWORD4>
- <KEYWORD4>readBytes</KEYWORD4>
- <KEYWORD4>readLines</KEYWORD4>
- <KEYWORD4>reverse</KEYWORD4>
- <KEYWORD4>reverseEach</KEYWORD4>
- <KEYWORD4>round</KEYWORD4>
- <KEYWORD4>size</KEYWORD4>
- <KEYWORD4>sort</KEYWORD4>
- <KEYWORD4>splitEachLine</KEYWORD4>
- <KEYWORD4>step</KEYWORD4>
- <KEYWORD4>subMap</KEYWORD4>
- <KEYWORD4>times</KEYWORD4>
- <KEYWORD4>toInteger</KEYWORD4>
- <KEYWORD4>toList</KEYWORD4>
- <KEYWORD4>tokenize</KEYWORD4>
- <KEYWORD4>upto</KEYWORD4>
- <KEYWORD4>waitForOrKill</KEYWORD4>
- <KEYWORD4>withPrintWriter</KEYWORD4>
- <KEYWORD4>withReader</KEYWORD4>
- <KEYWORD4>withStream</KEYWORD4>
- <KEYWORD4>withWriter</KEYWORD4>
- <KEYWORD4>withWriterAppend</KEYWORD4>
- <KEYWORD4>write</KEYWORD4>
- <KEYWORD4>writeLine</KEYWORD4>
- <LITERAL2>false</LITERAL2>
- <LITERAL2>null</LITERAL2>
- <LITERAL2>super</LITERAL2>
- <LITERAL2>this</LITERAL2>
- <LITERAL2>true</LITERAL2>
- <!-- this is specific to groovy, treat like `this`? -->
- <LITERAL3>it</LITERAL3>
- <INVALID>goto</INVALID>
- <INVALID>const</INVALID>
- </KEYWORDS>
- </RULES>
- <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">
- <!-- Variables -->
- <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
- <BEGIN>${</BEGIN>
- <END>}</END>
- </SPAN>
- <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
- </RULES>
- <RULES SET="GROOVYDOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">
- <!-- so that @link{...} is highlighted -->
- <SEQ TYPE="COMMENT3">{</SEQ>
- <!-- so that *@param is highlighted -->
- <SEQ TYPE="COMMENT3">*</SEQ>
- <!-- HTML comments -->
- <SPAN TYPE="COMMENT1">
- <BEGIN><!--</BEGIN>
- <END>--></END>
- </SPAN>
- <!-- Javadoc allows this -->
- <SEQ TYPE="COMMENT3"><<</SEQ>
- <SEQ TYPE="COMMENT3"><=</SEQ>
- <SEQ TYPE="COMMENT3">< </SEQ>
- <!-- HTML tags -->
- <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"
- NO_LINE_BREAK="TRUE">
- <BEGIN><</BEGIN>
- <END>></END>
- </SPAN>
- <MARK_FOLLOWING TYPE="LABEL">@</MARK_FOLLOWING>
- </RULES>
- </MODE>