--Boundary-00=_cnZtBg+gxX5hyvZ
Content-Type: Multipart/Mixed;
boundary="Boundary-00=_cnZtBg+gxX5hyvZ"
--Boundary-00=_cnZtBg+gxX5hyvZ
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Am Dienstag, 7. Dezember 2004 01:52 schrieb David Ross:
KDevelop uses Kate by default. Its even better in this recent
release because the regex engine. The past releases engine
was not too great, so it was difficult to implement a few
specifications. The syntax highlighting uses regexes to identify
keywords.
David Ross
If you want better Ruby syntax highlighting for Kate,
(perhaps it is already better for Kate versions newer than 2.2)
just copy the file in the attachement into the following directory:
~/.kde/share/apps/katepart/syntax/
The newest available version (1.07) of "ruby.xml"
wasn't really good, so I did many improvements.
--
Stefan
--Boundary-00=_cnZtBg+gxX5hyvZ
Content-Type: text/xml;
charset="iso-8859-1";
name="ruby.xml"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="ruby.xml"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<!--
This file is part of KDE's kate project.
Ruby syntax highlighting definition for Kate.
Copyright (C) 2004 by Sebastian Vuorinen (sebastian dot vuorinen at helsinki dot fi)
Copyright (C) 2004 by Stefan Lang (
[email protected])
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
-->
<!--
TODO: * Regular expressions spanning over multiple lines
work only if newlines are escaped.
* HERE documents could be terminated too early (most work).
* "Nested" HERE documents aren't recognized.
* Division is detected correctly only, if whitespace
is around the "/" operator.
E.g.: detected correctly: 1 / 2
"/" interpreted as regex start: 1/2
-->
<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
<language name="Ruby" version="1.10" kateversion="2.2" section="Scripts" extensions="*.rb" mimetype="application/x-ruby" author="Stefan Lang <
[email protected]>" license="LGPL">
<highlighting>
<list name="keywords">
<item> BEGIN </item>
<item> END </item>
<item> and </item>
<item> begin </item>
<item> break </item>
<item> case </item>
<!-- Doesn't work. Because of question mark?
Included regex below. -->
<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>
<!-- Kernel module methods. -->
<list name="kernel-methods">
<item> Array </item>
<item> Float </item>
<item> Integer </item>
<item> String </item>
<!-- backquote ` -->
<item> abort </item>
<item> at_exit </item>
<item> autoload </item>
<!-- Doesn't work. Because of question mark?
Included regex below. -->
<item> autoload? </item>
<item> binding </item>
<!-- Doesn't work. Because of question mark?
Included regex below. -->
<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>
<!-- Doesn't work. Because of question mark?
Included regex below. -->
<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> select </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>
</list>
<list name="attention">
<item> TODO </item>
<item> FIXME </item>
<item> NOTE </item>
</list>
<contexts>
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<!-- __END__ token on own line. -->
<RegExpr attribute="Keyword" String="^__END__$" context="DATA"/>
<!-- "shebang" line -->
<RegExpr attribute="Keyword" String="^#!\/.*" context="#stay"/>
<!-- "def" - "end" blocks -->
<!-- check for statement modifiers with regexes -->
<RegExpr attribute="Keyword" String="(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="^\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\;\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="^\s*(if|unless)\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\;\s*(if|unless)\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bclass\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bmodule\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bbegin\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bfor\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bcase\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bdo\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bdef\b" context="#stay" beginRegion="def block"/>
<RegExpr attribute="Keyword" String="\bend\b" context="#stay" endRegion="def block"/>
<StringDetect attribute="Operator" String="..." context="#stay"/>
<Detect2Chars attribute="Operator" char="." char1="." context="#stay"/>
<!-- marks a message (being sent, not defined) -->
<RegExpr attribute="Message" String="\.[_a-z][_a-zA-Z0-9]*\b" context="#stay"/>
<keyword attribute="Keyword" String="keywords" context="#stay"/>
<RegExpr attribute="Keyword" String="\bdefined\?" 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="Kernel methods" String="\bautoload\?" context="#stay"/>
<RegExpr attribute="Kernel methods" String="\bblock_given\?" context="#stay"/>
<RegExpr attribute="Kernel methods" String="\biterator\?" context="#stay"/>
<!-- (global) vars starting with $
Match them before $_.
-->
<RegExpr attribute="Global Variable" String="\$[a-zA-Z_0-9]+" context="#stay"/>
<!-- special-character globals -->
<RegExpr attribute="Default globals" String="\$[\d_*`\!:?'/\\\-\&]" context="#stay"/>
<!-- Generally a module or class name like "File", "MyModule_1", .. -->
<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"/>
<!-- Check for =begin before assignment operator. -->
<RegExpr attribute="Blockcomment" String="^=begin\s*.*$" context="Embedded documentation" beginRegion="comment block"/>
<!-- HERE document: saving of regex match necessary for correct handling.
The current method is an approximation which works for simple
cases.
Check for HERE doc before << operator.
-->
<RegExpr attribute="Keyword" String="\s<<[_A-Z][_A-Z0-9]*\s*\)?\s*$" context="Simple Here Doc"/>
<RegExpr attribute="Keyword" String="\s<<\-[_A-Z][_A-Z0-9]*\s*\)?\s*$" context="Intend Here Doc"/>
<DetectChar attribute="Operator" char="." context="#stay"/>
<StringDetect attribute="Operator" String="&&" context="#stay" insensitive="FALSE"/>
<StringDetect attribute="Operator" String="||" context="#stay" insensitive="FALSE"/>
<RegExpr attribute="Operator" String="\s\?\s" context="#stay"/>
<RegExpr attribute="Operator" String="\s\:\s" context="#stay"/>
<RegExpr attribute="Operator" String="[|&<>\^\+*~\-=]+" context="#stay"/>
<!-- regexp hack -->
<RegExpr attribute="Operator" String="\s[\%/]\s" context="#stay"/>
<RegExpr attribute="Operator" String="\s!" context="#stay"/>
<StringDetect attribute="Operator" String="/=" context="#stay" insensitive="0"/>
<StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>
<RegExpr attribute="Symbol" String=":[a-zA-Z_][a-zA-Z0-9_]*" context="#stay"/>
<DetectChar attribute="String" char=""" context="Quoted String"/>
<RegExpr attribute="Keyword" String="%\|" context="Quoted String 1"/>
<RegExpr attribute="Keyword" String="%\{" context="Quoted String 2"/>
<RegExpr attribute="Keyword" String="\%Q\{" context="Quoted String 2"/>
<DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
<RegExpr attribute="Keyword" String="\%q\{" context="Apostrophed String 1"/>
<DetectChar attribute="Command" char="`" context="Command String"/>
<RegExpr attribute="Keyword" String="\%x\{" context="Command String 2"/>
<StringDetect attribute="Normal Text" String="?#" context="#stay"/>
<RegExpr attribute="Comment" String="^#\s*BEGIN.*$" context="#stay" beginRegion="marker"/>
<RegExpr attribute="Comment" String="^#\s*END.*$" context="#stay" endRegion="marker"/>
<RegExpr attribute="Comment" String="^\s*#" context="Comment Line"/>
<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="Global Constant" String="\b[A-Z_0-9]+\b" context="#stay"/>
<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="Regular Expression" String="\%r\{" context="RegEx 2"/>
<RegExpr attribute="Regular Expression" String="\%r\<" context="RegEx 3"/>
<RegExpr attribute="Keyword" String="\%w\(" context="Wordlist 1"/>
<RegExpr attribute="Keyword" String="\%w\{" context="Wordlist 2"/>
<RegExpr attribute="Keyword" String="\%w\<" context="Wordlist 3"/>
<RegExpr attribute="Keyword" String="\%w\[" context="Wordlist 4"/>
<RegExpr attribute="Operator" String="::" context="Member Access"/>
</context>
<context name="Quoted String" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\"" 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="String" context="#pop"/>
</context>
<context name="Quoted String 1" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\|" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<DetectChar attribute="Keyword" char="|" context="#pop"/>
</context>
<context name="Quoted String 2" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\}" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<DetectChar attribute="Keyword" char="}" context="#pop"/>
</context>
<context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">
<!-- <HlCChar attribute="Char" context="#pop"/> -->
<RegExpr attribute="String" String="\\\'" context="#stay"/>
<DetectChar char="'" attribute="Raw String" context="#pop"/>
</context>
<context name="Apostrophed String 1" attribute="Raw String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\}" context="#stay"/>
<DetectChar char="}" attribute="Keyword" context="#pop"/>
</context>
<context name="Command String" attribute="Command" lineEndContext="#pop">
<RegExpr attribute="String" String="\\\`" 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="Command String 2" attribute="Command" lineEndContext="#pop">
<RegExpr attribute="String" String="\\\}" 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="Keyword" context="#pop"/>
</context>
<context name="Embedded documentation" attribute="Comment" lineEndContext="#stay">
<RegExpr attribute="Comment" String="^=end\s*" context="#pop" endRegion="comment block"/>
</context>
<context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
<RegExpr attribute="Regular Expression" String="\\\/" 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="RegEx 2" attribute="Regular Expression" lineEndContext="#stay">
<RegExpr attribute="Regular Expression" String="\\\}" 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="RegEx 3" attribute="Regular Expression" lineEndContext="#stay">
<RegExpr attribute="Regular Expression" String="\\\>" 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="Flexible Literal 1" attribute="String" lineEndContext="#pop">
<RegExpr attribute="String" String="\\\}" context="#stay"/>
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<RegExpr attribute="String" String="\}" context="#pop"/>
</context>
<context name="Wordlist 1" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\)" context="#stay"/>
<DetectChar attribute="Keyword" char=")" context="#pop"/>
</context>
<context name="Wordlist 2" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\}" context="#stay"/>
<DetectChar attribute="Keyword" char="}" context="#pop"/>
</context>
<context name="Wordlist 3" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\>" context="#stay"/>
<DetectChar attribute="Keyword" char=">" context="#pop"/>
</context>
<context name="Wordlist 4" attribute="String" lineEndContext="#stay">
<RegExpr attribute="String" String="\\\]" context="#stay"/>
<DetectChar attribute="Keyword" char="]" context="#pop"/>
</context>
<context name="Subst" attribute="Substitution" lineEndContext="#pop">
<DetectChar attribute="Substitution" char="}" context="#pop"/>
</context>
<context name="Short Subst" attribute="Substitution" lineEndContext="#pop">
<!-- Check for e.g.: "#@var#@@xy" -->
<RegExpr attribute="Substitution" String="#@{1,2}" context="#stay"/>
<RegExpr attribute="Substitution" String="[_a-zA-Z0-9](?=[^_a-zA-Z0-9])" context="#pop"/>
</context>
<context name="Member Access" attribute="Member" lineEndContext="#pop">
<RegExpr attribute="Constant" String="\b[A-Z]+_*[0-9]*[a-z][_a-zA-Z0-9]+\b" context="#pop"/>
<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*" context="#stay"/>
<AnyChar attribute="Operator" String="=+-*/%|&[]{}~" context="#pop"/>
<DetectChar attribute="Comment" char="#" context="#pop"/>
<AnyChar attribute="Normal Text" String="()\" context="#pop"/>
<RegExpr attribute="Member" String="[^_A-Z0-9]" context="#pop"/>
</context>
<context name="Comment Line" attribute="Comment" lineEndContext="#pop">
<RegExpr attribute="Comment" String="[_a-zA-Z0-9]\:\:\s" context="RDoc Label"/>
<keyword attribute="Dec" String="attention" context="#stay"/>
</context>
<context name="General Comment" attribute="Comment" lineEndContext="#pop">
<keyword attribute="Dec" String="attention" context="#stay"/>
</context>
<context name="RDoc Label" attribute="RDoc Value" lineEndContext="#pop"/>
<context name="Simple Here Doc" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<RegExpr attribute="Keyword" String="^[_A-Z][_A-Z0-9]*$" context="#pop"/>
</context>
<context name="Intend Here Doc" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
<RegExpr attribute="Keyword" String="\s*^[_A-Z][_A-Z0-9]*$" context="#pop"/>
</context>
<context name="DATA" attribute="Data" lineEndContext="#stay"/>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Attribute Definition" defStyleNum="dsOthers"/>
<itemData name="Access Control" defStyleNum="dsKeyword" color="#0000FF"/>
<itemData name="Definition" defStyleNum="dsKeyword"/>
<itemData name="Pseudo variable" defStyleNum="dsDecVal"/>
<itemData name="Dec" defStyleNum="dsDecVal"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Bin" defStyleNum="dsBaseN"/>
<itemData name="Symbol" defStyleNum="dsString" color="#D40000"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="Raw String" defStyleNum="dsString" color="#DD4A4A" selColor="#DD4A4A"/>
<itemData name="Command" defStyleNum="dsString" color="#AA3000"/>
<itemData name="Message" defStyleNum="dsNormal" color="#4000A7"/> <!-- #4A00C0 -->
<itemData name="Regular Expression" defStyleNum="dsOthers" color="#4A5704"/>
<itemData name="Substitution" defStyleNum="dsOthers"/>
<itemData name="Data" defStyleNum="dsNormal"/>
<itemData name="Default globals" defStyleNum="dsDataType" color="#C00000" bold="1"/>
<itemData name="Global Variable" defStyleNum="dsDataType" color="#C00000"/>
<itemData name="Global Constant" defStyleNum="dsDataType" color="#bb1188" bold="1"/>
<itemData name="Constant" defStyleNum="dsDataType"/>
<itemData name="Constant Value" defStyleNum="dsDataType" color="#bb1188"/>
<itemData name="Kernel methods" defStyleNum="dsNormal" color="#000080" selColor="#ffffff"/> <!-- #CC0E86 -->
<itemData name="Member" defStyleNum="dsNormal"/>
<itemData name="Instance Variable" defStyleNum="dsOthers"/>
<itemData name="Class Variable" defStyleNum="dsOthers"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Blockcomment" defStyleNum="dsComment"/>
<itemData name="Region Marker" defStyleNum="dsNormal" color="#0000ff"/>
<itemData name="RDoc Value" defStyleNum="dsOthers"/>
<itemData name="Delimiter" defStyleNum="dsChar"/>
<itemData name="Expression" defStyleNum="dsOthers"/>
<itemData name="Operator" defStyleNum="dsChar"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="#"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>
--Boundary-00=_cnZtBg+gxX5hyvZ--
--Boundary-00=_cnZtBg+gxX5hyvZ--