85 lines
2.5 KiB
XML
85 lines
2.5 KiB
XML
<lexer>
|
|
<config>
|
|
<name>VimL</name>
|
|
<alias>vim</alias>
|
|
<filename>*.vim</filename>
|
|
<filename>.vimrc</filename>
|
|
<filename>.exrc</filename>
|
|
<filename>.gvimrc</filename>
|
|
<filename>_vimrc</filename>
|
|
<filename>_exrc</filename>
|
|
<filename>_gvimrc</filename>
|
|
<filename>vimrc</filename>
|
|
<filename>gvimrc</filename>
|
|
<mime_type>text/x-vim</mime_type>
|
|
</config>
|
|
<rules>
|
|
<state name="root">
|
|
<rule pattern="^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)">
|
|
<bygroups>
|
|
<usingself state="root"/>
|
|
<token type="Keyword"/>
|
|
<token type="Text"/>
|
|
<token type="Operator"/>
|
|
<token type="Text"/>
|
|
<token type="Text"/>
|
|
<using lexer="Python"/>
|
|
<token type="Text"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t])(.*)">
|
|
<bygroups>
|
|
<usingself state="root"/>
|
|
<token type="Keyword"/>
|
|
<token type="Text"/>
|
|
<using lexer="Python"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="^\s*".*">
|
|
<token type="Comment"/>
|
|
</rule>
|
|
<rule pattern="[ \t]+">
|
|
<token type="Text"/>
|
|
</rule>
|
|
<rule pattern="/(\\\\|\\/|[^\n/])*/">
|
|
<token type="LiteralStringRegex"/>
|
|
</rule>
|
|
<rule pattern=""(\\\\|\\"|[^\n"])*"">
|
|
<token type="LiteralStringDouble"/>
|
|
</rule>
|
|
<rule pattern="'(''|[^\n'])*'">
|
|
<token type="LiteralStringSingle"/>
|
|
</rule>
|
|
<rule pattern="(?<=\s)"[^\-:.%#=*].*">
|
|
<token type="Comment"/>
|
|
</rule>
|
|
<rule pattern="-?\d+">
|
|
<token type="LiteralNumber"/>
|
|
</rule>
|
|
<rule pattern="#[0-9a-f]{6}">
|
|
<token type="LiteralNumberHex"/>
|
|
</rule>
|
|
<rule pattern="^:">
|
|
<token type="Punctuation"/>
|
|
</rule>
|
|
<rule pattern="[()<>+=!|,~-]">
|
|
<token type="Punctuation"/>
|
|
</rule>
|
|
<rule pattern="\b(let|if|else|endif|elseif|fun|function|endfunction|set|map|autocmd|filetype|hi(ghlight)?|execute|syntax|colorscheme)\b">
|
|
<token type="Keyword"/>
|
|
</rule>
|
|
<rule pattern="\b(NONE|bold|italic|underline|dark|light)\b">
|
|
<token type="NameBuiltin"/>
|
|
</rule>
|
|
<rule pattern="\b\w+\b">
|
|
<token type="NameOther"/>
|
|
</rule>
|
|
<rule pattern="\n">
|
|
<token type="Text"/>
|
|
</rule>
|
|
<rule pattern=".">
|
|
<token type="Text"/>
|
|
</rule>
|
|
</state>
|
|
</rules>
|
|
</lexer> |