ccls is a fork of cquery (originally written by Jacob Dufault), a C/C++/Objective-C language server.
- code completion (with both signature help and snippets)
- definition/references, and other cross references
- call (caller/callee) hierarchy, inheritance (base/derived) hierarchy, member hierarchy
- symbol rename
- document symbols and approximate search of workspace symbol
- hover information
- diagnostics
- code actions (clang FixIts)
- preprocessor skipped regions
- semantic highlighting, including support for rainbow semantic highlighting
It makes use of C++17 features, has less third-party dependencies and slimmed-down code base. Cross reference features are strenghened, (see [wiki/FAQ]). It currently uses libclang to index C++ code but will switch to Clang C++ API. Refactoring and formatting are non-goals as they can be provided by clang-format, clang-include-fixer and other Clang based tools.