Ah, this has reminded me: I forgot to mention, but perhaps it would be possible (for someone) to write a plugin which pipes your code through something such as Uncrustify, which is a modern version of the classic Unix utility ‘cb’. You would still need to hit a button to beautify your code (rather like the XML PrettyPrinter plugin) but at least it might be one way of having configurable indentation without costly on-the-fly parsing.
I’d have a go at this myself, but for the fact that I’m a CS graduate student (learning all that new stuff is great but why do they have to give you piles of coursework as well? :P)
James