... the other big reason I moved away (for C++) is the styling of a name the same wherever it appears, so if something ever appears as a type its gonna be coloured a type even when used for a function, or a variable no matter if its in a totally different scope.
Just remembered I forgot to reply to this one - this is not a Scintilla thing. It's again tag manager (or more precisely `symbols.c`) which injects all type names from tag manager into Scintilla as a list of fake keywords. While it may be a problem to determine scopes correctly and when to do this and when not, it should be no problem to make this behavior configurable.