emacs-ccls
emacs-ccls copied to clipboard
Emacs client for ccls, a C/C++ language server
emacs-ccls
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
Quickstart
(require 'ccls)
(setq ccls-executable "/path/to/ccls/Release/ccls")
Refer to https://github.com/MaskRay/ccls/wiki/lsp-mode for details.
![lsp-ui-doc](https://raw.githubusercontent.com/MaskRay/ccls-static/master/emacs-ccls/lsp-ui-doc.webp)
![references+hydra](https://raw.githubusercontent.com/MaskRay/ccls-static/master/emacs-ccls/reference-hydra.webp)
![company-lsp](https://raw.githubusercontent.com/MaskRay/ccls-static/master/emacs-ccls/company-lsp.webp)
![$ccls/member](https://raw.githubusercontent.com/MaskRay/ccls-static/master/emacs-ccls/ccls-member.webp)
$ccls/call
(caller/callee, with hierarchical view)
ccls-navigate
https://github.com/MaskRay/ccls/wiki/lsp-mode#ccls-navigate