What I found an interesting development in syntax highlighting is "semantic highlighting". Some IDEs support this by integrating directly with a compiler (such as clang).
At a primitive level it allows, for example, coloring nams of variables either by type, or by source (local/field/static field), same with function names (ie, is it a function, method, a static method, etc). See for example: http://doc.qt.digia.com/qtcreator/creator-highlighting.html.
But I'm sure much more is possible. Semantic highlighting could help understand the (non-local) semantic structure of the code, and allow finding mismatches between what the user intends and what he has specified.
At a primitive level it allows, for example, coloring nams of variables either by type, or by source (local/field/static field), same with function names (ie, is it a function, method, a static method, etc). See for example: http://doc.qt.digia.com/qtcreator/creator-highlighting.html.
But I'm sure much more is possible. Semantic highlighting could help understand the (non-local) semantic structure of the code, and allow finding mismatches between what the user intends and what he has specified.