1. We already do this I think. Generally we should get away from regexes, they are so slow and currently if some code produces tons of warnings the performance is really slow.
2. It is already possible, but someone needs to modify regexes
3. Generally this is done with two separate mechanisms:
a. squiggle underlines like in VStudio
b. annotations like in XCode (in fact Xcode uses both) See this random image:
https://user-images.githubusercontent.com/20306622/36999160-478348e6-208d-11e8-99ea-5e776a7a0ab8.pngFor 1 you'd use the Indicator API, for 2 you'd use annotation's api, but this won't achieve the same thing, so I guess scintilla would have to be modified. I think the way Xcode does it is better.
4. I'm not sure mixing the two is a good idea. But I guess we could implement some API to present/merge both results, if needed. Generally CC and compilation use different c/c++ parsers/frontend and these would never match, so we have to probably think about handling it.
p.s. Keep in mind performance it is really important. Currently parsing the log is really slow and in a project which generates tons of warnings the log is the bottleneck in compilation.