Recently I’ve been attempting to add support for this new format in the rust.vim plugin. Mostly this has been successful with vim’s multi-line errorformat support. However, there’s one problem I can’t think of a good solution to.
It seems that in this new format, there’s no syntactic distinction between “source related” errors and “meta” errors. For instance, the error list now always contains error: aborting due to previous error or some variation thereof. The only difference between that and other errors is it’s not followed by a line with source file/line information, and there’s no way to “back out” the error since it’s already been matched by that point.
I can try to hard code detections for these meta-messages to filter them out, but that feels brittle, since I’ll certainly miss some, or accidentally match another error. Some way of making error messages that aren’t associated with a source code location look different would be ideal.