C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting
Go to file
2019-10-24 00:18:13 -07:00
ci Use clang_File_tryGetRealPathName 2019-10-23 21:56:50 -07:00
clang_archive_hashes clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz.SHA256 -> 16.04 2019-10-23 21:56:51 -07:00
cmake Infer system include paths from CompilerInvocation 2019-10-24 00:17:28 -07:00
index_tests Fix .. in compdb path; better type alias 2019-10-24 00:17:28 -07:00
src diagnostics 2019-10-24 00:18:13 -07:00
third_party Replace loguru with a custom logger 2019-10-23 21:56:51 -07:00
.clang-format Add project .clang-format 2017-11-19 12:15:14 -05:00
.gitignore . 2019-10-23 21:56:50 -07:00
.gitmodules Replace loguru with a custom logger 2019-10-23 21:56:51 -07:00
CMakeLists.txt Rename message files (e.g. ccls_call_hierarchy.cc -> ccls_callHierarchy.cc) 2019-10-24 00:17:28 -07:00
README.md textDocument/references: include base references by default 2019-10-23 21:56:51 -07:00

ccls

ccls is a fork of cquery (originally written by Jacob Dufault), a C/C++/Objective-C language server.

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.

The comparison with cquery as noted on 2018-05-17:

cquery ccls
third_party more fewer
C++ C++14 C++17
clang API libclang (C) libclang + clang/llvm C++
Filesystem AbsolutePath + custom routines llvm/Support
index slight enhancement
pipeline index merge+id remapping simpler and more robust

cquery has system include path detection (through running the compiler driver) while ccls does not.

>>> Getting started (CLICK HERE) <<<