2b785688ea
Users can easily be confused when they set some options for a C or C++ compiler, and another compiler is run with different options, which still reports errors. To remedy this, the existing `gcc` and `clang` linters have been replaced with a `cc` linter that will run either compiler. This is a breaking change for ALE v3.0.0.
49 lines
1.4 KiB
Text
49 lines
1.4 KiB
Text
Before:
|
|
Save g:ale_c_build_dir
|
|
Save g:ale_c_clangtidy_executable
|
|
Save g:ale_c_clangtidy_checks
|
|
Save g:ale_c_clangtidy_extra_options
|
|
Save g:ale_cpp_clangtidy_executable
|
|
Save g:ale_cpp_clangtidy_checks
|
|
Save g:ale_cpp_clangtidy_extra_options
|
|
|
|
" Use an invalid global executable, so we don't match it.
|
|
let g:ale_c_clangtidy_executable = 'xxxinvalid'
|
|
let g:ale_c_clangtidy_checks = []
|
|
let g:ale_c_clangtidy_extra_options = ''
|
|
let g:ale_cpp_clangtidy_executable = 'xxxinvalidpp'
|
|
let g:ale_cpp_clangtidy_checks = []
|
|
let g:ale_cpp_clangtidy_extra_options = ''
|
|
let g:ale_c_build_dir = ''
|
|
|
|
call ale#test#SetDirectory('/testplugin/test/fixers')
|
|
silent cd ../command_callback
|
|
let g:dir = getcwd()
|
|
|
|
After:
|
|
Restore
|
|
|
|
call ale#test#RestoreDirectory()
|
|
|
|
Execute(The clangtidy callback should return the correct default values):
|
|
call ale#test#SetFilename('c_paths/dummy.c')
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_c_clangtidy_executable)
|
|
\ . ' -fix -fix-errors %t'
|
|
\ },
|
|
\ ale#fixers#clangtidy#Fix(bufnr(''))
|
|
|
|
Execute(The clangtidy callback should include any additional options):
|
|
call ale#test#SetFilename('c_paths/dummy.c')
|
|
let g:ale_c_clangtidy_extra_options = '--some-option'
|
|
|
|
AssertEqual
|
|
\ {
|
|
\ 'read_temporary_file': 1,
|
|
\ 'command': ale#Escape(g:ale_c_clangtidy_executable)
|
|
\ . ' -fix -fix-errors --some-option %t',
|
|
\ },
|
|
\ ale#fixers#clangtidy#Fix(bufnr(''))
|