diff options
Diffstat (limited to 'lisp/ravi-init-cpp.el')
| -rw-r--r-- | lisp/ravi-init-cpp.el | 70 |
1 files changed, 20 insertions, 50 deletions
diff --git a/lisp/ravi-init-cpp.el b/lisp/ravi-init-cpp.el index 4b4ad91..89836a7 100644 --- a/lisp/ravi-init-cpp.el +++ b/lisp/ravi-init-cpp.el @@ -438,61 +438,31 @@ this to 3 makes header-protection define KIG_MISC_NEWTYPE_H for a file named (add-to-list 'company-backends 'company-rtags))))) ;; Choices of different LSP backends - (setq ravi/use-cpp-lsp-backends '(ravi/use-cpp-cquery ravi/use-cpp-ccls ravi/use-cpp-none)) + (setq ravi/use-cpp-lsp-backends '(ravi/use-cpp-ccls ravi/use-cpp-none)) (setq ravi/use-cpp-lsp-backend 'ravi/use-cpp-ccls) (unless (memq ravi/use-cpp-lsp-backend ravi/use-cpp-lsp-backends) (message "Invalid value for C++ LSP backend") (setq ravi/use-cpp-lsp-backend 'ravi/use-cpp-none)) - (unless (eq ravi/use-cpp-lsp-backend 'ravi/use-cpp-none) - (setq lsp-enable-completion-at-point nil) - (setq lsp-enable-indentation nil) ; conflicts with other indentation commands - (use-package company-lsp - :commands company-lsp - :config - (progn - (bind-key "H-<tab>" 'company-rtags c-mode-base-map) - (setq company-lsp-async t) - (setq company-lsp-cache-candidates nil))) - (use-package lsp-mode - :commands lsp) - (use-package lsp-ui - :commands lsp-ui-mode)) - - (when (eq ravi/use-cpp-lsp-backend 'ravi/use-cpp-ccls) - (use-package ccls - :init - (progn - (defun ravi/ccls-enable () - (unless (file-remote-p default-directory) - (condition-case nil - (progn - (require 'ccls) - (lsp)) - (user-error nil)))) - (add-hook 'c-mode-common-hook #'ravi/ccls-enable)) - :config - (setq ccls-executable (ravi/emacs-file "site-lisp/ccls/Release/ccls")) - (setq ccls-args `(,(concat "--log-file=" (expand-file-name "ccls.log" (ravi/emacs-file "past"))))) ; to do: use relative path - )) - - (when (eq ravi/use-cpp-lsp-backend 'ravi/use-cpp-cquery) - (use-package cquery - :commands lsp-cquery-enable - :init - (progn - (defun ravi/cquery-enable () - (unless (file-remote-p default-directory) - (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/cquery")) - (setq cquery-extra-args `(,(concat "--log-file=" (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 ccls + :if (eq ravi/use-cpp-lsp-backend 'ravi/use-cpp-ccls) + :init + (progn + (defun ravi/ccls-enable () + (unless (file-remote-p default-directory) + (condition-case nil + (progn + (require 'ccls) + (lsp-deferred)) + (user-error nil)))) + (add-hook 'c-mode-common-hook #'ravi/ccls-enable)) + :config + (setq ccls-executable (ravi/emacs-file "site-lisp/ccls/Release/ccls")) + (setq ccls-args `(,(concat "--log-file=" + (expand-file-name + (format "ccls-%s.log" (system-name)) + (ravi/emacs-file "past"))))) ; to do: use relative path + ) (setq hide-ifdef-initially nil) |
