For C++ it is very annoying to see the errors all
sorted in the errorlist. Much meaning is lost, because
the errors/warnings are often related to each other and
span multiple lines.
ErrorList currently groups errors under the file in which they are reported. Which means, if I have output lines specifying errors, in the following order:
Then both errors from 'c.c' will be grouped under the same parent in ErrorList. In order to maintain the original order, ErrorList needs to either flatten the tree so that each error node specifies also the file, or, alternatively, have multiple nodes at the top level (file level) referring to the same file. Both solutions do not seem to be very convenient - e.g. for the above example there will be 2 nodes for 'c.c' with 'b.c' between them.
I can implement this, but I think it's not the right way to handle the real issue - which is grouping several source code links under a single error (e.g. syntax error in file:line, including from file:line, included from file:line), and then at some point we'll want to handle it correctly and this feature of preserve error order will be neglected. However, handling this issue correctly also needs to take part in the Console plugin, which I don't think is currently ready to group such messages, if ErrorList had the API for that.
I'm thinking just an option to "not group by file" but instead just preserve the order.
And perhaps it can be a mode option, since people might only want it in C++, for example.
From 2780273, it seems to be an issue with Ruby also.