aboutsummaryrefslogtreecommitdiffstats
path: root/doom-emacs/.config/doom/modules/tools/cc-ide
diff options
context:
space:
mode:
authorPeter Son Struschka <me@peter-struschka.com>2020-07-21 12:12:52 +0800
committerPeter Son Struschka <me@peter-struschka.com>2020-07-21 12:12:52 +0800
commit556bbd7fd182937e32eb5320a27ba337ac454be0 (patch)
treece3cbdf376ed26fa1b2ef4c67e9349c61c6fb98d /doom-emacs/.config/doom/modules/tools/cc-ide
parenta0d15122db0190e1cf7faed32c9ba0a28424968f (diff)
downloaddotfiles-556bbd7fd182937e32eb5320a27ba337ac454be0.tar.gz
dotfiles-556bbd7fd182937e32eb5320a27ba337ac454be0.tar.bz2
dotfiles-556bbd7fd182937e32eb5320a27ba337ac454be0.tar.lz
dotfiles-556bbd7fd182937e32eb5320a27ba337ac454be0.tar.xz
dotfiles-556bbd7fd182937e32eb5320a27ba337ac454be0.tar.zst
dotfiles-556bbd7fd182937e32eb5320a27ba337ac454be0.zip
doom-emacs: update repository and init.el
Diffstat (limited to 'doom-emacs/.config/doom/modules/tools/cc-ide')
-rw-r--r--doom-emacs/.config/doom/modules/tools/cc-ide/config.el61
-rw-r--r--doom-emacs/.config/doom/modules/tools/cc-ide/packages.el10
2 files changed, 71 insertions, 0 deletions
diff --git a/doom-emacs/.config/doom/modules/tools/cc-ide/config.el b/doom-emacs/.config/doom/modules/tools/cc-ide/config.el
new file mode 100644
index 0000000..c96fd19
--- /dev/null
+++ b/doom-emacs/.config/doom/modules/tools/cc-ide/config.el
@@ -0,0 +1,61 @@
+;;; tools/gtags/config.el -*- lexical-binding: t; -*-
+
+(use-package! ggtags
+ :unless (or (featurep! :completion ivy) (featurep! :completion helm))
+ :config
+ (add-hook! (c-mode c++-mode java-mode asm-mode) (ggtags-mode 1))
+ (map! :map ggtags-mode-map
+ "C-c g s" 'ggtags-find-other-symbol
+ "C-c g h" 'ggtags-view-tag-history
+ "C-c g r" 'ggtags-find-reference
+ "C-c g f" 'ggtags-find-file
+ "C-c g c" 'ggtags-create-tags
+ "C-c g u" 'ggtags-update-tags
+ "M-," 'pop-tag-mark)
+ (setq-hook! 'ggtags-mode-hook imenu-create-index-function 'ggtags-build-imenu-index)
+ )
+
+(use-package! helm-gtags
+ :when (featurep! :completion helm)
+ :after helm
+ :init
+ (setq! helm-gtags-ignore-case t
+ helm-gtags-auto-update t
+ helm-gtags-use-input-at-cursor t
+ helm-gtags-pulse-at-cursor t
+ helm-gtags-prefix-key "\C-cg"
+ helm-gtags-suggested-key-mapping t)
+ :config
+ (add-hook! (dired-mode eshell-mode c-mode c++-mode asm-mode) (helm-gtags-mode))
+ (map! :map helm-gtags-mode-map
+ "C-c g a" 'helm-gtags-tags-in-this-function
+ "C-j" 'helm-gtags-select
+ "M-." 'helm-gtags-dwim
+ "M-," 'helm-gtags-pop-stack
+ "C-c <" 'helm-gtags-previous-history
+ "C-c >" 'helm-gtags-next-history)
+ )
+
+(use-package! counsel-gtags
+ :when (featurep! :completion ivy)
+ :after ivy
+ :config
+ (add-hook! (c-mode c++-mode asm-mode) #'counsel-gtags-mode)
+ (map! :map counsel-gtags-mode-map
+ "C-c g t" 'counsel-gtags-find-definition
+ "C-c g r" 'counsel-gtags-find-reference
+ "C-c g s" 'counsel-gtags-find-symbol
+ "C-c g f" 'counsel-gtags-find-file
+ "C-c g c" 'counsel-gtags-create-tags
+ "C-c g u" 'counsel-gtags-update-tags
+ "M-," 'counsel-gtags-dwim
+ "C-c <" 'counsel-gtags-go-backward
+ "C-c >" 'counsel-gtags-go-forward)
+ )
+
+(use-package! function-args
+ :init
+ (setq-default semantic-case-fold t)
+ :config
+ (add-hook! (c-mode c++-mode asm-mode) #'function-args-mode)
+ )
diff --git a/doom-emacs/.config/doom/modules/tools/cc-ide/packages.el b/doom-emacs/.config/doom/modules/tools/cc-ide/packages.el
new file mode 100644
index 0000000..f4840d5
--- /dev/null
+++ b/doom-emacs/.config/doom/modules/tools/cc-ide/packages.el
@@ -0,0 +1,10 @@
+;; -*- no-byte-compile: t; -*-
+;;; tools/gtags/packages.el
+
+(if (featurep! :completion ivy)
+ (package! counsel-gtags)
+ (if (featurep! :completion helm)
+ (package! helm-gtags)
+ (package! ggtags)))
+
+(package! function-args)