I used to use VS.NET with the "Visual Assist" plugin by Wholetomato, and I've sort of gotten spoiled by it. After moving to a Linux box and using Code::Blocks, its syntax highlighting is nice, but not quite as nice. I was thinking about making a plugin for C::B to provide similar functionality for C++, however I thought I'd ask a few things here before jumping into it.
Specifically, what I'm looking for is more of a dynamic keyword identifier. Rather than having a list of keywords and highlighting them, additional keywords can be identified by parsing some of the text. For example:
int var; // would identify 'var' as a keyword
class Cls
{
}; // identify 'Cls' as a keyword
typedef unsigned long u32; // identify 'u32'
typedef void (*funcptr)(int); // identify 'funcptr'
#define AMACRO // etc
The thing that makes this particularly tricky is that the keywords should only be identified and highlighted when they're in scope. This requires reparsing when braces are changed, or when additional files are #included.
Something like this might seem extravagant, but after using it for a little while it becomes very easy to get used to and lets you spot simple typing errors (like misspelling a var name) immediately rather than waiting for compile time. Plus, highlighting function names, variable names, and literal constants all differently works wonders for code clarity.
Is there anything like this already (or in the works) for C::B? If not I'd like to think that I might be up to the task of trying it -- although I don't know if I'd be willing to put in the work (depending on how hard it would be -- I'm not at all familiar with how C::B works internally or how you'd go about making a plugin for it).
Here's a page with screens showing what I'm talking about:
http://wholetomato.com/tour.asp?syntax
Ideas/thoughts/suggestions welcome and appreciated!
Thanks in advance.