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="(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?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="(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?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="(<&[^|])(.*?)(,.*?)?(&>)">
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="(<&\|)(.*?)(,.*?)?(&>)(?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="</&>">
50 <token type="NameTag"/>
51 </rule>
52 <rule pattern="(<%!?)(.*?)(%>)(?s)">
53 <bygroups>
54 <token type="NameTag"/>
55 <using lexer="Python2"/>
56 <token type="NameTag"/>
57 </bygroups>
58 </rule>
59 <rule pattern="(?<=^)#[^\n]*(\n|\Z)">
60 <token type="Comment"/>
61 </rule>
62 <rule pattern="(?<=^)(%)([^\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)
 (.+?) # anything, followed by:
 (?:
 (?<=\n)(?=[%#]) | # an eval or comment line
 (?=</?[%&]) | # a substitution or block or
 # call start or end
 # - don't consume
 (\\\n) | # an escaped newline
 \Z # end of string
 )">
70 <bygroups>
71 <token type="Other"/>
72 <token type="Operator"/>
73 </bygroups>
74 </rule>
75 </state>
76 </rules>
77</lexer>