summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Nguyen <james@jojojames.com>2017-12-03 01:41:08 -0800
committerJames Nguyen <james@jojojames.com>2017-12-03 01:41:33 -0800
commitff27eb292a03946bbf6a25e4b2011a4659b10853 (patch)
treea9f3c0f776f538387c978ab61cfcc85b76b244db
parenta0c8dcddd1b3b9434ea5cc27b4c2f6e7ca815306 (diff)
GGTags: Use evil-define-key
-rw-r--r--evil-ggtags.el92
1 files changed, 47 insertions, 45 deletions
diff --git a/evil-ggtags.el b/evil-ggtags.el
index facb908..1abba1a 100644
--- a/evil-ggtags.el
+++ b/evil-ggtags.el
@@ -31,57 +31,59 @@
(require 'ggtags nil t)
(defvar ggtags-global-mode-map)
+(defvar ggtags-mode-map)
(defvar ggtags-view-search-history-mode-map)
(defvar ggtags-view-tag-history-mode-map)
(defvar ggtags-navigation-map)
(defun evil-ggtags-setup ()
"Set up `evil' bindings for `ggtags'."
- (evil-collection-util-evilify-map
- ggtags-global-mode-map
- :mode ggtags-global-mode)
-
- (evil-collection-util-evilify-map
- ggtags-view-search-history-mode-map
- :bindings
- "j" 'ggtags-view-search-history-prev
- "k" 'ggtags-view-search-history-next
- (kbd "C-j") 'ggtags-view-search-history-prev
- (kbd "C-k") 'ggtags-view-search-history-next
- "x" 'ggtags-view-search-history-kill
- "r" 'ggtags-save-to-register
- "\r" 'ggtags-view-search-history-action
- "e" 'evil-forward-word-end
- "E" 'evil-forward-WORD-end)
-
- (evil-collection-util-evilify-map
- ggtags-view-tag-history-mode-map
- :bindings
- (kbd "C-j") 'next-error-no-select
- (kbd "C-k") 'previous-error-no-select
- "e" 'evil-forward-word-end
- "E" 'evil-forward-WORD-end)
-
- (evil-collection-util-evilify-map
- ggtags-view-tag-history-mode-map
- :bindings
- (kbd "C-j") 'next-error-no-select
- (kbd "C-k") 'previous-error-no-select
- "e" 'evil-forward-word-end
- "E" 'evil-forward-WORD-end)
-
- (evil-collection-util-evilify-map
- ggtags-navigation-map
- :bindings
- (kbd "C-j") 'next-error
- (kbd "C-k") 'previous-error
- (kbd "M-j") 'ggtags-navigation-next-file
- (kbd "M-k") 'ggtags-navigation-previous-file
- (kbd "M-=") 'ggtags-navigation-start-file
- (kbd "M->") 'ggtags-navigation-last-error
- (kbd "M-<") 'first-error
- "e" 'evil-forward-word-end
- "E" 'evil-forward-WORD-end))
+ (evil-set-initial-state 'ggtags-global-mode 'normal)
+ (evil-set-initial-state 'ggtags-view-search-history-mode 'normal)
+ (evil-set-initial-state 'ggtags-view-tag-history-mode 'normal)
+
+ (evil-define-key 'normal ggtags-mode-map
+ "gd" 'ggtags-find-tag-dwim
+ (kbd "C-t") 'ggtags-prev-mark
+ "gf" 'ggtags-find-file)
+
+ (evil-define-key 'normal ggtags-view-search-history-mode-map
+ "gj" 'ggtags-view-search-history-next
+ "gk" 'ggtags-view-search-history-prev
+ (kbd "C-j") 'ggtags-view-search-history-next
+ (kbd "C-k") 'ggtags-view-search-history-prev
+ "]" 'ggtags-view-search-history-next
+ "[" 'ggtags-view-search-history-prev
+ "x" 'ggtags-view-search-history-kill
+ "gr" 'ggtags-view-search-history-update
+ "r" 'ggtags-save-to-register
+ "R" 'ggtags-view-search-history-action
+ "q" 'ggtags-kill-window)
+
+ (evil-define-key 'normal ggtags-view-tag-history-mode-map
+ "gj" 'next-error-no-select
+ (kbd "C-j") 'next-error-no-select
+ "]" 'next-error-no-select
+ "gk" 'previous-error-no-select
+ (kbd "C-k") 'previous-error-no-select
+ (kbd "[") 'previous-error-no-select
+ "q" 'ggtags-kill-window)
+
+ (evil-define-key 'normal ggtags-navigation-map
+ ;; navigation
+ "gj" 'next-error
+ "gk" 'next-error
+ (kbd "C-j") 'previous-error
+ (kbd "C-k") 'previous-error
+ "]" 'ggtags-navigation-next-file
+ "[" 'ggtags-navigation-previous-file
+
+ ;; search
+ "s" 'ggtags-navigation-isearch-forward
+ "S" 'ggtags-navigation-isearch-forward
+
+ "go" 'ggtags-navigation-visible-mode ;; FIXME: This can be anything.
+ (kbd "<return>") 'ggtags-navigation-mode-done))
(provide 'evil-ggtags)
;;; evil-ggtags.el ends here