PageRenderTime 37ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/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
  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!--
  4. <MODE NAME="groovy" FILE="groovy.xml"
  5. FILE_NAME_GLOB="*.{groovy,grv}"/>
  6. -->
  7. <MODE>
  8. <PROPS>
  9. <PROPERTY NAME="commentStart" VALUE="/*" />
  10. <PROPERTY NAME="commentEnd" VALUE="*/" />
  11. <PROPERTY NAME="lineComment" VALUE="//" />
  12. <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
  13. <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
  14. <PROPERTY NAME="indentNextLine"
  15. VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
  16. </PROPS>
  17. <RULES ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="FALSE">
  18. <!-- Silly comment -->
  19. <SEQ TYPE="COMMENT1">/**/</SEQ>
  20. <!-- Javadoc comment -->
  21. <SPAN TYPE="COMMENT3" DELEGATE="GROOVYDOC">
  22. <BEGIN>/**</BEGIN>
  23. <END>*/</END>
  24. </SPAN>
  25. <!-- Java comment (C style) -->
  26. <SPAN TYPE="COMMENT1">
  27. <BEGIN>/*</BEGIN>
  28. <END>*/</END>
  29. </SPAN>
  30. <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">
  31. <BEGIN>"</BEGIN>
  32. <END>"</END>
  33. </SPAN>
  34. <SPAN TYPE="LITERAL1">
  35. <BEGIN>'</BEGIN>
  36. <END>'</END>
  37. </SPAN>
  38. <!-- heredoc -->
  39. <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="LITERAL1" DELEGATE="LITERAL">
  40. <BEGIN><![CDATA[<<<([\p{Alpha}_][\p{Alnum}_]*)\s*]]></BEGIN>
  41. <END>$1</END>
  42. </SPAN_REGEXP>
  43. <SEQ TYPE="OPERATOR">=~</SEQ>
  44. <SEQ TYPE="OPERATOR">=</SEQ>
  45. <SEQ TYPE="OPERATOR">|</SEQ>
  46. <SEQ TYPE="OPERATOR">!</SEQ>
  47. <SEQ TYPE="OPERATOR">&lt;=&gt;</SEQ>
  48. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  49. <SEQ TYPE="OPERATOR">&lt;=</SEQ>
  50. <SEQ TYPE="OPERATOR">+</SEQ>
  51. <SEQ TYPE="OPERATOR">-&gt;</SEQ>
  52. <SEQ TYPE="OPERATOR">-</SEQ>
  53. <SEQ TYPE="OPERATOR">?</SEQ>
  54. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  55. <!-- workaround to stop "*" from being colorized
  56. in import statements. -->
  57. <SEQ TYPE="NULL">.*</SEQ>
  58. <!-- Comments -->
  59. <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
  60. <!-- Function calls -->
  61. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  62. <KEYWORDS>
  63. <KEYWORD1>abstract</KEYWORD1>
  64. <KEYWORD1>break</KEYWORD1>
  65. <KEYWORD1>case</KEYWORD1>
  66. <KEYWORD1>catch</KEYWORD1>
  67. <KEYWORD1>continue</KEYWORD1>
  68. <KEYWORD1>default</KEYWORD1>
  69. <KEYWORD1>do</KEYWORD1>
  70. <KEYWORD1>else</KEYWORD1>
  71. <KEYWORD1>extends</KEYWORD1>
  72. <KEYWORD1>final</KEYWORD1>
  73. <KEYWORD1>finally</KEYWORD1>
  74. <KEYWORD1>for</KEYWORD1>
  75. <KEYWORD1>if</KEYWORD1>
  76. <KEYWORD1>implements</KEYWORD1>
  77. <KEYWORD1>instanceof</KEYWORD1>
  78. <KEYWORD1>native</KEYWORD1>
  79. <KEYWORD1>new</KEYWORD1>
  80. <KEYWORD1>private</KEYWORD1>
  81. <KEYWORD1>protected</KEYWORD1>
  82. <KEYWORD1>public</KEYWORD1>
  83. <KEYWORD1>return</KEYWORD1>
  84. <KEYWORD1>static</KEYWORD1>
  85. <KEYWORD1>switch</KEYWORD1>
  86. <KEYWORD1>synchronized</KEYWORD1>
  87. <KEYWORD1>throw</KEYWORD1>
  88. <KEYWORD1>throws</KEYWORD1>
  89. <KEYWORD1>transient</KEYWORD1>
  90. <KEYWORD1>try</KEYWORD1>
  91. <KEYWORD1>volatile</KEYWORD1>
  92. <KEYWORD1>while</KEYWORD1>
  93. <KEYWORD1>strictfp</KEYWORD1>
  94. <KEYWORD1>package</KEYWORD1>
  95. <KEYWORD1>import</KEYWORD1>
  96. <!-- groovy keywords -->
  97. <KEYWORD2>as</KEYWORD2>
  98. <KEYWORD2>assert</KEYWORD2>
  99. <KEYWORD2>def</KEYWORD2>
  100. <KEYWORD2>mixin</KEYWORD2>
  101. <KEYWORD2>property</KEYWORD2>
  102. <KEYWORD2>test</KEYWORD2>
  103. <KEYWORD2>using</KEYWORD2>
  104. <KEYWORD2>in</KEYWORD2>
  105. <!-- types -->
  106. <KEYWORD3>boolean</KEYWORD3>
  107. <KEYWORD3>byte</KEYWORD3>
  108. <KEYWORD3>char</KEYWORD3>
  109. <KEYWORD3>class</KEYWORD3>
  110. <KEYWORD3>double</KEYWORD3>
  111. <KEYWORD3>float</KEYWORD3>
  112. <KEYWORD3>int</KEYWORD3>
  113. <KEYWORD3>interface</KEYWORD3>
  114. <KEYWORD3>long</KEYWORD3>
  115. <KEYWORD3>short</KEYWORD3>
  116. <KEYWORD3>void</KEYWORD3>
  117. <!-- Groovy JDK stuff -->
  118. <KEYWORD4>abs</KEYWORD4>
  119. <KEYWORD4>any</KEYWORD4>
  120. <KEYWORD4>append</KEYWORD4>
  121. <KEYWORD4>asList</KEYWORD4>
  122. <KEYWORD4>asWritable</KEYWORD4>
  123. <KEYWORD4>call</KEYWORD4>
  124. <KEYWORD4>collect</KEYWORD4>
  125. <KEYWORD4>compareTo</KEYWORD4>
  126. <KEYWORD4>count</KEYWORD4>
  127. <KEYWORD4>div</KEYWORD4>
  128. <KEYWORD4>dump</KEYWORD4>
  129. <KEYWORD4>each</KEYWORD4>
  130. <KEYWORD4>eachByte</KEYWORD4>
  131. <KEYWORD4>eachFile</KEYWORD4>
  132. <KEYWORD4>eachLine</KEYWORD4>
  133. <KEYWORD4>every</KEYWORD4>
  134. <KEYWORD4>find</KEYWORD4>
  135. <KEYWORD4>findAll</KEYWORD4>
  136. <KEYWORD4>flatten</KEYWORD4>
  137. <KEYWORD4>getAt</KEYWORD4>
  138. <KEYWORD4>getErr</KEYWORD4>
  139. <KEYWORD4>getIn</KEYWORD4>
  140. <KEYWORD4>getOut</KEYWORD4>
  141. <KEYWORD4>getText</KEYWORD4>
  142. <KEYWORD4>grep</KEYWORD4>
  143. <KEYWORD4>immutable</KEYWORD4>
  144. <KEYWORD4>inject</KEYWORD4>
  145. <KEYWORD4>inspect</KEYWORD4>
  146. <KEYWORD4>intersect</KEYWORD4>
  147. <KEYWORD4>invokeMethods</KEYWORD4>
  148. <KEYWORD4>isCase</KEYWORD4>
  149. <KEYWORD4>join</KEYWORD4>
  150. <KEYWORD4>leftShift</KEYWORD4>
  151. <KEYWORD4>minus</KEYWORD4>
  152. <KEYWORD4>multiply</KEYWORD4>
  153. <KEYWORD4>newInputStream</KEYWORD4>
  154. <KEYWORD4>newOutputStream</KEYWORD4>
  155. <KEYWORD4>newPrintWriter</KEYWORD4>
  156. <KEYWORD4>newReader</KEYWORD4>
  157. <KEYWORD4>newWriter</KEYWORD4>
  158. <KEYWORD4>next</KEYWORD4>
  159. <KEYWORD4>plus</KEYWORD4>
  160. <KEYWORD4>pop</KEYWORD4>
  161. <KEYWORD4>power</KEYWORD4>
  162. <KEYWORD4>previous</KEYWORD4>
  163. <KEYWORD4>print</KEYWORD4>
  164. <KEYWORD4>println</KEYWORD4>
  165. <KEYWORD4>push</KEYWORD4>
  166. <KEYWORD4>putAt</KEYWORD4>
  167. <KEYWORD4>read</KEYWORD4>
  168. <KEYWORD4>readBytes</KEYWORD4>
  169. <KEYWORD4>readLines</KEYWORD4>
  170. <KEYWORD4>reverse</KEYWORD4>
  171. <KEYWORD4>reverseEach</KEYWORD4>
  172. <KEYWORD4>round</KEYWORD4>
  173. <KEYWORD4>size</KEYWORD4>
  174. <KEYWORD4>sort</KEYWORD4>
  175. <KEYWORD4>splitEachLine</KEYWORD4>
  176. <KEYWORD4>step</KEYWORD4>
  177. <KEYWORD4>subMap</KEYWORD4>
  178. <KEYWORD4>times</KEYWORD4>
  179. <KEYWORD4>toInteger</KEYWORD4>
  180. <KEYWORD4>toList</KEYWORD4>
  181. <KEYWORD4>tokenize</KEYWORD4>
  182. <KEYWORD4>upto</KEYWORD4>
  183. <KEYWORD4>waitForOrKill</KEYWORD4>
  184. <KEYWORD4>withPrintWriter</KEYWORD4>
  185. <KEYWORD4>withReader</KEYWORD4>
  186. <KEYWORD4>withStream</KEYWORD4>
  187. <KEYWORD4>withWriter</KEYWORD4>
  188. <KEYWORD4>withWriterAppend</KEYWORD4>
  189. <KEYWORD4>write</KEYWORD4>
  190. <KEYWORD4>writeLine</KEYWORD4>
  191. <LITERAL2>false</LITERAL2>
  192. <LITERAL2>null</LITERAL2>
  193. <LITERAL2>super</LITERAL2>
  194. <LITERAL2>this</LITERAL2>
  195. <LITERAL2>true</LITERAL2>
  196. <!-- this is specific to groovy, treat like `this`? -->
  197. <LITERAL3>it</LITERAL3>
  198. <INVALID>goto</INVALID>
  199. <INVALID>const</INVALID>
  200. </KEYWORDS>
  201. </RULES>
  202. <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">
  203. <!-- Variables -->
  204. <SPAN TYPE="KEYWORD2" NO_LINE_BREAK="TRUE">
  205. <BEGIN>${</BEGIN>
  206. <END>}</END>
  207. </SPAN>
  208. <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
  209. </RULES>
  210. <RULES SET="GROOVYDOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">
  211. <!-- so that @link{...} is highlighted -->
  212. <SEQ TYPE="COMMENT3">{</SEQ>
  213. <!-- so that *@param is highlighted -->
  214. <SEQ TYPE="COMMENT3">*</SEQ>
  215. <!-- HTML comments -->
  216. <SPAN TYPE="COMMENT1">
  217. <BEGIN>&lt;!--</BEGIN>
  218. <END>--&gt;</END>
  219. </SPAN>
  220. <!-- Javadoc allows this -->
  221. <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>
  222. <SEQ TYPE="COMMENT3">&lt;=</SEQ>
  223. <SEQ TYPE="COMMENT3">&lt; </SEQ>
  224. <!-- HTML tags -->
  225. <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS"
  226. NO_LINE_BREAK="TRUE">
  227. <BEGIN>&lt;</BEGIN>
  228. <END>&gt;</END>
  229. </SPAN>
  230. <MARK_FOLLOWING TYPE="LABEL">@</MARK_FOLLOWING>
  231. </RULES>
  232. </MODE>