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>