Add clang-check linter for C (#4662)

* Close #976 - add clang-check to C linters

* Update docs
This commit is contained in:
Jorengarenar
2023-12-07 15:49:37 +01:00
committed by GitHub
parent 1ccd99e113
commit fc45a935bf
6 changed files with 112 additions and 3 deletions

View File

@@ -0,0 +1,37 @@
# modified from test_cpp_cppcheck.vader
Before:
call ale#assert#SetUpLinterTest('c', 'clangcheck')
After:
call ale#assert#TearDownLinterTest()
Execute(The executable should be configurable):
AssertLinter 'clang-check',
\ ale#Escape('clang-check')
\ . ' -analyze %s --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics'
let b:ale_c_clangcheck_executable = 'foobar'
" The extra arguments in the command are used to prevent .plist files from
" being generated.
AssertLinter 'foobar',
\ ale#Escape('foobar')
\ . ' -analyze %s --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics'
Execute(The options should be configurable):
let b:ale_c_clangcheck_options = '--something'
AssertLinter 'clang-check',
\ ale#Escape('clang-check')
\ . ' -analyze %s'
\ . ' --extra-arg=-Xclang --extra-arg=-analyzer-output=text --extra-arg=-fno-color-diagnostics'
\ . ' --something'
Execute(The build directory should be used when set):
let b:ale_c_clangcheck_options = '--something'
let b:ale_c_build_dir = '/foo/bar'
AssertLinter 'clang-check',
\ ale#Escape('clang-check')
\ . ' -analyze %s --something -p ' . ale#Escape('/foo/bar')