1<lexer>
 2  <config>
 3    <name>INI</name>
 4    <alias>ini</alias>
 5    <alias>cfg</alias>
 6    <alias>dosini</alias>
 7    <filename>*.ini</filename>
 8    <filename>*.cfg</filename>
 9    <filename>*.inf</filename>
10    <filename>.gitconfig</filename>
11    <filename>.editorconfig</filename>
12    <mime_type>text/x-ini</mime_type>
13    <mime_type>text/inf</mime_type>
14  </config>
15  <rules>
16    <state name="root">
17      <rule pattern="\s+">
18        <token type="Text"/>
19      </rule>
20      <rule pattern="[;#].*">
21        <token type="CommentSingle"/>
22      </rule>
23      <rule pattern="\[.*?\]$">
24        <token type="Keyword"/>
25      </rule>
26      <rule pattern="(.*?)([ \t]*)(=)([ \t]*)(.*(?:\n[ \t].+)*)">
27        <bygroups>
28          <token type="NameAttribute"/>
29          <token type="Text"/>
30          <token type="Operator"/>
31          <token type="Text"/>
32          <token type="LiteralString"/>
33        </bygroups>
34      </rule>
35      <rule pattern="(.+?)$">
36        <token type="NameAttribute"/>
37      </rule>
38    </state>
39  </rules>
40</lexer>