diff options
Diffstat (limited to 'ale_linters/c')
-rw-r--r-- | ale_linters/c/cppcheck.vim | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ale_linters/c/cppcheck.vim b/ale_linters/c/cppcheck.vim index 90805914..4db93f74 100644 --- a/ale_linters/c/cppcheck.vim +++ b/ale_linters/c/cppcheck.vim @@ -1,8 +1,12 @@ " Author: Bart Libert <bart.libert@gmail.com> " Description: cppcheck linter for c files -" Set this option to change the cppcheck options -let g:ale_c_cppcheck_options = get(g:, 'ale_c_cppcheck_options', '--enable=style') +call ale#Set('c_cppcheck_executable', 'cppcheck') +call ale#Set('c_cppcheck_options', '--enable=style') + +function! ale_linters#c#cppcheck#GetExecutable(buffer) abort + return ale#Var(a:buffer, 'c_cppcheck_executable') +endfunction function! ale_linters#c#cppcheck#GetCommand(buffer) abort " Search upwards from the file for compile_commands.json. @@ -19,7 +23,8 @@ function! ale_linters#c#cppcheck#GetCommand(buffer) abort \ : '' return l:cd_command - \ . 'cppcheck -q --language=c ' + \ . ale#Escape(ale_linters#c#cppcheck#GetExecutable(a:buffer)) + \ . ' -q --language=c ' \ . l:compile_commands_option \ . ale#Var(a:buffer, 'c_cppcheck_options') \ . ' %t' @@ -28,7 +33,7 @@ endfunction call ale#linter#Define('c', { \ 'name': 'cppcheck', \ 'output_stream': 'both', -\ 'executable': 'cppcheck', +\ 'executable_callback': 'ale_linters#c#cppcheck#GetExecutable', \ 'command_callback': 'ale_linters#c#cppcheck#GetCommand', \ 'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat', \}) |