1<lexer>
 2  <config>
 3    <name>VimL</name>
 4    <alias>vim</alias>
 5    <filename>*.vim</filename>
 6    <filename>.vimrc</filename>
 7    <filename>.exrc</filename>
 8    <filename>.gvimrc</filename>
 9    <filename>_vimrc</filename>
10    <filename>_exrc</filename>
11    <filename>_gvimrc</filename>
12    <filename>vimrc</filename>
13    <filename>gvimrc</filename>
14    <mime_type>text/x-vim</mime_type>
15  </config>
16  <rules>
17    <state name="root">
18      <rule pattern="^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)">
19        <bygroups>
20          <usingself state="root"/>
21          <token type="Keyword"/>
22          <token type="Text"/>
23          <token type="Operator"/>
24          <token type="Text"/>
25          <token type="Text"/>
26          <using lexer="Python"/>
27          <token type="Text"/>
28        </bygroups>
29      </rule>
30      <rule pattern="^([ \t:]*)(py(?:t(?:h(?:o(?:n)?)?)?)?)([ \t])(.*)">
31        <bygroups>
32          <usingself state="root"/>
33          <token type="Keyword"/>
34          <token type="Text"/>
35          <using lexer="Python"/>
36        </bygroups>
37      </rule>
38      <rule pattern="^\s*".*">
39        <token type="Comment"/>
40      </rule>
41      <rule pattern="[ \t]+">
42        <token type="Text"/>
43      </rule>
44      <rule pattern="/(\\\\|\\/|[^\n/])*/">
45        <token type="LiteralStringRegex"/>
46      </rule>
47      <rule pattern=""(\\\\|\\"|[^\n"])*"">
48        <token type="LiteralStringDouble"/>
49      </rule>
50      <rule pattern="'(''|[^\n'])*'">
51        <token type="LiteralStringSingle"/>
52      </rule>
53      <rule pattern="(?<=\s)"[^\-:.%#=*].*">
54        <token type="Comment"/>
55      </rule>
56      <rule pattern="-?\d+">
57        <token type="LiteralNumber"/>
58      </rule>
59      <rule pattern="#[0-9a-f]{6}">
60        <token type="LiteralNumberHex"/>
61      </rule>
62      <rule pattern="^:">
63        <token type="Punctuation"/>
64      </rule>
65      <rule pattern="[()<>+=!|,~-]">
66        <token type="Punctuation"/>
67      </rule>
68      <rule pattern="\b(let|if|else|endif|elseif|fun|function|endfunction|set|map|autocmd|filetype|hi(ghlight)?|execute|syntax|colorscheme)\b">
69        <token type="Keyword"/>
70      </rule>
71      <rule pattern="\b(NONE|bold|italic|underline|dark|light)\b">
72        <token type="NameBuiltin"/>
73      </rule>
74      <rule pattern="\b\w+\b">
75        <token type="NameOther"/>
76      </rule>
77      <rule pattern="\n">
78        <token type="Text"/>
79      </rule>
80      <rule pattern=".">
81        <token type="Text"/>
82      </rule>
83    </state>
84  </rules>
85</lexer>