Added lexars
This commit is contained in:
parent
382b2ce94b
commit
f9f64b0558
820 changed files with 149371 additions and 0 deletions
lexers/embedded
120
lexers/embedded/mako.xml
Normal file
120
lexers/embedded/mako.xml
Normal file
|
@ -0,0 +1,120 @@
|
|||
<lexer>
|
||||
<config>
|
||||
<name>Mako</name>
|
||||
<alias>mako</alias>
|
||||
<filename>*.mao</filename>
|
||||
<mime_type>application/x-mako</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="(\s*)(%)(\s*end(?:\w+))(\n|\Z)">
|
||||
<bygroups>
|
||||
<token type="Text"/>
|
||||
<token type="CommentPreproc"/>
|
||||
<token type="Keyword"/>
|
||||
<token type="Other"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\s*)(%)([^\n]*)(\n|\Z)">
|
||||
<bygroups>
|
||||
<token type="Text"/>
|
||||
<token type="CommentPreproc"/>
|
||||
<using lexer="Python"/>
|
||||
<token type="Other"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\s*)(##[^\n]*)(\n|\Z)">
|
||||
<bygroups>
|
||||
<token type="Text"/>
|
||||
<token type="CommentPreproc"/>
|
||||
<token type="Other"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(?s)<%doc>.*?</%doc>">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="(<%)([\w.:]+)">
|
||||
<bygroups>
|
||||
<token type="CommentPreproc"/>
|
||||
<token type="NameBuiltin"/>
|
||||
</bygroups>
|
||||
<push state="tag"/>
|
||||
</rule>
|
||||
<rule pattern="(</%)([\w.:]+)(>)">
|
||||
<bygroups>
|
||||
<token type="CommentPreproc"/>
|
||||
<token type="NameBuiltin"/>
|
||||
<token type="CommentPreproc"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="<%(?=([\w.:]+))">
|
||||
<token type="CommentPreproc"/>
|
||||
<push state="ondeftags"/>
|
||||
</rule>
|
||||
<rule pattern="(<%(?:!?))(.*?)(%>)(?s)">
|
||||
<bygroups>
|
||||
<token type="CommentPreproc"/>
|
||||
<using lexer="Python"/>
|
||||
<token type="CommentPreproc"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(\$\{)(.*?)(\})">
|
||||
<bygroups>
|
||||
<token type="CommentPreproc"/>
|
||||
<using lexer="Python"/>
|
||||
<token type="CommentPreproc"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(?sx)
 (.+?) # anything, followed by:
 (?:
 (?<=\n)(?=%|\#\#) | # an eval or comment line
 (?=\#\*) | # multiline comment
 (?=</?%) | # a python block
 # call start or end
 (?=\$\{) | # a substitution
 (?<=\n)(?=\s*%) |
 # - don't consume
 (\\\n) | # an escaped newline
 \Z # end of string
 )
 ">
|
||||
<bygroups>
|
||||
<token type="Other"/>
|
||||
<token type="Operator"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="ondeftags">
|
||||
<rule pattern="<%">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="(?<=<%)(include|inherit|namespace|page)">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="tag"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="tag">
|
||||
<rule pattern="((?:\w+)\s*=)(\s*)(".*?")">
|
||||
<bygroups>
|
||||
<token type="NameAttribute"/>
|
||||
<token type="Text"/>
|
||||
<token type="LiteralString"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="/?\s*>">
|
||||
<token type="CommentPreproc"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="attr">
|
||||
<rule pattern="".*?"">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="'.*?'">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[^\s>]+">
|
||||
<token type="LiteralString"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
Loading…
Add table
Add a link
Reference in a new issue