A highly-scalable C/C++/Objective-C language server for multi-million line codebases, powered by libclang, implementing the LSP protocol with cross-references, completion, diagnostics, and semantic highlighting.
- v20180302
- Published at
- Mar 2, 2018
- 2,360
- Stars
- 6,031
- Download
- Synced at
- Sep 29, 2026
Latest release
v20180302Mar 2, 2018, 07:18 AMDownloads slow? Switch the source anytime above
README
Project Overview
cquery is a highly-scalable, low-latency language server for C/C++/Objective-C, tested and designed for large code bases like Chromium. It implements almost the entire language server protocol and provides some extra features.
Key Features
- Code completion (with signature help and snippets)
- Find definition/references
- Call (caller/callee) hierarchy
- Inheritance (base/derived) hierarchy
- Symbol rename
- Document symbols and workspace symbol search
- Hover information
- Diagnostics and code actions (clang FixIts)
- Preprocessor skipped regions
- #include auto-complete, undefined type include insertion, include quick-jump
- Auto-implement functions without a definition
- Semantic highlighting, including rainbow semantic highlighting
Target Audience
- Developers working on large C/C++ codebases
- Users of LSP-compatible editors (Emacs, Vim, VSCode, etc.)
Quick Start
- Visit the cquery wiki to get started
- Follow the installation and configuration instructions
- Configure your editor's LSP client to point to cquery
Core Advantages
- Optimized for large codebases like Chromium
- Accurate and fast semantic analysis without interrupting workflow
- Almost complete LSP protocol implementation
- MIT licensed
System Requirements
- OS: Cross-platform
- Architectures: x86_64, arm64
- Additional Dependencies: libclang
Notes
- This project is archived and no longer under development. Recommended replacements: clangd and ccls
- High memory overhead — a full index of Chrome takes about 10GB of memory
Release history
Sort