include scala.xml as of scala-2.9.1.final/misc/scala-tool-support/jedit/modes/scala.xml -- seems to be missing in more recent distributions;
authorwenzelm
Sat, 17 Mar 2012 17:36:10 +0100
changeset 47867f1856425224e
parent 47866 b839e9fdf972
child 47868 395b7277ed76
include scala.xml as of scala-2.9.1.final/misc/scala-tool-support/jedit/modes/scala.xml -- seems to be missing in more recent distributions;
src/Tools/jEdit/lib/Tools/jedit
src/Tools/jEdit/src/modes/scala.xml
     1.1 --- a/src/Tools/jEdit/lib/Tools/jedit	Sat Mar 17 16:13:41 2012 +0100
     1.2 +++ b/src/Tools/jEdit/lib/Tools/jedit	Sat Mar 17 17:36:10 2012 +0100
     1.3 @@ -228,7 +228,6 @@
     1.4    cp -p -R -f "${RESOURCES[@]}" dist/classes/.
     1.5    cp src/jEdit.props dist/properties/.
     1.6    cp -p -R -f src/modes/. dist/modes/.
     1.7 -  cp -p -R -f "$SCALA_HOME/misc/scala-tool-support/jedit/modes/scala.xml" dist/modes/.
     1.8  
     1.9    perl -i -e 'while (<>) {
    1.10      if (m/NAME="javacc"/) {
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/src/Tools/jEdit/src/modes/scala.xml	Sat Mar 17 17:36:10 2012 +0100
     2.3 @@ -0,0 +1,399 @@
     2.4 +<?xml version="1.0"?>
     2.5 +
     2.6 +<!DOCTYPE MODE SYSTEM "xmode.dtd">
     2.7 +
     2.8 +<MODE>
     2.9 +  <PROPS>
    2.10 +    <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
    2.11 +    <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
    2.12 +    <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
    2.13 +    <PROPERTY NAME="indentPrevLine"
    2.14 +      VALUE="\s*(((if|while)\s*\(|else\s*(\{|$)|else\s+if\s*\(|case\s+.+:|default:)[^;]*|for\s*\(.*)" />
    2.15 +    <!-- set this to 'true' if you want to use GNU coding style -->
    2.16 +    <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
    2.17 +    <PROPERTY NAME="commentStart" VALUE="/*" />
    2.18 +    <PROPERTY NAME="commentEnd" VALUE="*/" />
    2.19 +    <PROPERTY NAME="lineComment" VALUE="//" />
    2.20 +    <PROPERTY NAME="noTabs" VALUE="true" />
    2.21 +    <PROPERTY NAME="tabSize" VALUE="2" />
    2.22 +    <PROPERTY NAME="indentSize" VALUE="2" />
    2.23 +    <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
    2.24 +  </PROPS>
    2.25 +  
    2.26 +  <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE"
    2.27 +  		DIGIT_RE="(0[lL]?|[1-9]\d{0,9}(\d{0,9}[lL])?|0[xX]\p{XDigit}{1,8}(\p{XDigit}{0,8}[lL])?|0[0-7]{1,11}([0-7]{0,11}[lL])?|([0-9]+\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?|[0-9]+([eE][+-]?[0-9]+[fFdD]?|([eE][+-]?[0-9]+)?[fFdD]))">
    2.28 +	
    2.29 +	<MARK_FOLLOWING TYPE="LABEL">@</MARK_FOLLOWING>
    2.30 +	
    2.31 +	<IMPORT DELEGATE="PRIMARY"/>
    2.32 +  </RULES>
    2.33 +  
    2.34 +  <RULES SET="PRIMARY">
    2.35 +    <!-- Silly comment -->
    2.36 +    <SEQ TYPE="COMMENT1">/**/</SEQ>
    2.37 +	
    2.38 +    <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
    2.39 +	
    2.40 +    <!-- Scaladoc comment -->
    2.41 +    <SPAN TYPE="COMMENT3" DELEGATE="SCALADOC">
    2.42 +      <BEGIN>/**</BEGIN>
    2.43 +      <END>*/</END>
    2.44 +    </SPAN>
    2.45 +
    2.46 +    <!-- Scala comment (Java style) -->
    2.47 +    <SPAN TYPE="COMMENT1">
    2.48 +      <BEGIN>/*</BEGIN>
    2.49 +      <END>*/</END>
    2.50 +    </SPAN>
    2.51 +
    2.52 +    <!-- start of XML comment (griba2010@ya.com) -->  
    2.53 +    <SEQ_REGEXP HASH_CHAR="&lt;" AT_WHITESPACE_END="TRUE" TYPE="COMMENT2" 
    2.54 +                        DELEGATE="XML_COMMENT">&lt;!--</SEQ_REGEXP>
    2.55 +
    2.56 +    <!-- start of xml tag (griba2010@ya.com) -->  
    2.57 +    <SEQ_REGEXP HASH_CHAR="&lt;" AT_WHITESPACE_END="TRUE" TYPE="LITERAL3" 
    2.58 +                        DELEGATE="XML_TAG">&lt;\/?\w*</SEQ_REGEXP>
    2.59 +	
    2.60 +    <!-- string and character literals -->
    2.61 +    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE" ESCAPE="FALSE">
    2.62 +      <BEGIN>"""</BEGIN>
    2.63 +      <END>"""</END>
    2.64 +    </SPAN>
    2.65 +    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
    2.66 +      <BEGIN>"</BEGIN>
    2.67 +      <END>"</END>
    2.68 +    </SPAN>
    2.69 +	<SEQ_REGEXP HASH_CHAR="'" TYPE="LITERAL1">'([^']|\\.)'</SEQ_REGEXP>
    2.70 +
    2.71 +    <!-- symbol literals -->
    2.72 +    <SEQ_REGEXP HASH_CHAR="'" TYPE="LABEL">'[0-9a-zA-Z&gt;&lt;=+]([0-9a-zA-Z&gt;&lt;=+]|_[0-9a-zA-Z&gt;&lt;=+])*</SEQ_REGEXP>
    2.73 +
    2.74 +    <!-- type params between bracket pairs with -->
    2.75 +    <!-- nested ones within (griba2010@ya.com) -->    
    2.76 +    <SEQ_REGEXP HASH_CHAR="[" TYPE="LITERAL3"
    2.77 +                       >\[[^\[\]]*(\[[^\[\]]*(\[[^\[\]]*\][^\[\]]*)*\][^\[\]]*)*\]</SEQ_REGEXP>  
    2.78 +
    2.79 +    <!-- type constraints (griba2010@ya.com) -->
    2.80 +    <SEQ_REGEXP HASH_CHAR="&lt;" TYPE="LITERAL2"
    2.81 +      >&lt;:\s*\w+(\.\w+)*(#\w+)?</SEQ_REGEXP>
    2.82 +    <SEQ_REGEXP HASH_CHAR=">" TYPE="LITERAL2"
    2.83 +                       >&gt;:\s*\w+(\.\w+)*(#\w+)?</SEQ_REGEXP>
    2.84 +
    2.85 +    <SEQ TYPE="OPERATOR">)</SEQ>
    2.86 +    <SEQ TYPE="OPERATOR">=</SEQ>
    2.87 +    <SEQ TYPE="OPERATOR">!</SEQ>
    2.88 +    <SEQ TYPE="OPERATOR">&gt;=</SEQ>
    2.89 +    <SEQ TYPE="OPERATOR">&gt;:</SEQ>
    2.90 +    <SEQ TYPE="OPERATOR">&lt;=</SEQ>
    2.91 +    <SEQ TYPE="OPERATOR">&lt;:</SEQ>
    2.92 +    <SEQ TYPE="OPERATOR">+</SEQ>
    2.93 +    <SEQ TYPE="OPERATOR">-</SEQ>
    2.94 +    <SEQ TYPE="OPERATOR">/</SEQ>
    2.95 +    <SEQ TYPE="OPERATOR">*</SEQ>
    2.96 +    <SEQ TYPE="OPERATOR">&gt;</SEQ>
    2.97 +    <SEQ TYPE="OPERATOR">&lt;</SEQ>
    2.98 +    <SEQ TYPE="OPERATOR">%</SEQ>
    2.99 +    <SEQ TYPE="OPERATOR">&amp;</SEQ>
   2.100 +    <SEQ TYPE="OPERATOR">|</SEQ>
   2.101 +    <SEQ TYPE="OPERATOR">^</SEQ>
   2.102 +    <SEQ TYPE="OPERATOR">`</SEQ>
   2.103 +    <SEQ TYPE="OPERATOR">~</SEQ>
   2.104 +    <SEQ TYPE="OPERATOR">}</SEQ>
   2.105 +    <SEQ TYPE="OPERATOR">{</SEQ>
   2.106 +    <SEQ TYPE="NULL">.</SEQ>
   2.107 +    <SEQ TYPE="NULL">,</SEQ>
   2.108 +    <SEQ TYPE="NULL">;</SEQ>
   2.109 +    <SEQ TYPE="NULL">]</SEQ>
   2.110 +    <SEQ TYPE="NULL">[</SEQ>
   2.111 +    <SEQ TYPE="NULL">?</SEQ>
   2.112 +    <SEQ TYPE="NULL">:</SEQ>
   2.113 +
   2.114 +    <!-- after colon type descriptions (griba2010@ya.com) -->
   2.115 +    <SEQ_REGEXP HASH_CHAR=":" TYPE="LITERAL2"
   2.116 +                       >:\s*\w+(\.\w+)*(#\w+)?</SEQ_REGEXP>
   2.117 +
   2.118 +    <!-- Function calls -->
   2.119 +    <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
   2.120 +	
   2.121 +	<SPAN DELEGATE="PATTERN" MATCH_TYPE="KEYWORD1" AT_WORD_START="TRUE" NO_LINE_BREAK="TRUE">
   2.122 +		<BEGIN>case </BEGIN>
   2.123 +		<END>=&gt;</END>
   2.124 +	</SPAN>
   2.125 +
   2.126 +    <KEYWORDS>
   2.127 +      <KEYWORD1>abstract</KEYWORD1>
   2.128 +      <KEYWORD1>case</KEYWORD1>
   2.129 +      <KEYWORD1>catch</KEYWORD1>
   2.130 +      <KEYWORD1>class</KEYWORD1>
   2.131 +      <KEYWORD1>def</KEYWORD1>
   2.132 +      <KEYWORD1>do</KEYWORD1>
   2.133 +      <KEYWORD1>else</KEYWORD1>
   2.134 +      <KEYWORD1>extends</KEYWORD1>
   2.135 +      <KEYWORD1>final</KEYWORD1>
   2.136 +      <KEYWORD1>finally</KEYWORD1>
   2.137 +      <KEYWORD1>for</KEYWORD1>
   2.138 +      <KEYWORD1>forSome</KEYWORD1>
   2.139 +      <KEYWORD1>if</KEYWORD1>
   2.140 +      <KEYWORD1>implicit</KEYWORD1>
   2.141 +      <KEYWORD1>import</KEYWORD1>
   2.142 +      <KEYWORD1>lazy</KEYWORD1>
   2.143 +      <KEYWORD1>match</KEYWORD1>
   2.144 +      <KEYWORD1>new</KEYWORD1>
   2.145 +      <KEYWORD1>object</KEYWORD1>
   2.146 +      <KEYWORD1>override</KEYWORD1>
   2.147 +      <KEYWORD1>package</KEYWORD1>
   2.148 +      <KEYWORD1>private</KEYWORD1>
   2.149 +      <KEYWORD1>protected</KEYWORD1>
   2.150 +      <KEYWORD1>requires</KEYWORD1>
   2.151 +      <KEYWORD1>return</KEYWORD1>
   2.152 +      <KEYWORD1>sealed</KEYWORD1>
   2.153 +      <KEYWORD1>throw</KEYWORD1>
   2.154 +      <KEYWORD1>trait</KEYWORD1>
   2.155 +      <KEYWORD1>try</KEYWORD1>
   2.156 +      <KEYWORD1>type</KEYWORD1>
   2.157 +      <KEYWORD1>val</KEYWORD1>
   2.158 +      <KEYWORD1>var</KEYWORD1>
   2.159 +      <KEYWORD1>with</KEYWORD1>
   2.160 +      <KEYWORD1>while</KEYWORD1>
   2.161 +      <KEYWORD1>yield</KEYWORD1>
   2.162 +      <KEYWORD1>=&gt;</KEYWORD1>
   2.163 +
   2.164 +      <!-- java.lang.* wrapper types -->
   2.165 +      <KEYWORD2>Character</KEYWORD2>
   2.166 +      <KEYWORD2>Integer</KEYWORD2>
   2.167 +
   2.168 +      <!-- scala.* primitive types -->
   2.169 +      <KEYWORD2>Boolean</KEYWORD2>
   2.170 +      <KEYWORD2>boolean</KEYWORD2>
   2.171 +      <KEYWORD2>Byte</KEYWORD2>
   2.172 +      <KEYWORD2>byte</KEYWORD2>
   2.173 +      <KEYWORD2>Char</KEYWORD2>
   2.174 +      <KEYWORD2>char</KEYWORD2>
   2.175 +      <KEYWORD2>Double</KEYWORD2>
   2.176 +      <KEYWORD2>double</KEYWORD2>
   2.177 +      <KEYWORD2>Float</KEYWORD2>
   2.178 +      <KEYWORD2>float</KEYWORD2>
   2.179 +      <KEYWORD2>Int</KEYWORD2>
   2.180 +      <KEYWORD2>int</KEYWORD2>
   2.181 +      <KEYWORD2>Long</KEYWORD2>
   2.182 +      <KEYWORD2>long</KEYWORD2>
   2.183 +      <KEYWORD2>Short</KEYWORD2>
   2.184 +      <KEYWORD2>short</KEYWORD2>
   2.185 +      <KEYWORD2>Unit</KEYWORD2>
   2.186 +      <KEYWORD2>unit</KEYWORD2>
   2.187 +
   2.188 +      <!-- scala.* predefined types -->
   2.189 +      <KEYWORD3>Actor</KEYWORD3>
   2.190 +      <KEYWORD3>ActorProxy</KEYWORD3>
   2.191 +      <KEYWORD3>ActorTask</KEYWORD3>
   2.192 +      <KEYWORD3>ActorThread</KEYWORD3>
   2.193 +      <KEYWORD3>AllRef</KEYWORD3>
   2.194 +      <KEYWORD3>Any</KEYWORD3>
   2.195 +      <KEYWORD3>AnyRef</KEYWORD3>
   2.196 +      <KEYWORD3>Application</KEYWORD3>
   2.197 +      <KEYWORD3>AppliedType</KEYWORD3>
   2.198 +      <KEYWORD3>Array</KEYWORD3>>
   2.199 +      <KEYWORD3>ArrayBuffer</KEYWORD3>
   2.200 +      <KEYWORD3>Attribute</KEYWORD3>
   2.201 +      <KEYWORD3>BoxedArray</KEYWORD3>
   2.202 +      <KEYWORD3>BoxedBooleanArray</KEYWORD3>
   2.203 +      <KEYWORD3>BoxedByteArray</KEYWORD3>
   2.204 +      <KEYWORD3>BoxedCharArray</KEYWORD3>
   2.205 +      <KEYWORD3>Buffer</KEYWORD3>
   2.206 +      <KEYWORD3>BufferedIterator</KEYWORD3>
   2.207 +      <KEYWORD3>Enumeration</KEYWORD3>
   2.208 +      <KEYWORD3>Fluid</KEYWORD3>
   2.209 +      <KEYWORD3>Function</KEYWORD3>
   2.210 +      <KEYWORD3>IScheduler</KEYWORD3>
   2.211 +      <KEYWORD3>ImmutableMapAdaptor</KEYWORD3>
   2.212 +      <KEYWORD3>ImmutableSetAdaptor</KEYWORD3>
   2.213 +      <KEYWORD3>Iterable</KEYWORD3>
   2.214 +      <KEYWORD3>List</KEYWORD3>
   2.215 +      <KEYWORD3>Option</KEYWORD3>
   2.216 +      <KEYWORD3>Pair</KEYWORD3>
   2.217 +      <KEYWORD3>PartialFunction</KEYWORD3>
   2.218 +      <KEYWORD3>Pid</KEYWORD3>
   2.219 +      <KEYWORD3>PriorityQueue</KEYWORD3>
   2.220 +      <KEYWORD3>PriorityQueueProxy</KEYWORD3>
   2.221 +      <KEYWORD3>Reaction</KEYWORD3>
   2.222 +      <KEYWORD3>Ref</KEYWORD3>
   2.223 +      <KEYWORD3>Responder</KEYWORD3>
   2.224 +      <KEYWORD3>RichInt</KEYWORD3>
   2.225 +      <KEYWORD3>RichString</KEYWORD3>
   2.226 +      <KEYWORD3>Rule</KEYWORD3>
   2.227 +      <KEYWORD3>RuleTransformer</KEYWORD3>
   2.228 +      <KEYWORD3>Script</KEYWORD3>
   2.229 +      <KEYWORD3>Some</KEYWORD3>
   2.230 +      <KEYWORD3>Stream</KEYWORD3>
   2.231 +      <KEYWORD3>String</KEYWORD3>
   2.232 +      <KEYWORD3>Symbol</KEYWORD3>
   2.233 +      <KEYWORD3>TcpService</KEYWORD3>
   2.234 +      <KEYWORD3>TcpServiceWorker</KEYWORD3>
   2.235 +      <KEYWORD3>WorkerThread</KEYWORD3>
   2.236 +
   2.237 +      <!-- scala.* predefined objects -->
   2.238 +      <KEYWORD4>Console</KEYWORD4>
   2.239 +      <KEYWORD4>Nil</KEYWORD4>
   2.240 +      <KEYWORD4>None</KEYWORD4>
   2.241 +      <KEYWORD4>Predef</KEYWORD4>
   2.242 +      <KEYWORD4>RemoteActor</KEYWORD4>
   2.243 +      <KEYWORD4>SUnit</KEYWORD4>
   2.244 +      <KEYWORD4>ScalaRunTime</KEYWORD4>
   2.245 +      <KEYWORD4>Scheduler</KEYWORD4>
   2.246 +      <KEYWORD4>TIMEOUT</KEYWORD4>
   2.247 +      <KEYWORD4>TimerThread</KEYWORD4>
   2.248 +	  
   2.249 +	  <LITERAL2>false</LITERAL2>
   2.250 +	  <LITERAL2>null</LITERAL2>
   2.251 +	  <LITERAL2>super</LITERAL2>
   2.252 +	  <LITERAL2>this</LITERAL2>
   2.253 +	  <LITERAL2>true</LITERAL2>
   2.254 +    </KEYWORDS>
   2.255 +  </RULES>
   2.256 +  
   2.257 +  <RULES SET="PATTERN" DEFAULT="NULL" IGNORE_CASE="FALSE">
   2.258 +  	<IMPORT DELEGATE="PRIMARY"/>
   2.259 +	
   2.260 +	<SEQ TYPE="OPERATOR">@</SEQ>
   2.261 +  </RULES>
   2.262 +
   2.263 +  <RULES SET="SCALADOC" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">
   2.264 +    <!-- so that @link{...} is highlighted -->
   2.265 +    <SEQ TYPE="COMMENT3">{</SEQ>
   2.266 +
   2.267 +    <!-- so that *@param is highlighted -->
   2.268 +    <SEQ TYPE="COMMENT3">*</SEQ>
   2.269 +
   2.270 +    <!-- Javadoc ignores tags inside <pre> -->
   2.271 +    <SPAN TYPE="MARKUP" DELEGATE="SCALADOC_PRE">
   2.272 +      <BEGIN>&lt;pre&gt;</BEGIN>
   2.273 +      <END>&lt;/pre&gt;</END>
   2.274 +    </SPAN>
   2.275 +
   2.276 +    <!-- HTML comments -->
   2.277 +    <SPAN TYPE="COMMENT1">
   2.278 +      <BEGIN>&lt;!--</BEGIN>
   2.279 +      <END>--&gt;</END>
   2.280 +    </SPAN>
   2.281 +
   2.282 +    <!-- Javadoc allows this -->
   2.283 +    <SEQ TYPE="COMMENT3">&lt;&lt;</SEQ>
   2.284 +    <SEQ TYPE="COMMENT3">&lt;=</SEQ>
   2.285 +    <SEQ TYPE="COMMENT3">&lt; </SEQ>
   2.286 +
   2.287 +    <!-- HTML tags -->
   2.288 +    <SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">
   2.289 +      <BEGIN>&lt;</BEGIN>
   2.290 +      <END>&gt;</END>
   2.291 +    </SPAN>
   2.292 +
   2.293 +    <KEYWORDS>
   2.294 +      <LABEL>@author</LABEL>
   2.295 +      <LABEL>@beaninfo</LABEL>
   2.296 +      <LABEL>@history</LABEL>
   2.297 +      <LABEL>@bug</LABEL>
   2.298 +      <LABEL>@review</LABEL>
   2.299 +      <LABEL>@todo</LABEL>
   2.300 +      <LABEL>@idea</LABEL>
   2.301 +      <LABEL>@pre</LABEL>
   2.302 +      <LABEL>@requires</LABEL>
   2.303 +      <LABEL>@post</LABEL>
   2.304 +      <LABEL>@ensures</LABEL>
   2.305 +      <LABEL>@generates</LABEL>
   2.306 +      <LABEL>@modifies</LABEL>
   2.307 +      <LABEL>@invariant</LABEL>
   2.308 +      <LABEL>@exception</LABEL>
   2.309 +      <LABEL>@hides</LABEL>
   2.310 +      <LABEL>@overrides</LABEL>
   2.311 +      <LABEL>@equivalent</LABEL>
   2.312 +      <LABEL>@bon</LABEL>
   2.313 +      <LABEL>@access</LABEL>
   2.314 +      <LABEL>@example</LABEL>
   2.315 +      <LABEL>@design</LABEL>
   2.316 +      <LABEL>@serial</LABEL>
   2.317 +      <LABEL>@references</LABEL>
   2.318 +      <LABEL>@uses</LABEL>
   2.319 +      <LABEL>@guard</LABEL>
   2.320 +      <LABEL>@values</LABEL>
   2.321 +      <LABEL>@complexity</LABEL>
   2.322 +      <LABEL>@deprecated</LABEL>
   2.323 +      <LABEL>@docRoot</LABEL>
   2.324 +      <LABEL>@exception</LABEL>
   2.325 +      <LABEL>@link</LABEL>
   2.326 +      <LABEL>@param</LABEL>
   2.327 +      <LABEL>@return</LABEL>
   2.328 +      <LABEL>@see</LABEL>
   2.329 +      <LABEL>@serialData</LABEL>
   2.330 +      <LABEL>@serialField</LABEL>
   2.331 +      <LABEL>@since</LABEL>
   2.332 +      <LABEL>@throws</LABEL>
   2.333 +      <LABEL>@version</LABEL>
   2.334 +      <LABEL>@spec</LABEL>
   2.335 +    </KEYWORDS>
   2.336 +  </RULES>
   2.337 +
   2.338 +  <RULES SET="SCALADOC_PRE" DEFAULT="COMMENT3" />
   2.339 +
   2.340 +  <!-- inside xml tag default type label -->
   2.341 +  <!-- for attribute names (griba2010@ya.com) -->
   2.342 +  <RULES SET="XML_TAG" DEFAULT="LABEL" IGNORE_CASE="TRUE">
   2.343 +    <!-- string and character literals -->
   2.344 +    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
   2.345 +      <BEGIN>"</BEGIN>
   2.346 +      <END>"</END>
   2.347 +    </SPAN>
   2.348 +
   2.349 +    <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
   2.350 +      <BEGIN>'</BEGIN>
   2.351 +      <END>'</END>
   2.352 +    </SPAN>
   2.353 +
   2.354 +    <!-- scala attribute value -->
   2.355 +    <SPAN DELEGATE="MAIN">
   2.356 +      <BEGIN>{</BEGIN>
   2.357 +      <END>}</END>
   2.358 +    </SPAN>
   2.359 +
   2.360 +    <!-- if ">\n" goto main rule set -->
   2.361 +    <SEQ_REGEXP HASH_CHAR="&gt;" DELEGATE="MAIN" TYPE="LITERAL3"
   2.362 +                        >&gt;$</SEQ_REGEXP>
   2.363 +
   2.364 +    <!-- if ">;" goto main rule set -->
   2.365 +    <SEQ_REGEXP HASH_CHAR="&gt;" DELEGATE="MAIN" TYPE="LITERAL3"
   2.366 +                        >&gt;\s*;</SEQ_REGEXP>
   2.367 +
   2.368 +    <!-- if ">)" goto main rule set -->
   2.369 +    <SEQ_REGEXP HASH_CHAR="&gt;" DELEGATE="MAIN" TYPE="LITERAL3"
   2.370 +                        >&gt;\s*\)</SEQ_REGEXP>
   2.371 +
   2.372 +    <!-- if ">" goto xml_text rule set -->
   2.373 +    <SEQ DELEGATE="XML_TEXT" TYPE="LITERAL3">&gt;</SEQ>
   2.374 +  </RULES>
   2.375 +
   2.376 +  <RULES SET="XML_TEXT" DEFAULT="COMMENT4">
   2.377 +    <!-- scala expression -->
   2.378 +    <SPAN DELEGATE="MAIN">
   2.379 +      <BEGIN>{</BEGIN>
   2.380 +      <END>}</END>
   2.381 +    </SPAN>
   2.382 +
   2.383 +    <SEQ_REGEXP HASH_CHAR="&lt;" DELEGATE="XML_COMMENT" TYPE="COMMENT2"
   2.384 +                        >&lt;!--</SEQ_REGEXP>
   2.385 +    <!-- if "<" goto xml_tag rule set -->
   2.386 +    <SEQ_REGEXP HASH_CHAR="&lt;" DELEGATE="XML_TAG" TYPE="LITERAL3"
   2.387 +                        >&lt;\/?\w*</SEQ_REGEXP>
   2.388 +  </RULES>
   2.389 +
   2.390 +  <RULES SET="XML_COMMENT" DEFAULT="COMMENT2">
   2.391 +    <!-- if end_of_comment with "\n" goto main rule set -->
   2.392 +    <SEQ_REGEXP HASH_CHAR="-" DELEGATE="MAIN" TYPE="COMMENT2"
   2.393 +                        >--&gt;$</SEQ_REGEXP>
   2.394 +
   2.395 +    <!-- if end_of_comment with ";" goto main rule set -->
   2.396 +    <SEQ_REGEXP HASH_CHAR="-" DELEGATE="MAIN" TYPE="COMMENT2"
   2.397 +                        >--&gt;\s*;</SEQ_REGEXP>
   2.398 +
   2.399 +    <!-- if end_of_comment goto xml_text rule set -->
   2.400 +    <SEQ DELEGATE="XML_TEXT" TYPE="COMMENT2">--&gt;</SEQ>
   2.401 +  </RULES>
   2.402 +</MODE>