--Boundary-00
nZtBg+gxX5hyvZ Content-Type: Multipart/Mixed; boundary oundary-00
nZtBg+gxX5hyvZ" --Boundary-00
nZtBg+gxX5hyvZ Content-Type: text/plain; charsetso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Am Dienstag, 7. Dezember 2004 01:52 schrieb David Ross: > CT wrote: > >http://developers.slashdot.org/developers/04/12/06/1158251.shtml?tid6&t > >id"RAD in Ruby" > > > >I didn't know KDevelop had Ruby support. > > > >Cheers! > >CT > > 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
nZtBg+gxX5hyvZ Content-Type: text/xml; charsetso-8859-1"; nameuby.xml" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filenameuby.xml" <?xml version.0" encodingTF-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 (langstefan / gmx.at) 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 nameuby" version.10" kateversion.2" sectioncripts" extensions.rb" mimetype pplication/x-ruby" authortefan Lang &lt;langstefan / gmx.at&gt;" licenseGPL"> <highlighting> <list nameeywords"> <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 ccess-control"> <item> private_class_method </item> <item> private </item> <item> protected </item> <item> public_class_method </item> <item> public </item> </list> <list name ttribute-definitions"> <item> attr_reader </item> <item> attr_writer </item> <item> attr_accessor </item> </list> <list name efinitions"> <item> alias </item> <item> module </item> <item> class </item> <item> def </item> <item> undef </item> </list> <list nameseudo-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 efault-globals"> <item> $stdout </item> <item> $defout </item> <item> $stderr </item> <item> $deferr </item> <item> $stdin </item> </list> <!-- Kernel module methods. --> <list nameernel-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 ttention"> <item> TODO </item> <item> FIXME </item> <item> NOTE </item> </list> <contexts> <context nameormal" attributeormal Text" lineEndContextstay"> <!-- __END__ token on own line. --> <RegExpr attributeeyword" String__END__$" context ATA"/> <!-- "shebang" line --> <RegExpr attributeeyword" String#!\/.*" contextstay"/> <!-- "def" - "end" blocks --> <!-- check for statement modifiers with regexes --> <RegExpr attributeeyword" String\(|\[|\{)\s*(if|unless|while|until)\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" String\s*(while|until)\b(?!.*\bdo\b)" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" String;\s*(while|until)\b(?!.*\bdo\b)" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" String\s*(if|unless)\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" String;\s*(if|unless)\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbclass\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbmodule\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbbegin\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbfor\b(?!.*\bdo\b)" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbcase\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbdo\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbdef\b" contextstay" beginRegion ef block"/> <RegExpr attributeeyword" Stringbend\b" contextstay" endRegion ef block"/> <StringDetect attributeperator" String.." contextstay"/> <Detect2Chars attributeperator" char" char1" contextstay"/> <!-- marks a message (being sent, not defined) --> <RegExpr attributeessage" String.[_a-z][_a-zA-Z0-9]*\b" contextstay"/> <keyword attributeeyword" Stringeywords" contextstay"/> <RegExpr attributeeyword" Stringbdefined\?" contextstay"/> <keyword attribute ttribute Definition" String ttribute-definitions" contextstay"/> <keyword attribute ccess Control" String ccess-control" contextstay"/> <keyword attribute efinition" String efinitions" contextstay" /> <keyword attributeseudo variable" Stringseudo-variables" contextstay"/> <keyword attribute efault globals" String efault-globals" contextstay"/> <keyword attributeernel methods" Stringernel-methods" contextstay"/> <RegExpr attributeernel methods" Stringbautoload\?" contextstay"/> <RegExpr attributeernel methods" Stringbblock_given\?" contextstay"/> <RegExpr attributeernel methods" Stringbiterator\?" contextstay"/> <!-- (global) vars starting with $ Match them before $_. --> <RegExpr attributelobal Variable" String$[a-zA-Z_0-9]+" contextstay"/> <!-- special-character globals --> <RegExpr attribute efault globals" String$[\d_*`\!:?'/\\\-\&amp;]" contextstay"/> <!-- Generally a module or class name like "File", "MyModule_1", .. --> <RegExpr attribute
onstant" Stringb[A-Z]+_*[0-9]*[a-z][_a-zA-Z0-9]*\b" contextstay"/> <RegExpr attributeex" Stringb\-?0[xX][_0-9a-fA-F]+" contextstay"/> <RegExpr attribute in" Stringb\-?0[bB][_01]+" contextstay"/> <RegExpr attributectal" Stringb\-?0[1-7][_0-7]*" contextstay"/> <RegExpr attributeloat" Stringb\-?[0-9][0-9_]*\.[0-9][0-9_]*([eE]\-?[1-9][0-9]*(\.[0-9]*)?)?" contextstay"/> <RegExpr attribute ec" Stringb\-?[1-9][0-9_]*\b" contextstay"/> <Int attribute ec" contextstay"/> <HlCChar attribute
har" contextstay"/> <!-- Check for in before assignment operator. --> <RegExpr attribute lockcomment" Stringセgin\s*.*$" context 「 メ
「ッセ シ。ュュ ネナメナ コ ョ ヤ ョ テ ネナメナ シシ ョ ュュセ シメナ 「 モヲサヲサロ゜チュレンロ゜チュレーュケンェワェワゥソワェ、「 ネ ト「ッセ シメナ 「 モヲサヲサワュロ゜チュレンロ゜チュレーュケンェワェワゥソワェ、「 ネ ト「ッセ シトテ 「 「 「ッセ シモト 「 モサヲサ「 「 ALSE"/> <StringDetect attributeperator" String|" contextstay" insensitiveALSE"/> <RegExpr attributeperator" Strings\?\s" contextstay"/> <RegExpr attributeperator" Strings\:\s" contextstay"/> <RegExpr attributeperator" String|&amp;&lt;&gt;\^\+*~\-" contextstay"/> <!-- regexp hack --> <RegExpr attributeperator" Strings[\%/]\s" contextstay"/> <RegExpr attributeperator" Strings!" contextstay"/> <StringDetect attributeperator" Stringcontextstay" insensitive"/> <StringDetect attributeperator" Stringcontextstay" insensitive"/> <RegExpr attributeymbol" String[a-zA-Z_][a-zA-Z0-9_]*" contextstay"/> <DetectChar attributetring" charquot;" contextuoted String"/> <RegExpr attributeeyword" String\|" contextuoted String 1"/> <RegExpr attributeeyword" String\{" contextuoted String 2"/> <RegExpr attributeeyword" String%Q\{" contextuoted String 2"/> <DetectChar attributeaw String" char" context postrophed String"/> <RegExpr attributeeyword" String%q\{" context postrophed String 1"/> <DetectChar attribute
ommand" char" context
ommand String"/> <RegExpr attributeeyword" String%x\{" context
ommand String 2"/> <StringDetect attributeormal Text" String#" contextstay"/> <RegExpr attribute
omment" String#\s*BEGIN.*$" contextstay" beginRegionarker"/> <RegExpr attribute
omment" String#\s*END.*$" contextstay" endRegionarker"/> <RegExpr attribute
omment" String\s*#" context
omment Line"/> <RegExpr attribute
omment" Strings#" contexteneral Comment"/> <RegExpr attribute elimiter" String\[\]]+" contextstay"/> <DetectChar attribute elimiter" char" contextstay" beginRegion ef block"/> <DetectChar attribute elimiter" char" contextstay" endRegion ef block"/> <RegExpr attributelobal Constant" Stringb[A-Z_0-9]+\b" contextstay"/> <RegExpr attributenstance Variable" String[a-zA-Z_0-9]+" contextstay"/> <RegExpr attribute
lass Variable" String@[a-zA-Z_0-9]+" contextstay"/> <DetectChar attributeegular Expression" char" contextegEx 1"/> <RegExpr attributeegular Expression" String%r\{" contextegEx 2"/> <RegExpr attributeegular Expression" String%r\&lt;" contextegEx 3"/> <RegExpr attributeeyword" String%w\(" contextordlist 1"/> <RegExpr attributeeyword" String%w\{" contextordlist 2"/> <RegExpr attributeeyword" String%w\&lt;" contextordlist 3"/> <RegExpr attributeeyword" String%w\[" contextordlist 4"/> <RegExpr attributeperator" String:" contextember Access"/> </context> <context nameuoted String" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\&quot;" contextstay"/> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <!--HlCChar attribute
har" contextpop"/--> <DetectChar charquot;" attributetring" contextpop"/> </context> <context nameuoted String 1" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\|" contextstay"/> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <DetectChar attributeeyword" char" contextpop"/> </context> <context nameuoted String 2" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\}" contextstay"/> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <DetectChar attributeeyword" char" contextpop"/> </context> <context name postrophed String" attributeaw String" lineEndContextstay"> <!-- <HlCChar attribute
har" contextpop"/> --> <RegExpr attributetring" String\\'" contextstay"/> <DetectChar char" attributeaw String" contextpop"/> </context> <context name postrophed String 1" attributeaw String" lineEndContextstay"> <RegExpr attributetring" String\\}" contextstay"/> <DetectChar char" attributeeyword" contextpop"/> </context> <context name
ommand String" attribute
ommand" lineEndContextpop"> <RegExpr attributetring" String\\`" contextstay"/> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <HlCChar attribute
har" contextpop"/> <DetectChar char" attribute
ommand" contextpop"/> </context> <context name
ommand String 2" attribute
ommand" lineEndContextpop"> <RegExpr attributetring" String\\}" contextstay"/> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <HlCChar attribute
har" contextpop"/> <DetectChar char" attributeeyword" contextpop"/> </context> <context name 「
「 ナテ「セ シメナ
「 モ濺ワェ「 「 メ
「ッセ シッセ シ ナ ア「 ナ「 ナテ「セ シメナ ナ「 モワワッ「 「ッセ シメナ ナ「 モ゛ワワン、「 「ッセ シメナ 「 モタアャイ「 モ「ッセ シトイテ 「 「 ア「 「ッセ シメナ ナ「 モロンェ「 「ッセ シッセ シ ナ イ「 ナ「 ナテ「セ シメナ ナ「 モワワ「 「ッセ シメナ ナ「 モ゛ワワン、「 「ッセ シメナ 「 モタアャイ「 モ「ッセ シトイテ 「 「 ア「 「ッセ シメナ ナ「 モロンェ「 「ッセ シッセ シ ナ ウ「 ナ「 ナテ「セ シメナ ナ「 モワワヲサ「 「ッセ シメナ ナ「 モ゛ワワン、「 「ッセ シメナ 「 モタアャイ「 モ「ッセ シトイテ 「 「 ア「 「ッセ シメナ ナ「 モヲサロンェ「 「ッセ シッセ シ lexible Literal 1" attributetring" lineEndContextpop"> <RegExpr attributetring" String\\}" contextstay"/> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <RegExpr attributetring" String}" contextpop"/> </context> <context nameordlist 1" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\)" contextstay"/> <DetectChar attributeeyword" char" contextpop"/> </context> <context nameordlist 2" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\}" contextstay"/> <DetectChar attributeeyword" char" contextpop"/> </context> <context nameordlist 3" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\&gt;" contextstay"/> <DetectChar attributeeyword" chargt;" contextpop"/> </context> <context nameordlist 4" attributetring" lineEndContextstay"> <RegExpr attributetring" String\\]" contextstay"/> <DetectChar attributeeyword" char" contextpop"/> </context> <context nameubst" attributeubstitution" lineEndContextpop"> <DetectChar attributeubstitution" char" contextpop"/> </context> <context namehort Subst" attributeubstitution" lineEndContextpop"> <!-- Check for e.g.: "#@var#@@xy" --> <RegExpr attributeubstitution" String@{1,2}" contextstay"/> <RegExpr attributeubstitution" String_a-zA-Z0-9](?_a-zA-Z0-9])" contextpop"/> </context> <context nameember Access" attributeember" lineEndContextpop"> <RegExpr attribute
onstant" Stringb[A-Z]+_*[0-9]*[a-z][_a-zA-Z0-9]+\b" contextpop"/> <RegExpr attribute
onstant Value" String_A-Z][_A-Z0-9]*" contextstay"/> <AnyChar attributeperator" String+-*/%|&amp;[]{}~" contextpop"/> <DetectChar attribute
omment" char" contextpop"/> <AnyChar attributeormal Text" String)\" contextpop"/> <RegExpr attributeember" String^_A-Z0-9]" contextpop"/> </context> <context name
omment Line" attribute
omment" lineEndContextpop"> <RegExpr attribute
omment" String_a-zA-Z0-9]\:\:\s" contextDoc Label"/> <keyword attribute ec" String ttention" contextstay"/> </context> <context nameeneral Comment" attribute
omment" lineEndContextpop"> <keyword attribute ec" String ttention" contextstay"/> </context> <context nameDoc Label" attributeDoc Value" lineEndContextpop"/> <context nameimple Here Doc" attributeormal Text" lineEndContextstay"> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <RegExpr attributeeyword" String[_A-Z][_A-Z0-9]*$" contextpop"/> </context> <context namentend Here Doc" attributeormal Text" lineEndContextstay"> <RegExpr attributeubstitution" String@{1,2}" contexthort Subst"/> <Detect2Chars attributeubstitution" char" char1" contextubst"/> <RegExpr attributeeyword" Strings*^[_A-Z][_A-Z0-9]*$" contextpop"/> </context> <context name ATA" attribute ata" lineEndContextstay"/> </contexts> <itemDatas> <itemData nameormal Text" defStyleNum sNormal"/> <itemData nameeyword" defStyleNum sKeyword"/> <itemData name ttribute Definition" defStyleNum sOthers"/> <itemData name ccess Control" defStyleNum sKeyword" color0000FF"/> <itemData name efinition" defStyleNum sKeyword"/> <itemData nameseudo variable" defStyleNum sDecVal"/> <itemData name ec" defStyleNum sDecVal"/> <itemData nameloat" defStyleNum sFloat"/> <itemData name
har" defStyleNum sChar"/> <itemData namectal" defStyleNum sBaseN"/> <itemData nameex" defStyleNum sBaseN"/> <itemData name in" defStyleNum sBaseN"/> <itemData nameymbol" defStyleNum sString" colorD40000"/> <itemData nametring" defStyleNum sString"/> <itemData nameaw String" defStyleNum sString" colorDD4A4A" selColorDD4A4A"/> <itemData name
ommand" defStyleNum sString" colorAA3000"/> <itemData nameessage" defStyleNum sNormal" color4000A7"/> <!-- #4A00C0 --> <itemData nameegular Expression" defStyleNum sOthers" color4A5704"/> <itemData nameubstitution" defStyleNum sOthers"/> <itemData name ata" defStyleNum sNormal"/> <itemData name efault globals" defStyleNum sDataType" colorC00000" bold"/> <itemData namelobal Variable" defStyleNum sDataType" colorC00000"/> <itemData namelobal Constant" defStyleNum sDataType" colorbb1188" bold"/> <itemData name
onstant" defStyleNum sDataType"/> <itemData name
onstant Value" defStyleNum sDataType" colorbb1188"/> <itemData nameernel methods" defStyleNum sNormal" color000080" selColorffffff"/> <!-- #CC0E86 --> <itemData nameember" defStyleNum sNormal"/> <itemData namenstance Variable" defStyleNum sOthers"/> <itemData name
lass Variable" defStyleNum sOthers"/> <itemData name
omment" defStyleNum sComment"/> <itemData name lockcomment" defStyleNum sComment"/> <itemData nameegion Marker" defStyleNum sNormal" color0000ff"/> <itemData nameDoc Value" defStyleNum sOthers"/> <itemData name elimiter" defStyleNum sChar"/> <itemData name「 モホ マ「ッセ シト 「 モホ テ「ッセ シットセ シッセ シセ シセ シ フ「 「ッセ シッセ シ 「ッセ シッセ シッセ ュュツューー
レツォリオレュュ ュュツューー
レツォリオレュュ