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>*.service</filename>
11    <filename>*.socket</filename>
12    <filename>.gitconfig</filename>
13    <filename>.editorconfig</filename>
14    <filename>pylintrc</filename>
15    <filename>.pylintrc</filename>
16    <mime_type>text/x-ini</mime_type>
17    <mime_type>text/inf</mime_type>
18    <priority>0.1</priority> <!-- higher priority than Inform 6 -->
19  </config>
20  <rules>
21    <state name="root">
22      <rule pattern="\s+">
23        <token type="Text"/>
24      </rule>
25      <rule pattern="[;#].*">
26        <token type="CommentSingle"/>
27      </rule>
28      <rule pattern="\[.*?\]$">
29        <token type="Keyword"/>
30      </rule>
31      <rule pattern="(.*?)([ \t]*)(=)([ \t]*)(.*(?:\n[ \t].+)*)">
32        <bygroups>
33          <token type="NameAttribute"/>
34          <token type="Text"/>
35          <token type="Operator"/>
36          <token type="Text"/>
37          <token type="LiteralString"/>
38        </bygroups>
39      </rule>
40      <rule pattern="(.+?)$">
41        <token type="NameAttribute"/>
42      </rule>
43    </state>
44  </rules>
45</lexer>