https://github.com/w0rp/ale
Install this in your ale plugin directory (For Vundle + NeoVim that may be ~/.config/nvim/bundle/ale/ale_linters/c/norminette.vim)
You will of course, need the norminette ruby gem in your PATH.
gem install --user --pre norminette
This is how I configure it:
let g:ale_linters = {
\ 'c': ['clang', 'norminette'],
\ 'cpp': ['clang', 'norminette'],
\ 'h': ['clang', 'norminette'],
\ 'hpp': ['clang', 'norminette']
\}
But the default behavior of ALE is to use every possible linter.
Norme errors will now show up as errors for C files.
I have been unable to get it working for header files.
So this is the new pattern in good old vimregexp :
^Error: \h\+\s\+(line:\s\+\(\d\+\),\s\+col:\s\+\(\d\+\)):\s\+\(.*\)
It tries to match the line, column and error text at the end (look out for the
\( \)
if your eyes are not bleeding yet)A good tip to test your vimregexp is to
set incsearch
in vim so you can test in real time what you are matching !