Emacs client for cquery, a low-latency language server supporting multi-million line C++ code-bases
Switch branches/tags
Nothing to show
Clone or download

README.md

MELPA

emacs-cquery

emacs-cquery is a client for cquery, a low-latency language server supporting multi-million line C++ code-bases, powered by libclang.

It leverages lsp-mode, but also provides some cquery extensions to LSP:

  • semantic highlighting
  • inactive region (e.g. a #if false region)
  • cross references: $cquery/base $cquery/callers $cquery/derived $cquery/vars

More on https://github.com/cquery-project/cquery/wiki/Emacs

Quickstart

(require 'cquery)
(setq cquery-executable "/path/to/cquery/build/release/bin/cquery")
;; (setq cquery-executable "/path/to/cquery-install-prefix/bin/cquery")

To enable comments and use Message Pack for cache files (which are stored in cacheDirectory):

(setq cquery-extra-init-params '(:index (:comments 2) :cacheFormat "msgpack"))

Refer to https://github.com/jacobdufault/cquery/wiki/Emacs for details.

with lsp-ui-doc, enableComments references + hydra with company-lsp with helm-xref, approximate workspace/symbol search

$cquery/memberHierarchy $cquery/memberHierarchy

$cquery/callHierarchy (caller hierarchy and callee hierarchy) $cquery/callHierarchy

License

MIT