One thing that I think would be very nice to have is different characters based on the severity. For example, the Rust compiler uses the ^ underline for primary errors, and the - underline for secondary ones (and ~ for something else, but I haven't figured out what that's for yet).
For example:

Thanks! :)