branch: master
commit fd004284117e849fad47f3d2195ed66bdb97f6d1
Merge: e8fc998 e04eeb2
Author: R. Bernstein <[email protected]>
Commit: R. Bernstein <[email protected]>
Merge pull request #86 from cpitclaudel/83-improve-e-binding
Improve eval: run on region if active, and fall back to prompting
---
realgud/common/cmds.el | 10 +++++++++-
realgud/common/menu.el | 4 ++--
realgud/common/shortkey.el | 2 +-
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/realgud/common/cmds.el b/realgud/common/cmds.el
index 9ab344f..21eaa57 100644
--- a/realgud/common/cmds.el
+++ b/realgud/common/cmds.el
@@ -117,18 +117,26 @@ a shortcut for that key."
)
(defun realgud:cmd-eval(arg)
- "Exaluate an expression."
+ "Evaluate an expression."
(interactive "MEval expesssion: ")
(realgud:cmd-remap arg "eval" "eval %s" "e")
)
(defun realgud:cmd-eval-region(start end)
+ "Evaluate current region."
(interactive "r")
(let ((text (buffer-substring-no-properties start end)))
(realgud:cmd-remap text "eval" "eval %s" "e")
)
)
+(defun realgud:cmd-eval-dwim()
+ "Eval the current region if active; otherwise, prompt."
+ (interactive)
+ (call-interactively (if (region-active-p)
+ #'realgud:cmd-eval-region
+ #'realgud:cmd-eval)))
+
(defun realgud:cmd-finish(&optional arg)
"Run until the completion of the current stack frame.
diff --git a/realgud/common/menu.el b/realgud/common/menu.el
index 94d1385..efab31a 100644
--- a/realgud/common/menu.el
+++ b/realgud/common/menu.el
@@ -152,9 +152,9 @@ menu. (The common map typically contains function key
bindings.)"
))
(define-key debugger-map [eval]
- (realgud-menu-item debugger-map "Evaluate Region"
'realgud:cmd-eval-region
+ (realgud-menu-item debugger-map "Evaluate region or string"
'realgud:cmd-eval-dwim
:enable '(realgud-get-process)
- :help (documentation 'realgud:cmd-eval-region)
+ :help (documentation 'realgud:cmd-eval-dwim)
))
(define-key debugger-map [Recenter]
diff --git a/realgud/common/shortkey.el b/realgud/common/shortkey.el
index 4adecc2..c236237 100644
--- a/realgud/common/shortkey.el
+++ b/realgud/common/shortkey.el
@@ -43,7 +43,7 @@
(define-key map "9" 'realgud:goto-loc-hist-9)
(define-key map "b" 'realgud:cmd-break)
(define-key map "c" 'realgud:cmd-continue)
- (define-key map "e" 'realgud:cmd-eval-region)
+ (define-key map "e" 'realgud:cmd-eval-dwim)
(define-key map "U" 'realgud:cmd-until)
(define-key map [mouse-2] 'realgud:tooltip-eval)