Warning, /frameworks/syntax-highlighting/data/syntax/r.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!-- Kate 2.5 (KDE 3.5) highlighting module for R
0004         based on an earlier version by E.L. Willighagen. Code folding code by Ben Goodrich
0005         version 2.0: (c) 2006 Thomas Friedrichsmeier, Arne Henningsen, and the RKWard Team
0006         license: GPL v2
0007         Kate   : http://kate.kde.org/
0008         R      : http://www.r-project.org/
0009         RKWard : http://rkward.kde.org/
0010         -->
0011 <language version="13" kateversion="5.0" name="R Script" section="Scientific" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPLv2">
0012 <highlighting>
0013 
0014         <list name="controls">
0015                 <item>for</item>
0016                 <item>in</item>
0017                 <item>next</item>
0018                 <item>break</item>
0019                 <item>while</item>
0020                 <item>repeat</item>
0021                 <item>if</item>
0022                 <item>else</item>
0023                 <item>switch</item>
0024                 <item>function</item>
0025         </list>
0026         <list name="words">
0027                 <item>TRUE</item>
0028                 <item>FALSE</item>
0029                 <item>NULL</item>
0030                 <item>NA</item>
0031                 <item>NA_integer_</item>
0032                 <item>NA_real_</item>
0033                 <item>NA_complex_</item>
0034                 <item>NA_character_</item>
0035                 <item>Inf</item>
0036                 <item>NaN</item>
0037         </list>
0038 
0039         <contexts>
0040                 <!-- This context is really only good for detecting unexpected closing braces '}'. Since opening braces go to ctx0 (and nesting in there), this context is only active on the base level -->
0041                 <context attribute="Normal Text" lineEndContext="#stay" name="level0">
0042                         <IncludeRules context="CommonRules"/>
0043 
0044                         <AnyChar attribute="Error" context="#stay" String="})"/>
0045                 </context>
0046 
0047                 <context attribute="Normal Text" lineEndContext="#stay" name="ctx0">
0048                         <IncludeRules context="CommonRules"/>
0049 
0050                         <DetectChar attribute="Symbol" context="#pop" char="}" endRegion="Brace1" />
0051                         <DetectChar attribute="Error" context="#stay" char=")"/>
0052                 </context>
0053 
0054                 <context attribute="Normal Text" lineEndContext="#stay" name="parenthesis">
0055                         <LineContinue attribute="Operator" context="#stay"/>
0056                         <DetectChar attribute="Symbol" context="#pop" char=")"/>
0057 
0058                         <RegExpr attribute="Identifier" context="#stay" String="[a-zA-Z_\.][0-9a-zA-Z_\.]*[\s]*[:]?=(?=[^=]|$)"/>
0059 
0060                         <IncludeRules context="CommonRules"/>
0061                         <DetectChar attribute="Error" context="#stay" char="}" />
0062                 </context>
0063 
0064                 <context attribute="String" lineEndContext="#stay" name="string">
0065                         <DetectChar attribute="String" context="#pop" char="&quot;"/>
0066                         <HlCStringChar attribute="String Char" context="#stay"/>
0067                 </context>
0068 
0069                 <context attribute="String" lineEndContext="#stay" name="string2">
0070                         <DetectChar attribute="String" context="#pop" char="'"/>
0071                         <HlCStringChar attribute="String Char" context="#stay"/>
0072                 </context>
0073 
0074                 <context attribute="Identifier" lineEndContext="#stay" name="backquotedsymbol">
0075                         <DetectChar attribute="String" context="#pop" char="`"/>
0076                         <HlCStringChar attribute="String Char" context="#stay"/>
0077                 </context>
0078 
0079                 <context attribute="Normal Text" lineEndContext="#stay" name="operator_rhs" fallthrough="true" fallthroughContext="#pop">
0080                         <!-- While there is nothing of interest, stay in the context -->
0081                         <DetectSpaces />
0082                         <IncludeRules context="FindComments"/>
0083                         <!-- Operators other than +, -, and ! directly after another operator are an error. -->
0084                         <Detect2Chars attribute="Error" context="#stay" char="!" char1="="/>
0085                         <AnyChar attribute="Error" context="#stay" String="*/&lt;&gt;=|&amp;:^@$~"/>
0086                 </context>
0087 
0088                 <context attribute="Normal Text" lineEndContext="#stay" name="FindComments">
0089                         <Detect2Chars attribute="Headline" context="Headline" char="#" char1="#"/>
0090                         <DetectChar attribute="Comment" context="Comment" char="#"/>
0091                 </context>
0092                 <context attribute="Headline" lineEndContext="#pop" name="Headline">
0093                         <DetectSpaces />
0094                         <IncludeRules context="##Comments" />
0095                 </context>
0096                 <context attribute="Comment" lineEndContext="#pop" name="Comment">
0097                         <DetectSpaces />
0098                         <IncludeRules context="##Comments" />
0099                 </context>
0100 
0101                 <!-- This context is not really used, but contains the common rules -->
0102                 <context name="CommonRules" lineEndContext="#stay" attribute="Normal Text" >
0103                         <DetectSpaces />
0104                         <IncludeRules context="FindComments"/>
0105                         <DetectChar attribute="String" context="string" char="&quot;"/>
0106                         <DetectChar attribute="String" context="string2" char="'"/>
0107                         <DetectChar attribute="String" context="backquotedsymbol" char="`"/>
0108                         <keyword attribute="Control Structure" context="#stay" String="controls"/>
0109                         <keyword attribute="Reserved Words" context="#stay" String="words"/>
0110                         <Float attribute="Float" context="#stay"/>
0111                         <Int attribute="Int" context="#stay"/>
0112                         <RegExpr attribute="Keyword" context="#stay" String="[a-zA-Z_]+[a-zA-Z_\.0-9]*(?=[\s]*[(])|\.[a-zA-Z_\.]+[a-zA-Z_\.0-9]*(?=[\s]*[(])"/>
0113                         <DetectChar attribute="Symbol" context="parenthesis" char="("/>
0114 
0115                         <!-- For (assignment) operators, enter a new context operator_rhs to check what follows (generally, that should not be another op) -->
0116                         <StringDetect attribute="Assign" context="operator_rhs" String="&lt;&lt;-"/>
0117                         <Detect2Chars attribute="Assign" context="operator_rhs" char="&lt;" char1="-"/>
0118                         <StringDetect attribute="Assign" context="operator_rhs" String="-&gt;&gt;"/>
0119                         <Detect2Chars attribute="Assign" context="operator_rhs" char="-" char1="&gt;"/>
0120                         <RegExpr attribute="Assign" context="operator_rhs" String="=(?!(=|&gt;))"/>
0121                         <Detect2Chars attribute="Operator" context="operator_rhs" char="*" char1="*"/>
0122                         <Detect2Chars attribute="Operator" context="operator_rhs" char="&lt;" char1="="/>
0123                         <Detect2Chars attribute="Operator" context="operator_rhs" char="&gt;" char1="="/>
0124                         <Detect2Chars attribute="Operator" context="operator_rhs" char="=" char1="="/>
0125                         <Detect2Chars attribute="Operator" context="operator_rhs" char="=" char1="&gt;"/>
0126                         <Detect2Chars attribute="Operator" context="operator_rhs" char="!" char1="="/>
0127                         <Detect2Chars attribute="Operator" context="operator_rhs" char="|" char1="&gt;"/>
0128                         <Detect2Chars attribute="Operator" context="operator_rhs" char="|" char1="|"/>
0129                         <Detect2Chars attribute="Operator" context="operator_rhs" char="&amp;" char1="&amp;"/>
0130                         <StringDetect attribute="Operator" context="operator_rhs" String=":::"/>
0131                         <Detect2Chars attribute="Operator" context="operator_rhs" char=":" char1=":"/>
0132                         <Detect2Chars attribute="Operator" context="operator_rhs" char=":" char1="="/>
0133                         <AnyChar attribute="Operator" context="operator_rhs" String="+-*/&lt;&gt;=!|&amp;:^@$~"/>
0134                         <RangeDetect attribute="Operator" context="operator_rhs" char="%" char1="%"/>
0135 
0136                         <DetectChar attribute="Symbol" context="ctx0" char="{" beginRegion="Brace1" />
0137 
0138                         <!-- This is needed only to assist variable based indentation -->
0139                         <AnyChar attribute="Symbol" context="#stay" String="[]" />
0140                 </context>
0141         </contexts>
0142 
0143         <itemDatas>
0144                 <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
0145                 <itemData name="Symbol" defStyleNum="dsNormal" spellChecking="false"/>
0146                 <itemData name="Keyword" defStyleNum="dsFunction" spellChecking="false"/>
0147                 <itemData name="Identifier" defStyleNum="dsAttribute" spellChecking="false"/>
0148                 <itemData name="String" defStyleNum="dsString"/>
0149                 <itemData name="Headline" defStyleNum="dsDocumentation" bold="1"/>
0150                 <itemData name="Comment" defStyleNum="dsComment"/>
0151                 <itemData name="Assign" defStyleNum="dsOthers" bold="1" italic="0" spellChecking="false"/>
0152                 <itemData name="Control Structure" defStyleNum="dsControlFlow" spellChecking="false"/>
0153                 <itemData name="Reserved Words" defStyleNum="dsConstant" spellChecking="false"/>
0154                 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
0155                 <itemData name="Operator" defStyleNum="dsSpecialChar" spellChecking="false"/>
0156                 <itemData name="String Char"  defStyleNum="dsSpecialChar" spellChecking="false"/>
0157                 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
0158                 <itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>
0159         </itemDatas>
0160 </highlighting>
0161 
0162 <general>
0163         <comments>
0164                 <comment name="singleLine" start="#"/>
0165         </comments>
0166         <keywords casesensitive="true" weakDeliminator="." additionalDeliminator="$"/>
0167 </general>
0168 </language>
0169 <!-- kate: replace-tabs off; -->