9 - constant: "([ ]|^)%[0-9A-Za-z_]+>"
10 - special: ":[0-9A-Za-z_]+>"
11 - type: "\\.[A-Za-z_]+>"
12 - constant.string: "\"([^\"]|(\\\\\"))*\"|%[QW]?\\{[^}]*\\}|%[QW]?\\([^)]*\\)|%[QW]?<[^>]*>|%[QW]?\\$[^$]*\\$|%[QW]?\\^[^^]*\\^|%[QW]?![^!]*!"
13 - constant.string: "'([^']|(\\\\'))*'|%[qw]\\{[^}]*\\}|%[qw]\\([^)]*\\)|%[qw]<[^>]*>|%[qw]\\[[^]]*\\]|%[qw]\\$[^$]*\\$|%[qw]\\^[^^]*\\^|%[qw]![^!]*!"
14 - identifier: "#\\{[^}]*\\}"
15 - identifier.var: "(@|@@)[0-9A-Z_a-z]+"
16 - comment: "#[^{].*$|#$"