...
1<lexer>
2 <config>
3 <name>VHS</name>
4 <alias>vhs</alias>
5 <alias>tape</alias>
6 <alias>cassette</alias>
7 <filename>*.tape</filename>
8 </config>
9 <rules>
10 <state name="root">
11 <rule pattern="(Output)(\s+)(.*)(\s+)">
12 <bygroups>
13 <token type="Keyword"/>
14 <token type="TextWhitespace"/>
15 <token type="LiteralString"/>
16 <token type="TextWhitespace"/>
17 </bygroups>
18 </rule>
19 <rule pattern="\b(Set|Type|Left|Right|Up|Down|Backspace|Enter|Tab|Space|Ctrl|Sleep|Hide|Show|Escape)\b">
20 <token type="Keyword"/>
21 </rule>
22 <rule pattern="\b(FontFamily|FontSize|Framerate|Height|Width|Theme|Padding|TypingSpeed|PlaybackSpeed|LineHeight|Framerate|LetterSpacing)\b">
23 <token type="NameBuiltin"/>
24 </rule>
25 <rule pattern="#.*(\S|$)">
26 <token type="Comment"/>
27 </rule>
28 <rule pattern="(?s)".*"">
29 <token type="LiteralStringDouble"/>
30 </rule>
31 <rule pattern="(?s)'.*'">
32 <token type="LiteralStringSingle"/>
33 </rule>
34 <rule pattern="(@|\+)">
35 <token type="Punctuation"/>
36 </rule>
37 <rule pattern="\d+">
38 <token type="LiteralNumber"/>
39 </rule>
40 <rule pattern="\s+">
41 <token type="TextWhitespace"/>
42 </rule>
43 <rule pattern="(ms|s)">
44 <token type="Text"/>
45 </rule>
46 </state>
47 </rules>
48</lexer>
View as plain text