From 58204a6a294b2fd98be3c91200c6ce28107004c6 Mon Sep 17 00:00:00 2001 From: David Florness Date: Wed, 3 Jan 2018 17:54:30 -0700 Subject: [PATCH] Setup rtags --- lisp/setup-dev.el | 46 ++++++++++++++++++++++++++++++++++++++++++++++ lisp/setup-helm.el | 2 -- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/lisp/setup-dev.el b/lisp/setup-dev.el index 5428b5e..5856d16 100644 --- a/lisp/setup-dev.el +++ b/lisp/setup-dev.el @@ -77,6 +77,52 @@ (editorconfig-mode 1)) +(require 'cc-mode) +(require 'semantic) + +(global-semanticdb-minor-mode 1) +(global-semantic-idle-scheduler-mode 1) + +(semantic-mode 1) + +(defun rtags-hook () + "Setup rtags and flycheck." + (require 'flycheck-rtags) + (rtags-start-process-unless-running) + (flycheck-select-checker 'rtags) + (setq-local flycheck-highlighting-mode nil) + ;; (rtags-mode) + ) + +(use-package rtags + :ensure t + :hook + (c-mode . rtags-hook) + (c++-mode . rtags-hook) + (objc-mode . rtags-hook) + :config + (progn + (evil-define-key '(normal motion) 'global (kbd "M-.") 'rtags-find-symbol-at-point) + (evil-define-key '(normal motion) 'global (kbd "M-,") 'rtags-find-references-at-point) + (evil-define-key '(normal motion) 'global (kbd "M-;") 'rtags-find-file) + (evil-define-key '(normal motion) 'global (kbd "C-.") 'rtags-find-symbol) + (evil-define-key '(normal motion) 'global (kbd "C-,") 'rtags-find-references) + (evil-define-key '(normal motion) 'global (kbd "C-<") 'rtags-find-virtuals-at-point) + (evil-define-key '(normal motion) 'global (kbd "C->") 'rtags-diagnostics) + (evil-define-key '(normal motion) 'global (kbd "M-[") 'rtags-location-stack-back) + (evil-define-key '(normal motion) 'global (kbd "M-]") 'rtags-location-stack-forward) + (use-package company-rtags :ensure t) + (use-package flycheck-rtags :ensure t) + (use-package helm-rtags :ensure t) + (setq rtags-autostart-diagnostics t + rtags-completions-enabled t) + (with-eval-after-load 'company + ;; (push 'company-rtags company-backends) + (add-to-list 'company-backends 'company-rtags) + ) + (setq rtags-display-result-backend 'helm))) + + (use-package zeal-at-point :ensure t :bind diff --git a/lisp/setup-helm.el b/lisp/setup-helm.el index 48573a6..ca78982 100644 --- a/lisp/setup-helm.el +++ b/lisp/setup-helm.el @@ -75,8 +75,6 @@ helm-gtags-suggested-key-mapping t) (add-hook 'dired-mode-hook 'helm-gtags-mode) (add-hook 'eshell-mode-hook 'helm-gtags-mode) - (add-hook 'c-mode-hook 'helm-gtags-mode) - (add-hook 'c++-mode-hook 'helm-gtags-mode) (add-hook 'asm-made-hook 'helm-gtags-mode)) :config (progn -- 2.38.4