ну здесь кажется, что не берется никакой контекст :)
Это подсветка для Си.
В плюсах всё сложнее. Например, в выражении f(x);, f может оказаться:
- функцией/указателем на функцию/ссылкой на функцию
- функтором
- именем шаблона (их мб несколько, с разными скоупами)
- именем специализации шаблона
... и несколькими пунктами из списка одновременно. :)
Так что для корректной подсветки обязательно нужно получить аст.