<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language
[
<!ENTITY name "[A-Za-z_:][\w.:_-]*">
<!ENTITY entref "&(?:#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
]>
<language name="Ruby/Rails/RHTML" version="17" kateversion="5.79" section="Markup" extensions="*.rhtml;*.RHTML;*.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPLv2+" priority="1">
<highlighting>
<list name="keywords">
<item>BEGIN</item>
<item>END</item>
<item>and</item>
<item>begin</item>
<item>break</item>
<item>case</item>
<item>defined?</item>
<item>do</item>
<item>else</item>
<item>elsif</item>
<item>end</item>
<item>ensure</item>
<item>for</item>
<item>if</item>
<item>in</item>
<item>include</item>
<item>next</item>
<item>not</item>
<item>or</item>
<item>redo</item>
<item>rescue</item>
<item>retry</item>
<item>return</item>
<item>then</item>
<item>unless</item>
<item>until</item>
<item>when</item>
<item>while</item>
<item>yield</item>
</list>
<list name="access-control">
<item>private_class_method</item>
<item>private</item>
<item>protected</item>
<item>public_class_method</item>
<item>public</item>
</list>
<list name="attribute-definitions">
<item>attr_reader</item>
<item>attr_writer</item>
<item>attr_accessor</item>
</list>
<list name="definitions">
<item>alias</item>
<item>module</item>
<item>class</item>
<item>def</item>
<item>undef</item>
</list>
<list name="pseudo-variables">
<item>self</item>
<item>super</item>
<item>nil</item>
<item>false</item>
<item>true</item>
<item>caller</item>
<item>__FILE__</item>
<item>__LINE__</item>
</list>
<list name="default-globals">
<item>$stdout</item>
<item>$defout</item>
<item>$stderr</item>
<item>$deferr</item>
<item>$stdin</item>
</list>
<list name="kernel-methods">
<item>abort</item>
<item>at_exit</item>
<item>autoload</item>
<item>autoload?</item>
<item>binding</item>
<item>block_given?</item>
<item>callcc</item>
<item>caller</item>
<item>catch</item>
<item>chomp</item>
<item>chomp!</item>
<item>chop</item>
<item>chop!</item>
<item>eval</item>
<item>exec</item>
<item>exit</item>
<item>exit!</item>
<item>fail</item>
<item>fork</item>
<item>format</item>
<item>getc</item>
<item>gets</item>
<item>global_variables</item>
<item>gsub</item>
<item>gsub!</item>
<item>iterator?</item>
<item>lambda</item>
<item>load</item>
<item>local_variables</item>
<item>loop</item>
<item>method_missing</item>
<item>open</item>
<item>p</item>
<item>print</item>
<item>printf</item>
<item>proc</item>
<item>putc</item>
<item>puts</item>
<item>raise</item>
<item>rand</item>
<item>readline</item>
<item>readlines</item>
<item>require</item>
<item>scan</item>
<item>set_trace_func</item>
<item>sleep</item>
<item>split</item>
<item>sprintf</item>
<item>srand</item>
<item>sub</item>
<item>sub!</item>
<item>syscall</item>
<item>system</item>
<item>test</item>
<item>throw</item>
<item>trace_var</item>
<item>trap</item>
<item>untrace_var</item>
<item>warn</item>
<item>auto_complete_field</item>
<item>auto_complete_result</item>
<item>auto_discovery_link_tag</item>
<item>auto_link</item>
<item>benchmark</item>
<item>button_to</item>
<item>cache</item>
<item>capture</item>
<item>check_box</item>
<item>check_box_tag</item>
<item>collection_select</item>
<item>concat</item>
<item>content_for</item>
<item>content_tag</item>
<item>country_options_for_select</item>
<item>country_select</item>
<item>current_page?</item>
<item>date_select</item>
<item>datetime_select</item>
<item>debug</item>
<item>define_javascript_functions</item>
<item>distance_of_time_in_words</item>
<item>distance_of_time_in_words_to_now</item>
<item>draggable_element</item>
<item>drop_receiving_element</item>
<item>end_form_tag</item>
<item>error_message_on</item>
<item>error_messages_for</item>
<item>escape_javascript</item>
<item>evaluate_remote_response</item>
<item>excerpt</item>
<item>file_field</item>
<item>file_field_tag</item>
<item>finish_upload_status</item>
<item>form</item>
<item>form_remote_tag</item>
<item>form_tag</item>
<item>form_tag_with_upload_progress</item>
<item>h</item>
<item>hidden_field</item>
<item>hidden_field_tag</item>
<item>highlight</item>
<item>human_size</item>
<item>image_path</item>
<item>image_submit_tag</item>
<item>image_tag</item>
<item>input</item>
<item>javascript_include_tag</item>
<item>javascript_path</item>
<item>javascript_tag</item>
<item>link_image_to</item>
<item>link_to</item>
<item>link_to_function</item>
<item>link_to_if</item>
<item>link_to_image</item>
<item>link_to_remote</item>
<item>link_to_unless</item>
<item>link_to_unless_current</item>
<item>mail_to</item>
<item>markdown</item>
<item>number_to_currency</item>
<item>number_to_human_size</item>
<item>number_to_percentage</item>
<item>number_to_phone</item>
<item>number_with_delimiter</item>
<item>number_with_precision</item>
<item>observe_field</item>
<item>observe_form</item>
<item>option_groups_from_collection_for_select</item>
<item>options_for_select</item>
<item>options_from_collection_for_select</item>
<item>pagination_links</item>
<item>password_field</item>
<item>password_field_tag</item>
<item>periodically_call_remote</item>
<item>pluralize</item>
<item>radio_button</item>
<item>radio_button_tag</item>
<item>register_template_handler</item>
<item>render</item>
<item>render_file</item>
<item>render_template</item>
<item>sanitize</item>
<item>select</item>
<item>select_date</item>
<item>select_datetime</item>
<item>select_day</item>
<item>select_hour</item>
<item>select_minute</item>
<item>select_month</item>
<item>select_second</item>
<item>select_tag</item>
<item>select_time</item>
<item>select_year</item>
<item>simple_format</item>
<item>sortable_element</item>
<item>start_form_tag</item>
<item>strip_links</item>
<item>stylesheet_link_tag</item>
<item>stylesheet_path</item>
<item>submit_tag</item>
<item>submit_to_remote</item>
<item>tag</item>
<item>text_area</item>
<item>text_area_tag</item>
<item>text_field</item>
<item>text_field_tag</item>
<item>text_field_with_auto_complete</item>
<item>textilize</item>
<item>textilize_without_paragraph</item>
<item>time_ago_in_words</item>
<item>time_zone_options_for_select</item>
<item>time_zone_select</item>
<item>truncate</item>
<item>update_element_function</item>
<item>upload_progress_status</item>
<item>upload_progress_text</item>
<item>upload_progress_update_bar_js</item>
<item>upload_status_progress_bar_tag</item>
<item>upload_status_tag</item>
<item>upload_status_text_tag</item>
<item>url_for</item>
<item>visual_effect</item>
<item>word_wrap</item>
</list>
<contexts>
<context name="Start" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="FindHTML" />
</context>
<context name="FindHTML" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces/>
<DetectIdentifier/>
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Ruby Source" context="rubysourceline" char="%" />
<StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
<StringDetect attribute="CDATA" context="CDATA" String="<![CDATA[" beginRegion="cdata" />
<RegExpr attribute="Doctype" context="Doctype" String="<!DOCTYPE\s+" beginRegion="doctype" />
<RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />
<WordDetect attribute="Element" context="CSS" String="<style" insensitive="true" beginRegion="style" />
<WordDetect attribute="Element" context="JS" String="<script" insensitive="true" beginRegion="script" />
<WordDetect attribute="Element" context="El Open" String="<pre" insensitive="true" beginRegion="pre" />
<WordDetect attribute="Element" context="El Open" String="<div" insensitive="true" beginRegion="div" />
<WordDetect attribute="Element" context="El Open" String="<table" insensitive="true" beginRegion="table" />
<RegExpr attribute="Element" context="El Open" String="<&name;" />
<WordDetect attribute="Element" context="El Close" String="</pre" insensitive="true" endRegion="pre" />
<WordDetect attribute="Element" context="El Close" String="</div" insensitive="true" endRegion="div" />
<WordDetect attribute="Element" context="El Close" String="</table" insensitive="true" endRegion="table" />
<RegExpr attribute="Element" context="El Close" String="</&name;" />
<IncludeRules context="FindDTDRules" />
<IncludeRules context="FindEntityRefs" />
</context>
<context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
<AnyChar attribute="Error" context="#stay" String="&<" />
</context>
<context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
<RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
<AnyChar attribute="Error" context="#stay" String="&%" />
</context>
<context name="FindAttributes" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Attribute" context="#stay" String="^&name;|\s+&name;" />
<DetectChar attribute="Attribute" context="Value" char="=" />
</context>
<context name="FindDTDRules" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Doctype" context="Doctype Markupdecl" String="<!(?:ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
</context>
<context name="Comment" attribute="Comment" lineEndContext="#stay">
<DetectSpaces/>
<StringDetect attribute="Comment" context="#pop" String="-->" endRegion="comment" />
<IncludeRules context="##Comments" />
<DetectIdentifier/>
</context>
<context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces/>
<DetectIdentifier/>
<StringDetect attribute="CDATA" context="#pop" String="]]>" endRegion="cdata" />
</context>
<context name="PI" attribute="Normal Text" lineEndContext="#stay">
<Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1=">" endRegion="pi" />
</context>
<context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Doctype" context="#pop" char=">" endRegion="doctype" />
<DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
</context>
<context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
<IncludeRules context="FindDTDRules" />
<StringDetect attribute="Comment" context="Comment" String="<!--" beginRegion="comment" />
<RegExpr attribute="Processing Instruction" context="PI" String="<\?[\w:-]*" beginRegion="pi" />
<IncludeRules context="FindPEntityRefs" />
</context>
<context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
<DetectChar attribute="Doctype" context="#pop" char=">" />
<DetectChar attribute="Value" context="Doctype Markupdecl DQ" char=""" />
<DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="'" />
</context>
<context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Value" context="#pop" char=""" />
<IncludeRules context="FindPEntityRefs" />
</context>
<context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Value" context="#pop" char="'" />
<IncludeRules context="FindPEntityRefs" />
</context>
<context name="El Open" attribute="Error" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" />
<DetectChar attribute="Element" context="#pop" char=">" />
<IncludeRules context="FindAttributes" />
<DetectSpaces attribute="Normal Text"/>
</context>
<context name="El Close" attribute="Error" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Element" context="#pop" char=">" />
<DetectSpaces attribute="Normal Text"/>
</context>
<context name="CSS" attribute="Error" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="style" />
<DetectChar attribute="Element" context="CSS content" char=">" />
<IncludeRules context="FindAttributes" />
<DetectSpaces attribute="Normal Text"/>
</context>
<context name="CSS content" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<WordDetect attribute="Element" context="#pop#pop!El Close" String="</style" insensitive="true" endRegion="style" />
<IncludeRules context="##CSS" includeAttrib="true"/>
</context>
<context name="JS" attribute="Error" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<Detect2Chars attribute="Element" context="#pop" char="/" char1=">" endRegion="script" />
<DetectChar attribute="Element" context="JS content" char=">" />
<IncludeRules context="FindAttributes" />
<DetectSpaces attribute="Normal Text"/>
</context>
<context name="JS content" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<WordDetect attribute="Element" context="#pop#pop!El Close" String="</script" insensitive="true" endRegion="script" />
<RegExpr attribute="Comment" context="JS comment close" String="//(?=.*</script\b)" insensitive="true" />
<IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
</context>
<context name="JS comment close" attribute="Comment" lineEndContext="#pop">
<RegExpr attribute="Element" context="#pop#pop#pop!El Close" String="</script\b" insensitive="true" endRegion="script" />
<IncludeRules context="##Comments" />
</context>
<context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="Value NQ">
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Value" context="Value DQ" char=""" />
<DetectChar attribute="Value" context="Value SQ" char="'" />
<DetectSpaces />
</context>
<context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">
<IncludeRules context="find-rubysource" />
<IncludeRules context="FindEntityRefs" />
<RegExpr attribute="Value" context="#stay" String="/(?!>)|[^/><"'\s]" />
</context>
<context name="Value DQ" attribute="Value" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Value" context="#pop#pop" char=""" />
<IncludeRules context="FindEntityRefs" />
</context>
<context name="Value SQ" attribute="Value" lineEndContext="#stay">
<IncludeRules context="find-rubysource" />
<DetectChar attribute="Value" context="#pop#pop" char="'" />
<IncludeRules context="FindEntityRefs" />
</context>
<context name="rubysourceline" attribute="RUBY RAILS ERB Text" lineEndContext="#pop">
<IncludeRules context="rubysource" />
</context>
<context name="find-rubysource" attribute="Normal Text" lineEndContext="#stay">
<Detect2Chars attribute="Ruby Source" context="rubysource-markup" char="<" char1="%" />
</context>
<context name="rubysource-markup" attribute="Ruby Source" lineEndContext="#pop!rubysource-block-content" fallthroughContext="#pop!rubysource-block-content">
<AnyChar attribute="Ruby Source" context="#pop!rubysource-block-content" String="=-" />
</context>
<context name="rubysource-block-content" attribute="RUBY RAILS ERB Text" lineEndContext="#stay">
<StringDetect attribute="Ruby Source" context="#pop" String="-%>" />
<Detect2Chars attribute="Ruby Source" context="#pop" char="%" char1=">" />
<IncludeRules context="rubysource" />
</context>
<context name="rubysource" attribute="RUBY RAILS ERB Text" lineEndContext="#stay">
<LineContinue attribute="Ruby Normal Text" context="Line Continue"/>
<RegExpr attribute="Keyword" String="^__END__$" context="DATA" column="0"/>
<StringDetect attribute="Keyword" String="^#!/" context="ShebangLine" column="0"/>
<RegExpr attribute="Keyword" String="(?:\=|\(|\[|\{)\s*(?:if|unless|while|until)\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" firstNonSpace="true"/>
<RegExpr attribute="Keyword" String="\;\s*(?:while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="if" context="#stay" beginRegion="def block" firstNonSpace="true"/>
<WordDetect attribute="Keyword" String="unless" context="#stay" beginRegion="def block" firstNonSpace="true"/>
<RegExpr attribute="Keyword" String="\;\s*(?:if|unless)\b" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="class" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="module" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="begin" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bfor\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="case" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="do" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="def" context="#stay" beginRegion="def block"/>
<WordDetect attribute="Keyword" String="end" context="#stay" endRegion="def block"/>
<RegExpr attribute="Keyword" String="(?:\b|^\s*)(?:else|elsif|rescue|ensure)(?:\s+|$)" context="#stay" endRegion="def block" beginRegion="def block"/>
<StringDetect attribute="Operator" String="..." context="#stay"/>
<Detect2Chars attribute="Operator" char="." char1="." context="#stay"/>
<RegExpr attribute="Message" String="\.[_a-z][_a-zA-Z0-9]*(?:\?|\!|\b)" context="#stay"/>
<RegExpr attribute="Dec" String="\s\?(?:\\M\-)?(?:\\C\-)?\\?\S" context="#stay"/>
<keyword attribute="Keyword" String="keywords" context="#stay"/>
<keyword attribute="Attribute Definition" String="attribute-definitions" context="#stay"/>
<keyword attribute="Access Control" String="access-control" context="#stay"/>
<keyword attribute="Definition" String="definitions" context="#stay" />
<keyword attribute="Pseudo variable" String="pseudo-variables" context="#stay"/>
<keyword attribute="Default globals" String="default-globals" context="#stay"/>
<keyword attribute="Kernel methods" String="kernel-methods" context="#stay"/>
<RegExpr attribute="Global Variable" String="\$(?:\w+|\-[a-zA-Z_]\b)" context="#stay"/>
<RegExpr attribute="Default globals" String="\$[\d_*`\!:?'/\\\-\&]" context="#stay"/>
<RegExpr attribute="Global Constant" String="\b[_A-Z]+[A-Z_0-9]+\b" context="#stay"/>
<RegExpr attribute="Constant" String="\b[A-Z]+_*(?:[0-9]|[a-z])[_a-zA-Z0-9]*\b" context="#stay"/>
<RegExpr attribute="Hex" String="(?:\-|\b)0[xX][_0-9a-fA-F]+" context="#stay"/>
<RegExpr attribute="Bin" String="(?:\-|\b)0[bB][_01]+" context="#stay"/>
<RegExpr attribute="Octal" String="(?:\-|\b)0[1-7][_0-7]*" context="#stay"/>
<RegExpr attribute="Float" String="(?:\-|\b)[0-9][0-9_]*\.[0-9][0-9_]*(?:[eE]\-?[1-9][0-9]*(?:\.[0-9]*)?)?" context="#stay"/>
<RegExpr attribute="Dec" String="(?:\-|\b)[1-9][0-9_]*\b" context="#stay"/>
<Int attribute="Dec" context="#stay"/>
<HlCChar attribute="Char" context="#stay"/>
<StringDetect attribute="Blockcomment" String="=begin" context="Embedded documentation" beginRegion="comment block" column="0"/>
<RegExpr attribute="Operator" context="find_indented_heredoc" String="\s*<<-(?=\w+|["'])" beginRegion="HereDocument" />
<RegExpr attribute="Operator" context="find_heredoc" String="\s*<<(?=\w+|["'])" beginRegion="HereDocument" />
<DetectChar attribute="Operator" char="." context="#stay"/>
<Detect2Chars attribute="Operator" char="&" char1="&" context="#stay"/>
<Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
<RegExpr attribute="Operator" String="\s[\?\:\%/]\s|[|&<>\^\+*~\-=]+|\s!|/=\s" context="#stay"/>
<Detect2Chars attribute="Operator" char="%" char1="=" context="#stay"/>
<Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/>
<RegExpr attribute="Symbol" String=":[a-zA-Z_][a-zA-Z0-9_]*" context="#stay"/>
<DetectChar attribute="String" char=""" context="Quoted String"/>
<DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
<DetectChar attribute="Command" char="`" context="Command String"/>
<Detect2Chars attribute="Normal Text" char="?" char1="#" context="#stay"/>
<RegExpr attribute="Comment" String="^#\s*BEGIN.*$" context="#stay" beginRegion="marker" column="0"/>
<RegExpr attribute="Comment" String="^#\s*END.*$" context="#stay" endRegion="marker" column="0"/>
<DetectChar attribute="Comment" char="#" context="Comment Line" firstNonSpace="true"/>
<RegExpr attribute="Comment" String="\s#" context="General Comment"/>
<RegExpr attribute="Delimiter" String="[\[\]]+" context="#stay"/>
<DetectChar attribute="Delimiter" char="{" context="#stay" beginRegion="def block"/>
<DetectChar attribute="Delimiter" char="}" context="#stay" endRegion="def block"/>
<RegExpr attribute="Instance Variable" String="@[a-zA-Z_0-9]+" context="#stay"/>
<RegExpr attribute="Class Variable" String="@@[a-zA-Z_0-9]+" context="#stay"/>
<DetectChar attribute="Regular Expression" char="/" context="RegEx 1"/>
<RegExpr attribute="GDL input" context="find_gdl_input" String="\s*[%](?=[Qqxw]?[^\s>])" beginRegion="GdlInput" />
</context>
<context name="ShebangLine" attribute="Keyword" lineEndContext="#pop" />
<context name="Line Continue" attribute="Ruby Normal Text" lineEndContext="#pop">
<RegExpr attribute="Keyword" String="(?:while|until)\b(?!.*\bdo\b)" context="#stay" firstNonSpace="true"/>
<WordDetect attribute="Keyword" String="if" context="#stay" firstNonSpace="true"/>
<WordDetect attribute="Keyword" String="unless" context="#stay" firstNonSpace="true"/>
<IncludeRules context="rubysource"/>
</context>
<context name="Quoted String" attribute="String" lineEndContext="#stay">
<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
<Detect2Chars attribute="String" char="\" char1=""" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<DetectChar char=""" attribute="String" context="#pop"/>
</context>
<context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">
<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
<Detect2Chars attribute="String" char="\" char1="'" context="#stay"/>
<DetectChar char="'" attribute="Raw String" context="#pop"/>
</context>
<context name="Command String" attribute="Command" lineEndContext="#stay">
<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
<Detect2Chars attribute="String" char="\" char1="`" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<HlCChar attribute="Char" context="#pop"/>
<DetectChar char="`" attribute="Command" context="#pop"/>
</context>
<context name="Embedded documentation" attribute="Ruby Comment" lineEndContext="#stay">
<StringDetect attribute="Ruby Comment" String="=end" context="#pop" endRegion="comment block" column="0"/>
</context>
<context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
<Detect2Chars attribute="Regular Expression" char="\" char1="/" context="#stay"/>
<RegExpr attribute="Regular Expression" String="[^\\]$" context="#pop"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<RegExpr attribute="Regular Expression" String="/[uiomxn]*" context="#pop"/>
</context>
<context name="Subst" attribute="Ruby Normal Text" lineEndContext="#stay">
<DetectChar attribute="Substitution" char="}" context="#pop"/>
<IncludeRules context="rubysource"/>
</context>
<context name="Short Subst" attribute="Substitution" lineEndContext="#pop">
<RegExpr attribute="Substitution" String="#@{1,2}" context="#stay"/>
<RegExpr attribute="Substitution" String="\w(?!\w)" context="#pop"/>
</context>
<context name="Member Access" attribute="Member" lineEndContext="#pop">
<RegExpr attribute="Message" String="\.?[_a-z]\w*[\?\!]?(?=[^\w\d\.\:])" context="#pop"/>
<RegExpr attribute="Message" String="\.?[_a-z]\w*[\?\!]?" context="#stay"/>
<RegExpr attribute="Constant" String="[A-Z]+_*[\da-z]\w*(?=[^\w\d\.\:])" context="#pop"/>
<RegExpr attribute="Constant" String="[A-Z]+_*[0-9a-z]\w*" context="#stay"/>
<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*(?=[^\w\d\.\:])" context="#pop"/>
<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*" context="#stay"/>
<Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/>
<DetectChar attribute="Member" char="." context="#stay"/>
<AnyChar attribute="Operator" String="=+-*/%|&[]{}~" context="#pop"/>
<DetectChar attribute="Ruby Comment" char="#" context="#pop"/>
<AnyChar attribute="Ruby Normal Text" String="()\" context="#pop"/>
<RegExpr attribute="Member" String="\W" context="#pop"/>
</context>
<context name="Comment Line" attribute="Ruby Comment" lineEndContext="#pop">
<DetectSpaces />
<StringDetect context="#pop" String="-%>" lookAhead="true" />
<Detect2Chars context="#pop" char="%" char1=">" lookAhead="true" />
<RegExpr attribute="Ruby Comment" String="\w\:\:\s" context="RDoc Label"/>
<IncludeRules context="##Comments"/>
</context>
<context name="General Comment" attribute="Ruby Comment" lineEndContext="#pop">
<DetectSpaces/>
<IncludeRules context="##Comments"/>
</context>
<context name="RDoc Label" attribute="RDoc Value" lineEndContext="#pop"/>
<context name="find_heredoc" attribute="Ruby Normal Text" lineEndContext="#pop" >
<RegExpr attribute="Keyword" context="apostrophed_normal_heredoc" String="'(\w+)'" />
<RegExpr attribute="Keyword" context="normal_heredoc" String=""?(\w+)"?" />
</context>
<context name="find_indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#pop" >
<RegExpr attribute="Keyword" context="apostrophed_indented_heredoc" String="'(\w+)'" />
<RegExpr attribute="Keyword" context="indented_heredoc" String=""?(\w+)"?" />
</context>
<context name="indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
<IncludeRules context="heredoc_rules" />
</context>
<context name="apostrophed_indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
</context>
<context name="normal_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument" column="0"/>
<IncludeRules context="heredoc_rules" />
</context>
<context name="apostrophed_normal_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
<RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument" column="0"/>
</context>
<context name="heredoc_rules" attribute="Ruby Normal Text" lineEndContext="#stay">
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
</context>
<context name="find_gdl_input" attribute="Ruby Normal Text" lineEndContext="#pop">
<Detect2Chars attribute="GDL input" context="gdl_token_array_1" char="w" char1="(" />
<Detect2Chars attribute="GDL input" context="gdl_token_array_2" char="w" char1="{" />
<Detect2Chars attribute="GDL input" context="gdl_token_array_3" char="w" char1="[" />
<Detect2Chars attribute="GDL input" context="gdl_token_array_4" char="w" char1="<" />
<RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" />
<Detect2Chars attribute="GDL input" context="gdl_apostrophed_1" char="q" char1="(" />
<Detect2Chars attribute="GDL input" context="gdl_apostrophed_2" char="q" char1="{" />
<Detect2Chars attribute="GDL input" context="gdl_apostrophed_3" char="q" char1="[" />
<Detect2Chars attribute="GDL input" context="gdl_apostrophed_4" char="q" char1="<" />
<RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" />
<Detect2Chars attribute="GDL input" context="gdl_shell_command_1" char="x" char1="(" />
<Detect2Chars attribute="GDL input" context="gdl_shell_command_2" char="x" char1="{" />
<Detect2Chars attribute="GDL input" context="gdl_shell_command_3" char="x" char1="[" />
<Detect2Chars attribute="GDL input" context="gdl_shell_command_4" char="x" char1="<" />
<RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" />
<Detect2Chars attribute="GDL input" context="gdl_regexpr_1" char="r" char1="(" />
<Detect2Chars attribute="GDL input" context="gdl_regexpr_2" char="r" char1="{" />
<Detect2Chars attribute="GDL input" context="gdl_regexpr_3" char="r" char1="[" />
<Detect2Chars attribute="GDL input" context="gdl_regexpr_4" char="r" char1="<" />
<RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" />
<Detect2Chars attribute="GDL input" context="gdl_dq_string_1" char="Q" char1="(" />
<Detect2Chars attribute="GDL input" context="gdl_dq_string_2" char="Q" char1="{" />
<Detect2Chars attribute="GDL input" context="gdl_dq_string_3" char="Q" char1="[" />
<Detect2Chars attribute="GDL input" context="gdl_dq_string_4" char="Q" char1="<" />
<DetectChar attribute="GDL input" context="gdl_dq_string_1" char="(" />
<DetectChar attribute="GDL input" context="gdl_dq_string_2" char="{" />
<DetectChar attribute="GDL input" context="gdl_dq_string_3" char="[" />
<DetectChar attribute="GDL input" context="gdl_dq_string_4" char="<" />
<RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" />
</context>
<context name="gdl_dq_string_1" attribute="String" lineEndContext="#stay" >
<IncludeRules context="dq_string_rules" />
<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
</context>
<context name="gdl_dq_string_1_nested" attribute="String" lineEndContext="#stay" >
<IncludeRules context="dq_string_rules" />
<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
<DetectChar attribute="String" context="#pop" char=")" />
</context>
<context name="gdl_dq_string_2" attribute="String" lineEndContext="#stay" >
<IncludeRules context="dq_string_rules" />
<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
</context>
<context name="gdl_dq_string_2_nested" attribute="String" lineEndContext="#stay" >
<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
<DetectChar attribute="String" context="#pop" char="}" />
<IncludeRules context="dq_string_rules" />
</context>
<context name="gdl_dq_string_3" attribute="String" lineEndContext="#stay" >
<IncludeRules context="dq_string_rules" />
<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
</context>
<context name="gdl_dq_string_3_nested" attribute="String" lineEndContext="#stay" >
<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
<DetectChar attribute="String" context="#pop" char="]" />
<IncludeRules context="dq_string_rules" />
</context>
<context name="gdl_dq_string_4" attribute="String" lineEndContext="#stay" >
<IncludeRules context="dq_string_rules" />
<Detect2Chars attribute="String" char="\" char1=">" context="#stay"/>
<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="<" />
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
</context>
<context name="gdl_dq_string_4_nested" attribute="String" lineEndContext="#stay" >
<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="<" />
<DetectChar attribute="String" context="#pop" char=">" />
<IncludeRules context="dq_string_rules" />
</context>
<context name="gdl_dq_string_5" attribute="String" lineEndContext="#stay" dynamic="true">
<IncludeRules context="dq_string_rules" />
<StringDetect attribute="String" String="\%1" context="#stay" dynamic="true" />
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
</context>
<context name="dq_string_rules" attribute="String" lineEndContext="#stay" >
<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
</context>
<context name="gdl_token_array_1" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
</context>
<context name="gdl_token_array_1_nested" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
<DetectChar attribute="String" context="#pop" char=")" />
</context>
<context name="gdl_token_array_2" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
</context>
<context name="gdl_token_array_2_nested" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
<DetectChar attribute="String" context="#pop" char="}" />
</context>
<context name="gdl_token_array_3" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
</context>
<context name="gdl_token_array_3_nested" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
<DetectChar attribute="String" context="#pop" char="]" />
</context>
<context name="gdl_token_array_4" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<Detect2Chars attribute="String" char="\" char1=">" context="#stay"/>
<DetectChar attribute="String" context="gdl_token_array_4_nested" char="<" />
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
</context>
<context name="gdl_token_array_4_nested" attribute="String" lineEndContext="#stay" >
<IncludeRules context="token_array_rules" />
<DetectChar attribute="String" context="gdl_token_array_4_nested" char="<" />
<DetectChar attribute="String" context="#pop" char=">" />
</context>
<context name="gdl_token_array_5" attribute="String" lineEndContext="#stay" dynamic="true">
<IncludeRules context="token_array_rules" />
<StringDetect attribute="String" String="\%1" context="#stay" dynamic="true"/>
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
</context>
<context name="token_array_rules" attribute="String" lineEndContext="#stay" >
<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
</context>
<context name="gdl_apostrophed_1" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<Detect2Chars attribute="Raw String" char="\" char1=")" context="#stay"/>
<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
</context>
<context name="gdl_apostrophed_1_nested" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
<DetectChar attribute="Raw String" context="#pop" char=")" />
</context>
<context name="gdl_apostrophed_2" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<Detect2Chars attribute="Raw String" char="\" char1="}" context="#stay"/>
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
</context>
<context name="gdl_apostrophed_2_nested" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
<DetectChar attribute="Raw String" context="#pop" char="}" />
</context>
<context name="gdl_apostrophed_3" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<Detect2Chars attribute="Raw String" char="\" char1="]" context="#stay"/>
<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
</context>
<context name="gdl_apostrophed_3_nested" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
<DetectChar attribute="Raw String" context="#pop" char="]" />
</context>
<context name="gdl_apostrophed_4" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<Detect2Chars attribute="Raw String" char="\" char1=">" context="#stay"/>
<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="<" />
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
</context>
<context name="gdl_apostrophed_4_nested" attribute="Raw String" lineEndContext="#stay" >
<IncludeRules context="apostrophed_rules" />
<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="<" />
<DetectChar attribute="Raw String" context="#pop" char=">" />
</context>
<context name="gdl_apostrophed_5" attribute="Raw String" lineEndContext="#stay" dynamic="true">
<IncludeRules context="apostrophed_rules" />
<StringDetect attribute="Raw String" String="\%1" context="#stay" dynamic="true"/>
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
</context>
<context name="apostrophed_rules" attribute="Raw String" lineEndContext="#stay" >
<Detect2Chars attribute="Raw String" char="\" char1="\" context="#stay"/>
</context>
<context name="gdl_shell_command_1" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<Detect2Chars attribute="Command" char="\" char1=")" context="#stay"/>
<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
</context>
<context name="gdl_shell_command_1_nested" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
<DetectChar attribute="Command" context="#pop" char=")" />
</context>
<context name="gdl_shell_command_2" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<Detect2Chars attribute="Command" char="\" char1="}" context="#stay"/>
<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
</context>
<context name="gdl_shell_command_2_nested" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
<DetectChar attribute="Command" context="#pop" char="}" />
</context>
<context name="gdl_shell_command_3" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<Detect2Chars attribute="Command" char="\" char1="]" context="#stay"/>
<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
</context>
<context name="gdl_shell_command_3_nested" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
<DetectChar attribute="Command" context="#pop" char="]" />
</context>
<context name="gdl_shell_command_4" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<Detect2Chars attribute="Command" char="\" char1=">" context="#stay"/>
<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="<" />
<DetectChar attribute="GDL input" context="#pop#pop" char=">" endRegion="GdlInput" />
</context>
<context name="gdl_shell_command_4_nested" attribute="Command" lineEndContext="#stay" >
<IncludeRules context="shell_command_rules" />
<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="<" />
<DetectChar attribute="Command" context="#pop" char=">" />
</context>
<context name="gdl_shell_command_5" attribute="Command" lineEndContext="#stay" dynamic="true">
<IncludeRules context="shell_command_rules" />
<StringDetect attribute="Command" String="\%1" context="#stay" dynamic="true" />
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
</context>
<context name="shell_command_rules" attribute="Command" lineEndContext="#stay" >
<Detect2Chars attribute="Command" char="\" char1="\" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
</context>
<context name="gdl_regexpr_1" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<Detect2Chars attribute="Regular Expression" char="\" char1=")" context="#stay"/>
<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
<RegExpr attribute="GDL input" context="#pop#pop" String="\)[uiomxn]*" endRegion="GdlInput" />
</context>
<context name="gdl_regexpr_1_nested" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
<DetectChar attribute="Regular Expression" context="#pop" char=")" />
</context>
<context name="gdl_regexpr_2" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<Detect2Chars attribute="Regular Expression" char="\" char1="}" context="#stay"/>
<RegExpr attribute="GDL input" context="#pop#pop" String="\}[uiomxn]*" endRegion="GdlInput" />
<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
</context>
<context name="gdl_regexpr_2_nested" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
<DetectChar attribute="Regular Expression" context="#pop" char="}" />
</context>
<context name="gdl_regexpr_3" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<Detect2Chars attribute="Regular Expression" char="\" char1="]" context="#stay"/>
<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
<RegExpr attribute="GDL input" context="#pop#pop" String="\][uiomxn]*" endRegion="GdlInput" />
</context>
<context name="gdl_regexpr_3_nested" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
<DetectChar attribute="Regular Expression" context="#pop" char="]" />
</context>
<context name="gdl_regexpr_4" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<Detect2Chars attribute="Regular Expression" char="\" char1=">" context="#stay"/>
<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="<" />
<RegExpr attribute="GDL input" context="#pop#pop" String=">[uiomxn]*" endRegion="GdlInput" />
</context>
<context name="gdl_regexpr_4_nested" attribute="Regular Expression" lineEndContext="#stay" >
<IncludeRules context="regexpr_rules" />
<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="<" />
<DetectChar attribute="Regular Expression" context="#pop" char=">" />
</context>
<context name="gdl_regexpr_5" attribute="Regular Expression" lineEndContext="#stay" dynamic="true">
<IncludeRules context="regexpr_rules" />
<StringDetect attribute="Regular Expression" String="\%1" context="#stay" dynamic="true" />
<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1[uiomxn]*" dynamic="true" endRegion="GdlInput" />
</context>
<context name="regexpr_rules" attribute="Regular Expression" lineEndContext="#stay" >
<Detect2Chars attribute="Regular Expression" char="\" char1="\" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
</context>
<context name="DATA" attribute="Data" lineEndContext="#stay"/>
</contexts>
<itemDatas>
<itemData name="Ruby Normal Text" defStyleNum="dsNormal"/>
<itemData name="RUBY RAILS ERB Text" defStyleNum="dsExtension" bold="0" spellChecking="false"/>
<itemData name="Ruby Source" defStyleNum="dsDataType" bold="1" spellChecking="false"/>
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Attribute Definition" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Access Control" defStyleNum="dsAttribute" bold="1" spellChecking="false"/>
<itemData name="Definition" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Pseudo variable" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Dec" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
<itemData name="Char" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Bin" defStyleNum="dsBaseN" spellChecking="false"/>
<itemData name="Symbol" defStyleNum="dsWarning" bold="0" underline="0" spellChecking="false"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Raw String" defStyleNum="dsVerbatimString"/>
<itemData name="Command" defStyleNum="dsInformation"/>
<itemData name="Message" defStyleNum="dsAttribute" spellChecking="false"/>
<itemData name="Regular Expression" defStyleNum="dsSpecialString" spellChecking="false"/>
<itemData name="Substitution" defStyleNum="dsSpecialChar" spellChecking="false"/>
<itemData name="Data" defStyleNum="dsNormal"/>
<itemData name="GDL input" defStyleNum="dsOthers" />
<itemData name="Default globals" defStyleNum="dsVariable" bold="1" spellChecking="false"/>
<itemData name="Global Variable" defStyleNum="dsVariable" spellChecking="false"/>
<itemData name="Global Constant" defStyleNum="dsConstant" bold="1" spellChecking="false"/>
<itemData name="Constant" defStyleNum="dsDataType" spellChecking="false"/>
<itemData name="Constant Value" defStyleNum="dsConstant" bold="0" spellChecking="false"/>
<itemData name="Kernel methods" defStyleNum="dsFunction" bold="1" spellChecking="false"/>
<itemData name="Member" defStyleNum="dsNormal" spellChecking="false"/>
<itemData name="Instance Variable" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Class Variable" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Ruby Comment" defStyleNum="dsComment"/>
<itemData name="Blockcomment" defStyleNum="dsComment"/>
<itemData name="RDoc Value" defStyleNum="dsOthers"/>
<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
<itemData name="Delimiter" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Operator" defStyleNum="dsChar" spellChecking="false"/>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="CDATA" defStyleNum="dsBaseN" bold="1" spellChecking="false"/>
<itemData name="Processing Instruction" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Doctype" defStyleNum="dsDataType" bold="1" spellChecking="false"/>
<itemData name="Element" defStyleNum="dsKeyword" spellChecking="false"/>
<itemData name="Attribute" defStyleNum="dsOthers" spellChecking="false"/>
<itemData name="Value" defStyleNum="dsString" spellChecking="false"/>
<itemData name="EntityRef" defStyleNum="dsDecVal" spellChecking="false"/>
<itemData name="PEntityRef" defStyleNum="dsDecVal" spellChecking="false"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="multiLine" start="<!--" end="-->" region="comment" />
</comments>
<keywords casesensitive="1" weakDeliminator="!?"/>
</general>
</language>