...
1<lexer>
2 <config>
3 <name>Django/Jinja</name>
4 <alias>django</alias>
5 <alias>jinja</alias>
6 <mime_type>application/x-django-templating</mime_type>
7 <mime_type>application/x-jinja</mime_type>
8 <dot_all>true</dot_all>
9 </config>
10 <rules>
11 <state name="var">
12 <rule pattern="\s+">
13 <token type="Text"/>
14 </rule>
15 <rule pattern="(-?)(\}\})">
16 <bygroups>
17 <token type="Text"/>
18 <token type="CommentPreproc"/>
19 </bygroups>
20 <pop depth="1"/>
21 </rule>
22 <rule>
23 <include state="varnames"/>
24 </rule>
25 </state>
26 <state name="block">
27 <rule pattern="\s+">
28 <token type="Text"/>
29 </rule>
30 <rule pattern="(-?)(%\})">
31 <bygroups>
32 <token type="Text"/>
33 <token type="CommentPreproc"/>
34 </bygroups>
35 <pop depth="1"/>
36 </rule>
37 <rule>
38 <include state="varnames"/>
39 </rule>
40 <rule pattern=".">
41 <token type="Punctuation"/>
42 </rule>
43 </state>
44 <state name="root">
45 <rule pattern="[^{]+">
46 <token type="Other"/>
47 </rule>
48 <rule pattern="\{\{">
49 <token type="CommentPreproc"/>
50 <push state="var"/>
51 </rule>
52 <rule pattern="\{[*#].*?[*#]\}">
53 <token type="Comment"/>
54 </rule>
55 <rule pattern="(\{%)(-?\s*)(comment)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endcomment)(\s*-?)(%\})">
56 <bygroups>
57 <token type="CommentPreproc"/>
58 <token type="Text"/>
59 <token type="Keyword"/>
60 <token type="Text"/>
61 <token type="CommentPreproc"/>
62 <token type="Comment"/>
63 <token type="CommentPreproc"/>
64 <token type="Text"/>
65 <token type="Keyword"/>
66 <token type="Text"/>
67 <token type="CommentPreproc"/>
68 </bygroups>
69 </rule>
70 <rule pattern="(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endraw)(\s*-?)(%\})">
71 <bygroups>
72 <token type="CommentPreproc"/>
73 <token type="Text"/>
74 <token type="Keyword"/>
75 <token type="Text"/>
76 <token type="CommentPreproc"/>
77 <token type="Text"/>
78 <token type="CommentPreproc"/>
79 <token type="Text"/>
80 <token type="Keyword"/>
81 <token type="Text"/>
82 <token type="CommentPreproc"/>
83 </bygroups>
84 </rule>
85 <rule pattern="(\{%)(-?\s*)(filter)(\s+)([a-zA-Z_]\w*)">
86 <bygroups>
87 <token type="CommentPreproc"/>
88 <token type="Text"/>
89 <token type="Keyword"/>
90 <token type="Text"/>
91 <token type="NameFunction"/>
92 </bygroups>
93 <push state="block"/>
94 </rule>
95 <rule pattern="(\{%)(-?\s*)([a-zA-Z_]\w*)">
96 <bygroups>
97 <token type="CommentPreproc"/>
98 <token type="Text"/>
99 <token type="Keyword"/>
100 </bygroups>
101 <push state="block"/>
102 </rule>
103 <rule pattern="\{">
104 <token type="Other"/>
105 </rule>
106 </state>
107 <state name="varnames">
108 <rule pattern="(\|)(\s*)([a-zA-Z_]\w*)">
109 <bygroups>
110 <token type="Operator"/>
111 <token type="Text"/>
112 <token type="NameFunction"/>
113 </bygroups>
114 </rule>
115 <rule pattern="(is)(\s+)(not)?(\s+)?([a-zA-Z_]\w*)">
116 <bygroups>
117 <token type="Keyword"/>
118 <token type="Text"/>
119 <token type="Keyword"/>
120 <token type="Text"/>
121 <token type="NameFunction"/>
122 </bygroups>
123 </rule>
124 <rule pattern="(_|true|false|none|True|False|None)\b">
125 <token type="KeywordPseudo"/>
126 </rule>
127 <rule pattern="(in|as|reversed|recursive|not|and|or|is|if|else|import|with(?:(?:out)?\s*context)?|scoped|ignore\s+missing)\b">
128 <token type="Keyword"/>
129 </rule>
130 <rule pattern="(loop|block|super|forloop)\b">
131 <token type="NameBuiltin"/>
132 </rule>
133 <rule pattern="[a-zA-Z_][\w-]*">
134 <token type="NameVariable"/>
135 </rule>
136 <rule pattern="\.\w+">
137 <token type="NameVariable"/>
138 </rule>
139 <rule pattern=":?"(\\\\|\\"|[^"])*"">
140 <token type="LiteralStringDouble"/>
141 </rule>
142 <rule pattern=":?'(\\\\|\\'|[^'])*'">
143 <token type="LiteralStringSingle"/>
144 </rule>
145 <rule pattern="([{}()\[\]+\-*/,:~]|[><=]=?)">
146 <token type="Operator"/>
147 </rule>
148 <rule pattern="[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?">
149 <token type="LiteralNumber"/>
150 </rule>
151 </state>
152 </rules>
153</lexer>
View as plain text