ccls: Detect build dir and set compilationDatabaseDirectory

Fixes #2621
This commit is contained in:
Tomas Janousek
2020-04-18 13:15:32 +02:00
parent 82f734a7c2
commit 4fbfcc9dec
8 changed files with 73 additions and 3 deletions

View File

@@ -4,6 +4,10 @@
Before:
call ale#assert#SetUpLinterTest('cpp', 'ccls')
Save b:ale_c_build_dir_names
Save b:ale_cpp_ccls_executable
Save b:ale_cpp_ccls_init_options
After:
call ale#assert#TearDownLinterTest()
@@ -47,3 +51,19 @@ Execute(The initialization options should be configurable):
let b:ale_cpp_ccls_init_options = { 'cacheDirectory': '/tmp/ccls' }
AssertLSPOptions { 'cacheDirectory': '/tmp/ccls' }
Execute(The compile command database should be detected correctly):
call ale#test#SetFilename('ccls_paths/with_ccls/dummy.c')
AssertLSPOptions {}
call ale#test#SetFilename('ccls_paths/with_compile_commands_json/dummy.c')
AssertLSPOptions { 'compilationDatabaseDirectory':
\ ale#path#Simplify(g:dir . '/ccls_paths/with_compile_commands_json') }
call ale#test#SetFilename('ccls_paths/with_build_dir/dummy.c')
let b:ale_c_build_dir_names = ['unusual_build_dir_name']
AssertLSPOptions { 'compilationDatabaseDirectory':
\ ale#path#Simplify(g:dir . '/ccls_paths/with_build_dir/unusual_build_dir_name') }