Try the following:
The final %-G%.%# acts as a "catch all" clause, that ignores all lines, that are not matched by previous expressions.
The following should also work:
:set errorformat=%A%f:%l:%c:%m,%-G\\s%#,%-G%*\\d\ problem%.%#
%-G\\s%# ignores all lines that contains zero or more whitespaces. This ...
Here's the answer I found for Neovim.
First, Neovim will display up to nine signs in the gutter by default, so plugins don't have to fight over sharing just one or two columns.
Second, there is sign-id metadata associated with each sign so Neovim can tell which plugin the sign belongs to.
Finally, a signpriority option has been proposed. This would ...