-
Notifications
You must be signed in to change notification settings - Fork 305
Servers cquery
Alick Zhao edited this page Apr 18, 2018
·
7 revisions
Refer https://github.com/jacobdufault/cquery/wiki for installing cquery.
if executable('cquery')
au User lsp_setup call lsp#register_server({
\ 'name': 'cquery',
\ 'cmd': {server_info->['cquery']},
\ 'root_uri': {server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'compile_commands.json'))},
\ 'initialization_options': { 'cacheDirectory': '/path/to/cquery/cache' },
\ 'whitelist': ['c', 'cpp', 'objc', 'objcpp', 'cc'],
\ })
endif
where /path/to/cquery/cache
can be e.g. /tmp/cquery/cache
.
If you want to use cquery features that use extensions to language server protocol, vim-lsp-cquery plugin may help you. It adds commands to get all functions that override this one, or get a list of all variables that are objects of some user-defined class.
Note, that as many clang/llvm based tools do, cquery, in order to work properly, requires a file compile_commands.json
, that store a description of how compiler is invoked, what macro definitions are passed to it, etc. Use your build system of choice to generate it. See llvm page about compilation database.