Added lexars
This commit is contained in:
parent
382b2ce94b
commit
f9f64b0558
820 changed files with 149371 additions and 0 deletions
lexers/embedded
128
lexers/embedded/r.xml
Normal file
128
lexers/embedded/r.xml
Normal file
|
@ -0,0 +1,128 @@
|
|||
<lexer>
|
||||
<config>
|
||||
<name>R</name>
|
||||
<alias>splus</alias>
|
||||
<alias>s</alias>
|
||||
<alias>r</alias>
|
||||
<filename>*.S</filename>
|
||||
<filename>*.R</filename>
|
||||
<filename>*.r</filename>
|
||||
<filename>.Rhistory</filename>
|
||||
<filename>.Rprofile</filename>
|
||||
<filename>.Renviron</filename>
|
||||
<mime_type>text/S-plus</mime_type>
|
||||
<mime_type>text/S</mime_type>
|
||||
<mime_type>text/x-r-source</mime_type>
|
||||
<mime_type>text/x-r</mime_type>
|
||||
<mime_type>text/x-R</mime_type>
|
||||
<mime_type>text/x-r-history</mime_type>
|
||||
<mime_type>text/x-r-profile</mime_type>
|
||||
<priority>0.1</priority> <!-- higher priority than Rebol -->
|
||||
</config>
|
||||
<rules>
|
||||
<state name="numbers">
|
||||
<rule pattern="0[xX][a-fA-F0-9]+([pP][0-9]+)?[Li]?">
|
||||
<token type="LiteralNumberHex"/>
|
||||
</rule>
|
||||
<rule pattern="[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([eE][+-]?[0-9]+)?[Li]?">
|
||||
<token type="LiteralNumber"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="operators">
|
||||
<rule pattern="<<?-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|\?">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule>
|
||||
<include state="keywords"/>
|
||||
</rule>
|
||||
<rule pattern="((?:`[^`\\]*(?:\\.[^`\\]*)*`)|(?:(?:[a-zA-z]|[_.][^0-9])[\w_.]*))\s*(?=\()">
|
||||
<token type="NameFunction"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="statements"/>
|
||||
</rule>
|
||||
<rule pattern="\{|\}">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern=".">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="valid_name">
|
||||
<rule pattern="(?:`[^`\\]*(?:\\.[^`\\]*)*`)|(?:(?:[a-zA-z]|[_.][^0-9])[\w_.]*)">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="keywords">
|
||||
<rule pattern="(if|else|for|while|repeat|in|next|break|return|switch|function)(?![\w.])">
|
||||
<token type="KeywordReserved"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="builtin_symbols">
|
||||
<rule pattern="(NULL|NA(_(integer|real|complex|character)_)?|letters|LETTERS|Inf|TRUE|FALSE|NaN|pi|\.\.(\.|[0-9]+))(?![\w.])">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(T|F)\b">
|
||||
<token type="NameBuiltinPseudo"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="string_squote">
|
||||
<rule pattern="([^\'\\]|\\.)*\'">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="comments">
|
||||
<rule pattern="#.*$">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="punctuation">
|
||||
<rule pattern="\[{1,2}|\]{1,2}|\(|\)|;|,">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="statements">
|
||||
<rule>
|
||||
<include state="comments"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\'">
|
||||
<token type="LiteralString"/>
|
||||
<push state="string_squote"/>
|
||||
</rule>
|
||||
<rule pattern="\"">
|
||||
<token type="LiteralString"/>
|
||||
<push state="string_dquote"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="builtin_symbols"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="valid_name"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="numbers"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="punctuation"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="operators"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="string_dquote">
|
||||
<rule pattern="([^"\\]|\\.)*"">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
Loading…
Add table
Add a link
Reference in a new issue