refactored SyntaxHighlighter to use annotated abstract syntax tree