ccls is a stand-alone server implementing the Language Server Protocol for C, C++, and Objective-C languages. It can be used with any editor which provides an LSP client implementation. It originates from cquery.
The language client (editor plugin) opens an instance of ccls for each project. ccls runs in the background, indexing the source code in the project and responding to requests from editors.
ccls uses the Clang+LLVM C++ libraries to parse your source code, so it will recognize all language features supported by Clang.
Build
First you must build ccls
Install
You may (optionally) install ccls.
Editor Configuration
Next you must configure your editor to use ccls.
Project Setup
Finally you must set up your project for use with ccls.
Customization
You may wish to customize the way ccls indexes your project, for completeness and/or performance (especially for large projects).
Debugging
If you need to debug issues with ccls these tips can help.
FAQ
Some answers to frequently-asked questions.
LSP
Notes about the Language Server Protocol.