summaryrefslogtreecommitdiff
path: root/evil-collection-realgud.el
diff options
context:
space:
mode:
authorJames Nguyen <james@jojojames.com>2018-01-11 19:26:08 -0800
committerJames Nguyen <james@jojojames.com>2018-01-11 19:26:08 -0800
commit7bf7363865e598376aa23b14c50ae3ea9f440bf5 (patch)
treed883a36861811fcc54b5170e86ee264e101afc1f /evil-collection-realgud.el
parent833d0596e7336cdbd86831b4232d3516bfb3e203 (diff)
Add debugging rationale and support for some modes
Tweaked edebug
Diffstat (limited to 'evil-collection-realgud.el')
-rw-r--r--evil-collection-realgud.el97
1 files changed, 97 insertions, 0 deletions
diff --git a/evil-collection-realgud.el b/evil-collection-realgud.el
new file mode 100644
index 0000000..47efc42
--- /dev/null
+++ b/evil-collection-realgud.el
@@ -0,0 +1,97 @@
+;;; evil-collection-realgud.el --- Bindings for `realgud'. -*- lexical-binding: t -*-
+
+;; Copyright (C) 2017 James Nguyen
+
+;; Author: James Nguyen <james@jojojames.com>
+;; Maintainer: James Nguyen <james@jojojames.com>
+;; Pierre Neidhardt <ambrevar@gmail.com>
+;; URL: https://github.com/jojojames/evil-collection
+;; Version: 0.0.1
+;; Package-Requires: ((emacs "25.1"))
+;; Keywords: evil, emacs, tools, realgud
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;; Bindings for `realgud'.
+(require 'evil)
+(require 'realgud nil t)
+
+;;; Code:
+(defun evil-collection-realgud-setup ()
+ "Set up `evil' bindings for `realgud'."
+ ;; This one is to represent `realgud-populate-src-buffer-map-plain'.
+ (evil-define-key 'normal realgud:shortkey-mode-map
+ "b" 'realgud:cmd-break
+ "u" 'realgud:cmd-delete
+ "X" 'realgud:cmd-clear
+ "-" 'realgud:cmd-disable
+ "+" 'realgud:cmd-enable
+ "T" 'realgud:cmd-backtrace
+ "f" 'realgud:cmd-finish
+ "n" 'realgud:cmd-next
+ "q" 'realgud:cmd-quit
+ "Q" 'realgud:cmd-kill
+ "r" 'realgud:cmd-restart
+ "R" 'realgud:cmd-restart
+ "s" 'realgud:cmd-step
+ "i" 'realgud:cmd-step
+ "!" 'realgud:cmd-shell
+
+ ;; (define-key map [M-down] 'realgud-track-hist-newer)
+ ;; (define-key map [M-kp-2] 'realgud-track-hist-newer)
+ ;; (define-key map [M-up] 'realgud-track-hist-older)
+ ;; (define-key map [M-kp-8] 'realgud-track-hist-older)
+ ;; (define-key map [M-kp-up] 'realgud-track-hist-older)
+ ;; (define-key map [M-kp-down] 'realgud-track-hist-newer)
+ ;; (define-key map [M-print] 'realgud-track-hist-older)
+ ;; (define-key map [M-S-down] 'realgud-track-hist-newest)
+ ;; (define-key map [M-S-up] 'realgud-track-hist-oldest)
+ )
+
+ (evil-define-key 'normal realgud:shortkey-mode-map
+ (kbd "C-x C-q") 'realgud-short-key-mode
+ "1" 'realgud-goto-arrow1
+ "2" 'realgud-goto-arrow2
+ "3" 'realgud-goto-arrow3
+ "4" 'realgud:goto-loc-hist-4
+ "5" 'realgud:goto-loc-hist-5
+ "6" 'realgud:goto-loc-hist-6
+ "7" 'realgud:goto-loc-hist-7
+ "8" 'realgud:goto-loc-hist-8
+ "9" 'realgud:goto-loc-hist-9
+ "b" 'realgud:cmd-break
+ "J" 'realgud:cmd-jump
+ "c" 'realgud:cmd-continue
+ "e" 'realgud:cmd-eval-dwim
+ "E" 'realgud:cmd-eval-at-point
+ "U" 'realgud:cmd-until
+ "H" 'realgud:cmd-until
+ [mouse-2] 'realgud:tooltip-eval
+ [left-fringe mouse-1] 'realgud-cmds--mouse-add-remove-bp
+ [left-margin mouse-1] 'realgud-cmds--mouse-add-remove-bp
+ ">" 'realgud:cmd-newer-frame
+ "<" 'realgud:cmd-older-frame
+ "gR" 'realgud-recenter-arrow ;; FIXME: Hmnn!
+ "C" 'realgud-window-cmd-undisturb-src
+ "g?" 'realgud:cmdbuf-info-describe
+ "S" 'realgud-window-src-undisturb-cmd
+ "R" 'realgud:cmd-restart
+ "gr" 'realgud:cmd-restart
+ "!" 'realgud:cmd-shell)
+
+ (add-hook 'realgud-short-key-mode-hook #'evil-normalize-keymaps))
+
+(provide 'evil-collection-realgud)
+;;; evil-collection-realgud.el ends here