summaryrefslogtreecommitdiff
path: root/cider-stacktrace.el
diff options
context:
space:
mode:
authorJeff Valk <jv@jeffvalk.com>2014-04-25 08:23:17 -0400
committerJeff Valk <jv@jeffvalk.com>2014-04-25 09:37:04 -0400
commit266eba3565ce3287117672d2ab60dc3e5afdbb18 (patch)
tree871013ab9977c34f0dad7056b19c05923548ee3d /cider-stacktrace.el
parent44974a6da0750d80feb14f0cfcaf9ca075501759 (diff)
Enable 'jump' keybindings for stacktrace navigation.
Document enabling cider-mode on cider-jump targets.
Diffstat (limited to 'cider-stacktrace.el')
-rw-r--r--cider-stacktrace.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/cider-stacktrace.el b/cider-stacktrace.el
index f96ba8b1..88f21b51 100644
--- a/cider-stacktrace.el
+++ b/cider-stacktrace.el
@@ -78,6 +78,7 @@
(defvar cider-stacktrace-mode-map
(let ((map (make-sparse-keymap)))
+ (define-key map (kbd "M-.") 'cider-stacktrace-jump)
(define-key map "j" 'cider-stacktrace-toggle-java)
(define-key map "c" 'cider-stacktrace-toggle-clj)
(define-key map "r" 'cider-stacktrace-toggle-repl)
@@ -214,6 +215,14 @@ Update `cider-stacktrace-hidden-frame-count' and indicate filters applied."
(cider-jump-to-def-for (vector file file line))
(error "No source info")))))
+(defun cider-stacktrace-jump ()
+ "Like `cider-jump', but uses the stack frame source at point, if available."
+ (interactive)
+ (let ((button (button-at (point))))
+ (if (and button (button-get button 'line))
+ (cider-stacktrace-navigate button)
+ (call-interactively 'cider-jump))))
+
;; Rendering