summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--lisp/ravi-init-cpp.el37
m---------site-lisp/cquery0
3 files changed, 39 insertions, 1 deletions
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-<tab>" '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
+Subproject c14e562eea7fc227a28cd8adef018584d6ce20f