emacs-ccls is a client for ccls, a C/C++/Objective-C language server supporting multi-million line C++ code-bases, powered by libclang.
It leverages lsp-mode, but also provides some ccls extensions to LSP:
- semantic highlighting
- skipped ranges (e.g. a
#if false
region) - cross references:
$ccls/inheritance
$ccls/call
$ccls/vars
(require 'ccls)
(setq ccls-executable "/path/to/ccls/Release/ccls")
Refer to https://github.com/MaskRay/ccls/wiki/lsp-mode for details.
$ccls/call
(caller/callee, with hierarchical view)
https://github.com/MaskRay/ccls/wiki/lsp-mode#ccls-navigate