summaryrefslogtreecommitdiff
path: root/ale_linters/cpp/cquery.vim
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2019-05-20 19:57:08 +0100
committerw0rp <devw0rp@gmail.com>2019-05-20 19:57:08 +0100
commit143af2b9fd78dbfd5ee8ae727a522dd2dcc79b61 (patch)
tree2c44b311a5f127cba4654ff4f9a1e450d55f365a /ale_linters/cpp/cquery.vim
parent781bf1502f78f7882347a70b587512a0e94ea380 (diff)
downloadale-143af2b9fd78dbfd5ee8ae727a522dd2dcc79b61.zip
Fix #2421 - Use compile_commands.json in build dirs to find roots
Diffstat (limited to 'ale_linters/cpp/cquery.vim')
-rw-r--r--ale_linters/cpp/cquery.vim10
1 files changed, 6 insertions, 4 deletions
diff --git a/ale_linters/cpp/cquery.vim b/ale_linters/cpp/cquery.vim
index 0dd9f6ad..2971cdcb 100644
--- a/ale_linters/cpp/cquery.vim
+++ b/ale_linters/cpp/cquery.vim
@@ -5,13 +5,15 @@ call ale#Set('cpp_cquery_executable', 'cquery')
call ale#Set('cpp_cquery_cache_directory', expand('~/.cache/cquery'))
function! ale_linters#cpp#cquery#GetProjectRoot(buffer) abort
- let l:project_root = ale#path#FindNearestFile(a:buffer, 'compile_commands.json')
+ " Try to find cquery configuration files first.
+ let l:config = ale#path#FindNearestFile(a:buffer, '.cquery')
- if empty(l:project_root)
- let l:project_root = ale#path#FindNearestFile(a:buffer, '.cquery')
+ if !empty(l:config)
+ return fnamemodify(l:config, ':h')
endif
- return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : ''
+ " Fall back on default project root detection.
+ return ale#c#FindProjectRoot(a:buffer)
endfunction
function! ale_linters#cpp#cquery#GetInitializationOptions(buffer) abort