PageRenderTime 36ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-3-pre5/modes/freemarker.xml

#
XML | 204 lines | 167 code | 25 blank | 12 comment | 0 complexity | 1e76027cc09909267c86a2a281ae4972 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. <!-- A JEdit mode configuration file for FTL (FreeMarker Template Language)
  4. Note that this version will only work with JEdit 4.1pre6 or later.
  5. by Jonathan Revusky, revusky@users.sourceforge.net -->
  6. <MODE>
  7. <RULES IGNORE_CASE="FALSE">
  8. <!-- JavaScript -->
  9. <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
  10. <BEGIN>&lt;script</BEGIN>
  11. <END>&lt;/script&gt;</END>
  12. </SPAN>
  13. <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
  14. <BEGIN>&lt;Script</BEGIN>
  15. <END>&lt;/Script&gt;</END>
  16. </SPAN>
  17. <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
  18. <BEGIN>&lt;SCRIPT</BEGIN>
  19. <END>&lt;/SCRIPT&gt;</END>
  20. </SPAN>
  21. <!-- stylesheet -->
  22. <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
  23. <BEGIN>&lt;style</BEGIN>
  24. <END>&lt;/style&gt;</END>
  25. </SPAN>
  26. <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
  27. <BEGIN>&lt;Style</BEGIN>
  28. <END>&lt;/Style&gt;</END>
  29. </SPAN>
  30. <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
  31. <BEGIN>&lt;STYLE</BEGIN>
  32. <END>&lt;/STYLE&gt;</END>
  33. </SPAN>
  34. <!-- XML/HTML comment -->
  35. <SPAN TYPE="COMMENT2" DELEGATE="xml::DTD-TAGS">
  36. <BEGIN>&lt;!--</BEGIN>
  37. <END>--&gt;</END>
  38. </SPAN>
  39. <!-- DTD instructions -->
  40. <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
  41. <BEGIN>&lt;!</BEGIN>
  42. <END>&gt;</END>
  43. </SPAN>
  44. <!-- FTL markup starts here. -->
  45. <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
  46. <BEGIN>${</BEGIN>
  47. <END>}</END>
  48. </SPAN>
  49. <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
  50. <BEGIN>#{</BEGIN>
  51. <END>}</END>
  52. </SPAN>
  53. <SPAN_REGEXP TYPE="KEYWORD1" HASH_CHAR="&lt;" DELEGATE="EXPRESSION">
  54. <BEGIN>&lt;#ftl\&gt;</BEGIN>
  55. <END>&gt;</END>
  56. </SPAN_REGEXP>
  57. <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="&lt;">
  58. <BEGIN>&lt;#?(if|elseif|switch|foreach|list|case|assign|local|global|setting|include|import|stop|escape|macro|function|transform|call|visit|recurse)(\s|/|$)</BEGIN>
  59. <END>&gt;</END>
  60. </SPAN_REGEXP>
  61. <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="&lt;"
  62. >&lt;/#?(assign|local|global|if|switch|foreach|list|escape|macro|function|transform|compress|noescape)&gt;</SEQ_REGEXP>
  63. <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="&lt;">
  64. <BEGIN>&lt;#?(else|compress|noescape|default|break|flush|nested|t|rt|lt|return|recurse)\&gt;</BEGIN>
  65. <END>&gt;</END>
  66. </SPAN_REGEXP>
  67. <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="&lt;">
  68. <BEGIN>&lt;/@(([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*)*?)?</BEGIN>
  69. <END>&gt;</END>
  70. </SPAN_REGEXP>
  71. <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="&lt;">
  72. <BEGIN>&lt;@([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*?)*</BEGIN>
  73. <END>&gt;</END>
  74. </SPAN_REGEXP>
  75. <SPAN TYPE="COMMENT1">
  76. <BEGIN>&lt;#--</BEGIN>
  77. <END>--&gt;</END>
  78. </SPAN>
  79. <SEQ TYPE="KEYWORD1">&lt;stop&gt;</SEQ>
  80. <SPAN TYPE="COMMENT1">
  81. <BEGIN>&lt;comment&gt;</BEGIN>
  82. <END>&lt;/comment&gt;</END>
  83. </SPAN>
  84. <SPAN TYPE="INVALID">
  85. <BEGIN>&lt;#</BEGIN>
  86. <END>&gt;</END>
  87. </SPAN>
  88. <SPAN TYPE="INVALID">
  89. <BEGIN>&lt;/#</BEGIN>
  90. <END>&gt;</END>
  91. </SPAN>
  92. <!-- non-FTL markup -->
  93. <SPAN TYPE="MARKUP" DELEGATE="TAGS">
  94. <BEGIN>&lt;</BEGIN>
  95. <END>&gt;</END>
  96. </SPAN>
  97. </RULES>
  98. <RULES SET="EXPRESSION"
  99. DEFAULT="KEYWORD2"
  100. HIGHLIGHT_DIGITS="TRUE"
  101. ESCAPE="\"
  102. >
  103. <SPAN TYPE="COMMENT1">
  104. <BEGIN>&lt;#--</BEGIN>
  105. <END>--&gt;</END>
  106. </SPAN>
  107. <SPAN TYPE="COMMENT1">
  108. <BEGIN>&lt;!--</BEGIN>
  109. <END>--&gt;</END>
  110. </SPAN>
  111. <SPAN TYPE="LITERAL1">
  112. <BEGIN>"</BEGIN>
  113. <END>"</END>
  114. </SPAN>
  115. <SPAN TYPE="OPERATOR" DELEGATE="EXPRESSION">
  116. <BEGIN>(</BEGIN><END>)</END>
  117. </SPAN>
  118. <SEQ TYPE="OPERATOR">=</SEQ>
  119. <SEQ TYPE="OPERATOR">!</SEQ>
  120. <SEQ TYPE="OPERATOR">|</SEQ>
  121. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  122. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  123. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  124. <SEQ TYPE="OPERATOR">*</SEQ>
  125. <SEQ TYPE="OPERATOR">/</SEQ>
  126. <SEQ TYPE="OPERATOR">-</SEQ>
  127. <SEQ TYPE="OPERATOR">+</SEQ>
  128. <SEQ TYPE="OPERATOR">%</SEQ>
  129. <SEQ TYPE="OPERATOR">.</SEQ>
  130. <SEQ TYPE="OPERATOR">:</SEQ>
  131. <SEQ TYPE="OPERATOR">.</SEQ>
  132. <SEQ TYPE="OPERATOR">.</SEQ>
  133. <SEQ TYPE="OPERATOR">[</SEQ>
  134. <SEQ TYPE="OPERATOR">]</SEQ>
  135. <SEQ TYPE="OPERATOR">{</SEQ>
  136. <SEQ TYPE="OPERATOR">}</SEQ>
  137. <SEQ TYPE="OPERATOR">;</SEQ>
  138. <!-- Builtins -->
  139. <MARK_FOLLOWING TYPE="FUNCTION">?</MARK_FOLLOWING>
  140. <KEYWORDS IGNORE_CASE="FALSE">
  141. <KEYWORD1>true</KEYWORD1>
  142. <KEYWORD1>false</KEYWORD1>
  143. <KEYWORD1>as</KEYWORD1>
  144. <KEYWORD1>in</KEYWORD1>
  145. <KEYWORD1>using</KEYWORD1>
  146. <OPERATOR>gt</OPERATOR>
  147. <OPERATOR>gte</OPERATOR>
  148. <OPERATOR>lt</OPERATOR>
  149. <OPERATOR>lte</OPERATOR>
  150. </KEYWORDS>
  151. </RULES>
  152. <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">
  153. <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">
  154. <BEGIN>"</BEGIN>
  155. <END>"</END>
  156. </SPAN>
  157. <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">
  158. <BEGIN>'</BEGIN>
  159. <END>'</END>
  160. </SPAN>
  161. <SEQ TYPE="OPERATOR">=</SEQ>
  162. </RULES>
  163. <!-- a ruleset for when we are within a quoted string within an SGML tag
  164. It can contain FTL interpolations -->
  165. <RULES SET="INQUOTE">
  166. <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
  167. <BEGIN>${</BEGIN>
  168. <END>}</END>
  169. </SPAN>
  170. <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
  171. <BEGIN>#{</BEGIN>
  172. <END>}</END>
  173. </SPAN>
  174. </RULES>
  175. <!-- empty ruleset to delegate to for spots where any non-whitespace is invalid -->
  176. <RULES SET="INVALID" DEFAULT="INVALID" />
  177. </MODE>