1. <lexer>
    
  2.   <config>
    
  3.     <name>PowerQuery</name>
    
  4.     <alias>powerquery</alias>
    
  5.     <alias>pq</alias>
    
  6.     <filename>*.pq</filename>
    
  7.     <mime_type>text/x-powerquery</mime_type>
    
  8.     <case_insensitive>true</case_insensitive>
    
  9.     <dot_all>true</dot_all>
    
  10.   </config>
    
  11.   <rules>
    
  12.     <state name="root">
    
  13.       <rule pattern="\s+">
    
  14.         <token type="Text"/>
    
  15.       </rule>
    
  16.       <rule pattern="//.*?\n">
    
  17.         <token type="CommentSingle"/>
    
  18.       </rule>
    
  19.       <rule pattern="/\*.*?\*/">
    
  20.         <token type="CommentMultiline"/>
    
  21.       </rule>
    
  22.       <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
    
  23.         <token type="LiteralString"/>
    
  24.       </rule>
    
  25.       <rule pattern="(and|as|each|else|error|false|if|in|is|let|meta|not|null|or|otherwise|section|shared|then|true|try|type)\b">
    
  26.         <token type="Keyword"/>
    
  27.       </rule>
    
  28.       <rule pattern="(#binary|#date|#datetime|#datetimezone|#duration|#infinity|#nan|#sections|#shared|#table|#time)\b">
    
  29.         <token type="KeywordType"/>
    
  30.       </rule>
    
  31.       <rule pattern="(([a-zA-Z]|_)[\w|._]*|#&#34;[^&#34;]+&#34;)">
    
  32.         <token type="Name"/>
    
  33.       </rule>
    
  34.       <rule pattern="0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?">
    
  35.         <token type="LiteralNumberHex"/>
    
  36.       </rule>
    
  37.       <rule pattern="([0-9]+\.[0-9]+|\.[0-9]+)([eE][0-9]+)?">
    
  38.         <token type="LiteralNumberFloat"/>
    
  39.       </rule>
    
  40.       <rule pattern="[0-9]+">
    
  41.         <token type="LiteralNumberInteger"/>
    
  42.       </rule>
    
  43.       <rule pattern="[\(\)\[\]\{\}]">
    
  44.         <token type="Punctuation"/>
    
  45.       </rule>
    
  46.       <rule pattern="\.\.|\.\.\.|=&gt;|&lt;=|&gt;=|&lt;&gt;|[@!?,;=&lt;&gt;\+\-\*\/&amp;]">
    
  47.         <token type="Operator"/>
    
  48.       </rule>
    
  49.     </state>
    
  50.   </rules>
    
  51. </lexer>