It's looking pretty good!

I noticed you've not colourised variables and macros which are in strings (there is a @crlf embedded in one of the strings in your example).
It's probably quite hard to add to the parser, but it is useful to highlight what is a fairly common error.