From f014a12d9597f5287694e5d8283d33b4beef3de6 Mon Sep 17 00:00:00 2001 From: Ravi R Kiran Date: Mon, 9 Apr 2018 06:54:22 -0500 Subject: Use cquery diff --git a/.gitmodules b/.gitmodules index 2c37fc0..8c2ec6e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "site-lisp/pdf-tools"] path = site-lisp/pdf-tools url = https://github.com/politza/pdf-tools.git +[submodule "site-lisp/cquery"] + path = site-lisp/cquery + url = https://github.com/cquery-project/cquery diff --git a/lisp/ravi-init-cpp.el b/lisp/ravi-init-cpp.el index 72e73c8..3d4463d 100644 --- a/lisp/ravi-init-cpp.el +++ b/lisp/ravi-init-cpp.el @@ -526,7 +526,42 @@ this to 3 makes header-protection define KIG_MISC_NEWTYPE_H for a file named :config (progn (bind-key "C-" 'company-rtags c-mode-base-map) - (add-to-list 'company-backends 'company-rtags))))) + (add-to-list 'company-backends 'company-rtags)))) + :disabled t) + + (setq ravi/use-cquery-mode t) + (when (bound-and-true-p ravi/use-cquery-mode) + (use-package cquery + :commands lsp-cquery-enable + :init + (progn + (defun ravi/cquery-enable () + (condition-case nil + (lsp-cquery-enable) + (user-error nil))) + (add-hook 'c-mode-common-hook #'ravi/cquery-enable) + ) + :config + (progn + (setq cquery-executable (ravi/emacs-file "site-lisp/cquery/build/release/bin/cquery")) + (setq cquery-extra-args `(,(expand-file-name "cq.log" (ravi/emacs-file "past")))) ; to do: use relative path + (setq cquery-cache-dir ".cquery_cached_index") + (setq cquery-extra-init-params '(:index (:comments 2) :cacheFormat "msgpack" :completion (:detailedLabel t))) + + (use-package company-lsp + :config + (progn + ;; (setq company-transformers nil) ; to do: only for C++-mode with cquery + (setq company-lsp-async t) + (setq company-lsp-cache-candidates nil)) + :ensure t) + (use-package lsp-mode :ensure t) + (use-package lsp-ui :ensure t) + (use-package lsp-ui-peek :ensure t) + (use-package helm-xref :ensure t) + ) + :ensure t) + ) (setq hide-ifdef-initially nil) diff --git a/site-lisp/cquery b/site-lisp/cquery new file mode 160000 index 0000000..c14e562 --- /dev/null +++ b/site-lisp/cquery @@ -0,0 +1 @@ +Subproject commit c14e562eea7fc227a28cd8adef018584d6ce20f2 -- cgit v0.10.1