From cd997383daeedf2644e583e3f8be0115c7f4b6c3 Mon Sep 17 00:00:00 2001 From: Andrew Whatson Date: Mon, 25 Feb 2019 00:33:40 +1000 Subject: [PATCH] Replace cquery with ccls for C/C++ LSP support --- modules/lang/cc/config.el | 19 +++++++++---------- modules/lang/cc/packages.el | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index f0535061c..ecd4a96a3 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -224,17 +224,16 @@ compilation database is present in the project.") ;; ;; LSP -(def-package! cquery +(def-package! ccls :when (featurep! +lsp) - :hook ((c-mode c++-mode objc-mode) . +lsp|init-cquery) + :hook ((c-mode c++-mode objc-mode) . +lsp|init-ccls) :config - (defun +lsp|init-cquery () + (defun +lsp|init-ccls () (setq-local company-transformers nil) + (setq-local company-lsp-async t) (setq-local company-lsp-cache-candidates nil) - (condition-case nil - (lsp) - (user-error nil))) - (setq cquery-extra-init-params - '(:index (:comments 2) - :cacheFormat "msgpack" - :completion (:detailedLabel t)))) + (lsp)) + (after! projectile + (add-to-list 'projectile-globally-ignored-directories ".ccls-cache") + (add-to-list 'projectile-project-root-files-bottom-up ".ccls-root") + (add-to-list 'projectile-project-root-files-top-down-recurring "compile_commands.json"))) diff --git a/modules/lang/cc/packages.el b/modules/lang/cc/packages.el index d0213da5c..5a73da2f9 100644 --- a/modules/lang/cc/packages.el +++ b/modules/lang/cc/packages.el @@ -13,7 +13,7 @@ (package! company-glsl :recipe (:fetcher github :repo "Kaali/company-glsl")))) (if (featurep! +lsp) - (package! cquery) + (package! ccls) (when (package! irony) (package! irony-eldoc) (when (featurep! :tools flycheck)