I'm now having two annotators, one for highlight syntax errors, and one for highlight the keywords. But the keywords annotator is not working if syntax error happens.
Then I did some debug, it turns out that the GeneralHighlightingPass#runVisitors with parameter “skipParentsSet” just skiped the parents highlighting behavior. Which are not visited in the keywords annotator.
I've tried to register the HighlightRangeExtension and return true in the isForceHighlightParents method, that worked eventually. But since you have noticed that returning true may decrease highlighting performance/increase latency, I was wondering is there any suggestions for a more official way to achive this?