1<lexer>
2 <config>
3 <name>Angular2</name>
4 <alias>ng2</alias>
5 </config>
6 <rules>
7 <state name="attr">
8 <rule pattern="".*?"">
9 <token type="LiteralString" />
10 <pop depth="1" />
11 </rule>
12 <rule pattern="'.*?'">
13 <token type="LiteralString" />
14 <pop depth="1" />
15 </rule>
16 <rule pattern="[^\s>]+">
17 <token type="LiteralString" />
18 <pop depth="1" />
19 </rule>
20 </state>
21 <state name="root">
22 <rule pattern="[^{([*#]+">
23 <token type="Other" />
24 </rule>
25 <rule pattern="(\{\{)(\s*)">
26 <bygroups>
27 <token type="CommentPreproc" />
28 <token type="Text" />
29 </bygroups>
30 <push state="ngExpression" />
31 </rule>
32 <rule pattern="([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)">
33 <bygroups>
34 <token type="Punctuation" />
35 <token type="NameAttribute" />
36 <token type="Punctuation" />
37 <token type="Text" />
38 <token type="Operator" />
39 <token type="Text" />
40 </bygroups>
41 <push state="attr" />
42 </rule>
43 <rule pattern="([([]+)([\w:.-]+)([\])]+)(\s*)">
44 <bygroups>
45 <token type="Punctuation" />
46 <token type="NameAttribute" />
47 <token type="Punctuation" />
48 <token type="TextWhitespace" />
49 </bygroups>
50 </rule>
51 <rule pattern="([*#])([\w:.-]+)(\s*)(=)(\s*)">
52 <bygroups>
53 <token type="Punctuation" />
54 <token type="NameAttribute" />
55 <token type="Punctuation" />
56 <token type="Operator" />
57 <token type="TextWhitespace" />
58 </bygroups>
59 <push state="attr" />
60 </rule>
61 <rule pattern="([*#])([\w:.-]+)(\s*)">
62 <bygroups>
63 <token type="Punctuation" />
64 <token type="NameAttribute" />
65 <token type="Punctuation" />
66 </bygroups>
67 </rule>
68 </state>
69 <state name="ngExpression">
70 <rule pattern="\s+(\|\s+)?">
71 <token type="Text" />
72 </rule>
73 <rule pattern="\}\}">
74 <token type="CommentPreproc" />
75 <pop depth="1" />
76 </rule>
77 <rule pattern=":?(true|false)">
78 <token type="LiteralStringBoolean" />
79 </rule>
80 <rule pattern=":?"(\\\\|\\"|[^"])*"">
81 <token type="LiteralStringDouble" />
82 </rule>
83 <rule pattern=":?'(\\\\|\\'|[^'])*'">
84 <token type="LiteralStringSingle" />
85 </rule>
86 <rule pattern="[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?">
87 <token type="LiteralNumber" />
88 </rule>
89 <rule pattern="[a-zA-Z][\w-]*(\(.*\))?">
90 <token type="NameVariable" />
91 </rule>
92 <rule pattern="\.[\w-]+(\(.*\))?">
93 <token type="NameVariable" />
94 </rule>
95 <rule pattern="(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)">
96 <bygroups>
97 <token type="Operator" />
98 <token type="Text" />
99 <token type="LiteralString" />
100 <token type="Text" />
101 <token type="Operator" />
102 <token type="Text" />
103 <token type="LiteralString" />
104 <token type="Text" />
105 </bygroups>
106 </rule>
107 </state>
108 </rules>
109</lexer>