From ac4bac8ea4c5a8d520041ad509e10af454fcfce4 Mon Sep 17 00:00:00 2001 From: w0rp Date: Sun, 29 Jul 2018 19:24:19 +0100 Subject: Add support for parsing compile_commands.json files for C compilers --- ale_linters/cpp/clang.vim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ale_linters/cpp/clang.vim') diff --git a/ale_linters/cpp/clang.vim b/ale_linters/cpp/clang.vim index e8d96187..4f3c5b6f 100644 --- a/ale_linters/cpp/clang.vim +++ b/ale_linters/cpp/clang.vim @@ -14,10 +14,10 @@ function! ale_linters#cpp#clang#GetCommand(buffer, output) abort " -iquote with the directory the file is in makes #include work for " headers in the same directory. return ale#Escape(ale_linters#cpp#clang#GetExecutable(a:buffer)) - \ . ' -S -x c++ -fsyntax-only ' - \ . '-iquote ' . ale#Escape(fnamemodify(bufname(a:buffer), ':p:h')) . ' ' - \ . l:cflags - \ . ale#Var(a:buffer, 'cpp_clang_options') . ' -' + \ . ' -S -x c++ -fsyntax-only' + \ . ' -iquote ' . ale#Escape(fnamemodify(bufname(a:buffer), ':p:h')) + \ . ale#Pad(l:cflags) + \ . ale#Pad(ale#Var(a:buffer, 'cpp_clang_options')) . ' -' endfunction call ale#linter#Define('cpp', { -- cgit v1.2.3 From 16d0c52d24e8948b8bd8030e3fd112e0b6361c06 Mon Sep 17 00:00:00 2001 From: w0rp Date: Mon, 30 Jul 2018 20:09:43 +0100 Subject: Indicate that a C compiler failed due to problems in a header file --- ale_linters/cpp/clang.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ale_linters/cpp/clang.vim') diff --git a/ale_linters/cpp/clang.vim b/ale_linters/cpp/clang.vim index 4f3c5b6f..72793a71 100644 --- a/ale_linters/cpp/clang.vim +++ b/ale_linters/cpp/clang.vim @@ -28,5 +28,5 @@ call ale#linter#Define('cpp', { \ {'callback': 'ale#c#GetMakeCommand', 'output_stream': 'stdout'}, \ {'callback': 'ale_linters#cpp#clang#GetCommand'}, \ ], -\ 'callback': 'ale#handlers#gcc#HandleGCCFormat', +\ 'callback': 'ale#handlers#gcc#HandleGCCFormatWithIncludes', \}) -- cgit v1.2.3 From 217284360d35711b751859ed27a7a3c3da300e85 Mon Sep 17 00:00:00 2001 From: w0rp Date: Thu, 2 Aug 2018 23:44:12 +0100 Subject: Simplify the code for most linters and tests with closures --- ale_linters/cpp/clang.vim | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'ale_linters/cpp/clang.vim') diff --git a/ale_linters/cpp/clang.vim b/ale_linters/cpp/clang.vim index 72793a71..649c5993 100644 --- a/ale_linters/cpp/clang.vim +++ b/ale_linters/cpp/clang.vim @@ -4,17 +4,12 @@ call ale#Set('cpp_clang_executable', 'clang++') call ale#Set('cpp_clang_options', '-std=c++14 -Wall') -function! ale_linters#cpp#clang#GetExecutable(buffer) abort - return ale#Var(a:buffer, 'cpp_clang_executable') -endfunction - function! ale_linters#cpp#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#cpp#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, 'cpp_clang_options')) . ' -' @@ -23,7 +18,7 @@ endfunction call ale#linter#Define('cpp', { \ 'name': 'clang', \ 'output_stream': 'stderr', -\ 'executable_callback': 'ale_linters#cpp#clang#GetExecutable', +\ 'executable_callback': ale#VarFunc('cpp_clang_executable'), \ 'command_chain': [ \ {'callback': 'ale#c#GetMakeCommand', 'output_stream': 'stdout'}, \ {'callback': 'ale_linters#cpp#clang#GetCommand'}, -- cgit v1.2.3