1. <lexer>
    
  2.   <config>
    
  3.     <name>Myghty</name>
    
  4.     <alias>myghty</alias>
    
  5.     <filename>*.myt</filename>
    
  6.     <filename>autodelegate</filename>
    
  7.     <mime_type>application/x-myghty</mime_type>
    
  8.   </config>
    
  9.   <rules>
    
  10.     <state name="root">
    
  11.       <rule pattern="\s+">
    
  12.         <token type="Text"/>
    
  13.       </rule>
    
  14.       <rule pattern="(&lt;%(?:def|method))(\s*)(.*?)(&gt;)(.*?)(&lt;/%\2\s*&gt;)(?s)">
    
  15.         <bygroups>
    
  16.           <token type="NameTag"/>
    
  17.           <token type="Text"/>
    
  18.           <token type="NameFunction"/>
    
  19.           <token type="NameTag"/>
    
  20.           <usingself state="root"/>
    
  21.           <token type="NameTag"/>
    
  22.         </bygroups>
    
  23.       </rule>
    
  24.       <rule pattern="(&lt;%\w+)(.*?)(&gt;)(.*?)(&lt;/%\2\s*&gt;)(?s)">
    
  25.         <bygroups>
    
  26.           <token type="NameTag"/>
    
  27.           <token type="NameFunction"/>
    
  28.           <token type="NameTag"/>
    
  29.           <using lexer="Python2"/>
    
  30.           <token type="NameTag"/>
    
  31.         </bygroups>
    
  32.       </rule>
    
  33.       <rule pattern="(&lt;&amp;[^|])(.*?)(,.*?)?(&amp;&gt;)">
    
  34.         <bygroups>
    
  35.           <token type="NameTag"/>
    
  36.           <token type="NameFunction"/>
    
  37.           <using lexer="Python2"/>
    
  38.           <token type="NameTag"/>
    
  39.         </bygroups>
    
  40.       </rule>
    
  41.       <rule pattern="(&lt;&amp;\|)(.*?)(,.*?)?(&amp;&gt;)(?s)">
    
  42.         <bygroups>
    
  43.           <token type="NameTag"/>
    
  44.           <token type="NameFunction"/>
    
  45.           <using lexer="Python2"/>
    
  46.           <token type="NameTag"/>
    
  47.         </bygroups>
    
  48.       </rule>
    
  49.       <rule pattern="&lt;/&amp;&gt;">
    
  50.         <token type="NameTag"/>
    
  51.       </rule>
    
  52.       <rule pattern="(&lt;%!?)(.*?)(%&gt;)(?s)">
    
  53.         <bygroups>
    
  54.           <token type="NameTag"/>
    
  55.           <using lexer="Python2"/>
    
  56.           <token type="NameTag"/>
    
  57.         </bygroups>
    
  58.       </rule>
    
  59.       <rule pattern="(?&lt;=^)#[^\n]*(\n|\Z)">
    
  60.         <token type="Comment"/>
    
  61.       </rule>
    
  62.       <rule pattern="(?&lt;=^)(%)([^\n]*)(\n|\Z)">
    
  63.         <bygroups>
    
  64.           <token type="NameTag"/>
    
  65.           <using lexer="Python2"/>
    
  66.           <token type="Other"/>
    
  67.         </bygroups>
    
  68.       </rule>
    
  69.       <rule pattern="(?sx)&#xA;                 (.+?)               # anything, followed by:&#xA;                 (?:&#xA;                  (?&lt;=\n)(?=[%#]) |  # an eval or comment line&#xA;                  (?=&lt;/?[%&amp;]) |      # a substitution or block or&#xA;                                     # call start or end&#xA;                                     # - don&#39;t consume&#xA;                  (\\\n) |           # an escaped newline&#xA;                  \Z                 # end of string&#xA;                 )">
    
  70.         <bygroups>
    
  71.           <token type="Other"/>
    
  72.           <token type="Operator"/>
    
  73.         </bygroups>
    
  74.       </rule>
    
  75.     </state>
    
  76.   </rules>
    
  77. </lexer>