diff options
Diffstat (limited to 'ale_linters/c')
-rw-r--r-- | ale_linters/c/clang.vim | 9 | ||||
-rw-r--r-- | ale_linters/c/clangd.vim | 11 | ||||
-rw-r--r-- | ale_linters/c/clangtidy.vim | 8 | ||||
-rw-r--r-- | ale_linters/c/cppcheck.vim | 9 | ||||
-rw-r--r-- | ale_linters/c/cquery.vim | 13 | ||||
-rw-r--r-- | ale_linters/c/flawfinder.vim | 12 | ||||
-rw-r--r-- | ale_linters/c/gcc.vim | 9 |
7 files changed, 15 insertions, 56 deletions
diff --git a/ale_linters/c/clang.vim b/ale_linters/c/clang.vim index 9d49fabb..f1bd675b 100644 --- a/ale_linters/c/clang.vim +++ b/ale_linters/c/clang.vim @@ -4,17 +4,12 @@ call ale#Set('c_clang_executable', 'clang') call ale#Set('c_clang_options', '-std=c11 -Wall') -function! ale_linters#c#clang#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'c_clang_executable') -endfunction - function! ale_linters#c#clang#GetCommand(buffer, output) abort let l:cflags = ale#c#GetCFlags(a:buffer, a:output) " -iquote with the directory the file is in makes #include work for " headers in the same directory. - return ale#Escape(ale_linters#c#clang#GetExecutable(a:buffer)) - \ . ' -S -x c -fsyntax-only' + return '%e -S -x c -fsyntax-only' \ . ' -iquote ' . ale#Escape(fnamemodify(bufname(a:buffer), ':p:h')) \ . ale#Pad(l:cflags) \ . ale#Pad(ale#Var(a:buffer, 'c_clang_options')) . ' -' @@ -23,7 +18,7 @@ endfunction call ale#linter#Define('c', { \ 'name': 'clang', \ 'output_stream': 'stderr', -\ 'executable_callback': 'ale_linters#c#clang#GetExecutable', +\ 'executable_callback': ale#VarFunc('c_clang_executable'), \ 'command_chain': [ \ {'callback': 'ale#c#GetMakeCommand', 'output_stream': 'stdout'}, \ {'callback': 'ale_linters#c#clang#GetCommand'} diff --git a/ale_linters/c/clangd.vim b/ale_linters/c/clangd.vim index 5aa2e221..2c7c5c13 100644 --- a/ale_linters/c/clangd.vim +++ b/ale_linters/c/clangd.vim @@ -9,21 +9,14 @@ function! ale_linters#c#clangd#GetProjectRoot(buffer) abort return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : '' endfunction -function! ale_linters#c#clangd#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'c_clangd_executable') -endfunction - function! ale_linters#c#clangd#GetCommand(buffer) abort - let l:executable = ale_linters#c#clangd#GetExecutable(a:buffer) - let l:options = ale#Var(a:buffer, 'c_clangd_options') - - return ale#Escape(l:executable) . (!empty(l:options) ? ' ' . l:options : '') + return '%e' . ale#Pad(ale#Var(a:buffer, 'c_clangd_options')) endfunction call ale#linter#Define('c', { \ 'name': 'clangd', \ 'lsp': 'stdio', -\ 'executable_callback': 'ale_linters#c#clangd#GetExecutable', +\ 'executable_callback': ale#VarFunc('c_clangd_executable'), \ 'command_callback': 'ale_linters#c#clangd#GetCommand', \ 'project_root_callback': 'ale_linters#c#clangd#GetProjectRoot', \}) diff --git a/ale_linters/c/clangtidy.vim b/ale_linters/c/clangtidy.vim index d456a5a2..84c103e6 100644 --- a/ale_linters/c/clangtidy.vim +++ b/ale_linters/c/clangtidy.vim @@ -16,10 +16,6 @@ call ale#Set('c_clangtidy_checks', ['*']) call ale#Set('c_clangtidy_options', '') call ale#Set('c_build_dir', '') -function! ale_linters#c#clangtidy#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'c_clangtidy_executable') -endfunction - function! s:GetBuildDirectory(buffer) abort " Don't include build directory for header files, as compile_commands.json " files don't consider headers to be translation units, and provide no @@ -47,7 +43,7 @@ function! ale_linters#c#clangtidy#GetCommand(buffer) abort \ ? ale#Var(a:buffer, 'c_clangtidy_options') \ : '' - return ale#Escape(ale_linters#c#clangtidy#GetExecutable(a:buffer)) + return '%e' \ . (!empty(l:checks) ? ' -checks=' . ale#Escape(l:checks) : '') \ . ' %s' \ . (!empty(l:build_dir) ? ' -p ' . ale#Escape(l:build_dir) : '') @@ -57,7 +53,7 @@ endfunction call ale#linter#Define('c', { \ 'name': 'clangtidy', \ 'output_stream': 'stdout', -\ 'executable_callback': 'ale_linters#c#clangtidy#GetExecutable', +\ 'executable_callback': ale#VarFunc('c_clangtidy_executable'), \ 'command_callback': 'ale_linters#c#clangtidy#GetCommand', \ 'callback': 'ale#handlers#gcc#HandleGCCFormat', \ 'lint_file': 1, diff --git a/ale_linters/c/cppcheck.vim b/ale_linters/c/cppcheck.vim index 4db93f74..5e8c7936 100644 --- a/ale_linters/c/cppcheck.vim +++ b/ale_linters/c/cppcheck.vim @@ -4,10 +4,6 @@ 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. " @@ -23,8 +19,7 @@ function! ale_linters#c#cppcheck#GetCommand(buffer) abort \ : '' return l:cd_command - \ . ale#Escape(ale_linters#c#cppcheck#GetExecutable(a:buffer)) - \ . ' -q --language=c ' + \ . '%e -q --language=c ' \ . l:compile_commands_option \ . ale#Var(a:buffer, 'c_cppcheck_options') \ . ' %t' @@ -33,7 +28,7 @@ endfunction call ale#linter#Define('c', { \ 'name': 'cppcheck', \ 'output_stream': 'both', -\ 'executable_callback': 'ale_linters#c#cppcheck#GetExecutable', +\ 'executable_callback': ale#VarFunc('c_cppcheck_executable'), \ 'command_callback': 'ale_linters#c#cppcheck#GetCommand', \ 'callback': 'ale#handlers#cppcheck#HandleCppCheckFormat', \}) diff --git a/ale_linters/c/cquery.vim b/ale_linters/c/cquery.vim index 208c226f..7daf9f76 100644 --- a/ale_linters/c/cquery.vim +++ b/ale_linters/c/cquery.vim @@ -9,15 +9,6 @@ function! ale_linters#c#cquery#GetProjectRoot(buffer) abort return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : '' endfunction -function! ale_linters#c#cquery#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'c_cquery_executable') -endfunction - -function! ale_linters#c#cquery#GetCommand(buffer) abort - let l:executable = ale_linters#c#cquery#GetExecutable(a:buffer) - return ale#Escape(l:executable) -endfunction - function! ale_linters#c#cquery#GetInitializationOptions(buffer) abort return {'cacheDirectory': ale#Var(a:buffer, 'c_cquery_cache_directory')} endfunction @@ -25,8 +16,8 @@ endfunction call ale#linter#Define('c', { \ 'name': 'cquery', \ 'lsp': 'stdio', -\ 'executable_callback': 'ale_linters#c#cquery#GetExecutable', -\ 'command_callback': 'ale_linters#c#cquery#GetCommand', +\ 'executable_callback': ale#VarFunc('c_cquery_executable'), +\ 'command': '%e', \ 'project_root_callback': 'ale_linters#c#cquery#GetProjectRoot', \ 'initialization_options_callback': 'ale_linters#c#cquery#GetInitializationOptions', \}) diff --git a/ale_linters/c/flawfinder.vim b/ale_linters/c/flawfinder.vim index df6fbebe..7e1f6769 100644 --- a/ale_linters/c/flawfinder.vim +++ b/ale_linters/c/flawfinder.vim @@ -6,18 +6,12 @@ call ale#Set('c_flawfinder_options', '') call ale#Set('c_flawfinder_minlevel', 1) call ale#Set('c_flawfinder_error_severity', 6) -function! ale_linters#c#flawfinder#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'c_flawfinder_executable') -endfunction - function! ale_linters#c#flawfinder#GetCommand(buffer) abort - " Set the minimum vulnerability level for flawfinder to bother with let l:minlevel = ' --minlevel=' . ale#Var(a:buffer, 'c_flawfinder_minlevel') - return ale#Escape(ale_linters#c#flawfinder#GetExecutable(a:buffer)) - \ . ' -CDQS' - \ . ale#Var(a:buffer, 'c_flawfinder_options') + return '%e -CDQS' + \ . ale#Pad(ale#Var(a:buffer, 'c_flawfinder_options')) \ . l:minlevel \ . ' %t' endfunction @@ -25,7 +19,7 @@ endfunction call ale#linter#Define('c', { \ 'name': 'flawfinder', \ 'output_stream': 'stdout', -\ 'executable_callback': 'ale_linters#c#flawfinder#GetExecutable', +\ 'executable_callback': ale#VarFunc('c_flawfinder_executable'), \ 'command_callback': 'ale_linters#c#flawfinder#GetCommand', \ 'callback': 'ale#handlers#flawfinder#HandleFlawfinderFormat', \}) diff --git a/ale_linters/c/gcc.vim b/ale_linters/c/gcc.vim index e2dff65d..60ecb712 100644 --- a/ale_linters/c/gcc.vim +++ b/ale_linters/c/gcc.vim @@ -4,17 +4,12 @@ call ale#Set('c_gcc_executable', 'gcc') call ale#Set('c_gcc_options', '-std=c11 -Wall') -function! ale_linters#c#gcc#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'c_gcc_executable') -endfunction - function! ale_linters#c#gcc#GetCommand(buffer, output) abort let l:cflags = ale#c#GetCFlags(a:buffer, a:output) " -iquote with the directory the file is in makes #include work for " headers in the same directory. - return ale#Escape(ale_linters#c#gcc#GetExecutable(a:buffer)) - \ . ' -S -x c -fsyntax-only' + return '%e -S -x c -fsyntax-only' \ . ' -iquote ' . ale#Escape(fnamemodify(bufname(a:buffer), ':p:h')) \ . ale#Pad(l:cflags) \ . ale#Pad(ale#Var(a:buffer, 'c_gcc_options')) . ' -' @@ -23,7 +18,7 @@ endfunction call ale#linter#Define('c', { \ 'name': 'gcc', \ 'output_stream': 'stderr', -\ 'executable_callback': 'ale_linters#c#gcc#GetExecutable', +\ 'executable_callback': ale#VarFunc('c_gcc_executable'), \ 'command_chain': [ \ {'callback': 'ale#c#GetMakeCommand', 'output_stream': 'stdout'}, \ {'callback': 'ale_linters#c#gcc#GetCommand'} |