206 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			XML
		
	
	
		
		
			
		
	
	
			206 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			XML
		
	
	
| 
								 | 
							
								<?xml version="1.0"?>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<!DOCTYPE MODE SYSTEM "xmode.dtd">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<!-- A JEdit mode configuration file for FTL (FreeMarker Template Language)
							 | 
						||
| 
								 | 
							
								     Note that this version will only work with JEdit 4.1pre6 or later.
							 | 
						||
| 
								 | 
							
								     by Jonathan Revusky, revusky@users.sourceforge.net -->
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<MODE>
							 | 
						||
| 
								 | 
							
								  <RULES IGNORE_CASE="FALSE">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <!-- JavaScript -->
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
							 | 
						||
| 
								 | 
							
								    <BEGIN><script</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></script></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
							 | 
						||
| 
								 | 
							
								    <BEGIN><Script</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></Script></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
							 | 
						||
| 
								 | 
							
								    <BEGIN><SCRIPT</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></SCRIPT></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <!-- stylesheet -->
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
							 | 
						||
| 
								 | 
							
								    <BEGIN><style</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></style></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
							 | 
						||
| 
								 | 
							
								    <BEGIN><Style</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></Style></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
							 | 
						||
| 
								 | 
							
								    <BEGIN><STYLE</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></STYLE></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <!-- XML/HTML comment -->
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="COMMENT2" DELEGATE="xml::DTD-TAGS">
							 | 
						||
| 
								 | 
							
								    <BEGIN><!--</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>--></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <!-- DTD instructions -->
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
							 | 
						||
| 
								 | 
							
								    <BEGIN><!</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <!-- FTL markup starts here. -->
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
							 | 
						||
| 
								 | 
							
								      <BEGIN>${</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>}</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
							 | 
						||
| 
								 | 
							
								      <BEGIN>#{</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>}</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN_REGEXP TYPE="KEYWORD1" HASH_CHAR="<#ftl" DELEGATE="EXPRESSION">
							 | 
						||
| 
								 | 
							
								      <BEGIN><#ftl\b</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="<">
							 | 
						||
| 
								 | 
							
								      <BEGIN><#?(if|elseif|switch|foreach|list|case|assign|local|global|setting|include|import|stop|escape|macro|function|transform|call|visit|recurse)(\s|/|$)</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SEQ_REGEXP TYPE="KEYWORD1" HASH_CHAR="</"
							 | 
						||
| 
								 | 
							
									></#?(assign|local|global|if|switch|foreach|list|escape|macro|function|transform|compress|noescape)></SEQ_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="<">
							 | 
						||
| 
								 | 
							
								      <BEGIN><#?(else|compress|noescape|default|break|flush|nested|t|rt|lt|return|recurse)\b</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="INVALID" HASH_CHAR="</@">
							 | 
						||
| 
								 | 
							
								      <BEGIN></@(([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*)*?)?</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN_REGEXP TYPE="KEYWORD1" DELEGATE="EXPRESSION" HASH_CHAR="<@">
							 | 
						||
| 
								 | 
							
								      <BEGIN><@([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*?)*</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN_REGEXP>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="COMMENT1">
							 | 
						||
| 
								 | 
							
								      <BEGIN><#--</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>--></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SEQ TYPE="KEYWORD1"><stop></SEQ>
							 | 
						||
| 
								 | 
							
								     <SPAN TYPE="COMMENT1">
							 | 
						||
| 
								 | 
							
								    <BEGIN><comment></BEGIN>
							 | 
						||
| 
								 | 
							
								    <END></comment></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="INVALID">
							 | 
						||
| 
								 | 
							
								      <BEGIN><#</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="INVALID">
							 | 
						||
| 
								 | 
							
								      <BEGIN></#</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <!-- non-FTL markup -->
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="MARKUP" DELEGATE="TAGS">
							 | 
						||
| 
								 | 
							
								    <BEGIN><</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								  </RULES>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <RULES SET="EXPRESSION"
							 | 
						||
| 
								 | 
							
								      DEFAULT="KEYWORD2"
							 | 
						||
| 
								 | 
							
								      HIGHLIGHT_DIGITS="TRUE"
							 | 
						||
| 
								 | 
							
								      ESCAPE="\"
							 | 
						||
| 
								 | 
							
								      IGNORE_CASE="FALSE"
							 | 
						||
| 
								 | 
							
								    >
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="COMMENT1">
							 | 
						||
| 
								 | 
							
								      <BEGIN><#--</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>--></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="COMMENT1">
							 | 
						||
| 
								 | 
							
								      <BEGIN><!--</BEGIN>
							 | 
						||
| 
								 | 
							
								      <END>--></END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="LITERAL1">
							 | 
						||
| 
								 | 
							
								    <BEGIN>"</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>"</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="OPERATOR" DELEGATE="EXPRESSION">
							 | 
						||
| 
								 | 
							
								      <BEGIN>(</BEGIN><END>)</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <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>
							 | 
						||
| 
								 | 
							
								    <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>
							 | 
						||
| 
								 | 
							
								    <!-- Builtins -->
							 | 
						||
| 
								 | 
							
								    <MARK_FOLLOWING TYPE="FUNCTION">?</MARK_FOLLOWING>
							 | 
						||
| 
								 | 
							
								    <KEYWORDS>
							 | 
						||
| 
								 | 
							
								      <KEYWORD1>true</KEYWORD1>
							 | 
						||
| 
								 | 
							
								      <KEYWORD1>false</KEYWORD1>
							 | 
						||
| 
								 | 
							
								      <KEYWORD1>as</KEYWORD1>
							 | 
						||
| 
								 | 
							
								      <KEYWORD1>in</KEYWORD1>
							 | 
						||
| 
								 | 
							
								      <KEYWORD1>using</KEYWORD1>
							 | 
						||
| 
								 | 
							
								      <OPERATOR>gt</OPERATOR>
							 | 
						||
| 
								 | 
							
								      <OPERATOR>gte</OPERATOR>
							 | 
						||
| 
								 | 
							
								      <OPERATOR>lt</OPERATOR>
							 | 
						||
| 
								 | 
							
								      <OPERATOR>lte</OPERATOR>
							 | 
						||
| 
								 | 
							
								    </KEYWORDS>
							 | 
						||
| 
								 | 
							
								  </RULES>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <RULES SET="TAGS" DEFAULT="MARKUP" ESCAPE="\">
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">
							 | 
						||
| 
								 | 
							
								    <BEGIN>"</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>"</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="LITERAL1" DELEGATE="INQUOTE">
							 | 
						||
| 
								 | 
							
								    <BEGIN>'</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>'</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <SEQ TYPE="OPERATOR">=</SEQ>
							 | 
						||
| 
								 | 
							
								  </RULES>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <!-- a ruleset for when we are within a quoted string within an SGML tag
							 | 
						||
| 
								 | 
							
								       It can contain FTL interpolations -->
							 | 
						||
| 
								 | 
							
								  <RULES SET="INQUOTE">
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
							 | 
						||
| 
								 | 
							
								    <BEGIN>${</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>}</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								    <SPAN TYPE="KEYWORD1" DELEGATE="EXPRESSION">
							 | 
						||
| 
								 | 
							
								    <BEGIN>#{</BEGIN>
							 | 
						||
| 
								 | 
							
								    <END>}</END>
							 | 
						||
| 
								 | 
							
								    </SPAN>
							 | 
						||
| 
								 | 
							
								  </RULES>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  <!-- empty ruleset to delegate to for spots where any non-whitespace is invalid -->
							 | 
						||
| 
								 | 
							
								  <RULES SET="INVALID" DEFAULT="INVALID" />
							 | 
						||
| 
								 | 
							
								</MODE>
							 |