From b1880372af05768b09d3d7320369aec0858f31a2 Mon Sep 17 00:00:00 2001 From: Fredrik Eckardt Date: Sun, 7 Feb 2021 02:30:04 +0000 Subject: [PATCH] [feature] Better CIDER debugging * Maps cider-debug-at-point to "localleader d d" * Overrides evil keybindings to not interfere with the cider--debug-mode bindings during the debug session --- modules/lang/clojure/config.el | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/lang/clojure/config.el b/modules/lang/clojure/config.el index f8e9bdb9a..b705f4099 100644 --- a/modules/lang/clojure/config.el +++ b/modules/lang/clojure/config.el @@ -86,6 +86,14 @@ (with-current-buffer nrepl-server-buffer (buffer-string))))))) + ;; When in cider-debug-mode, override evil keys to not interfere with debug keys + (after! evil + (add-hook! cider--debug-mode + (defun +clojure--cider-setup-debug () + "Setup cider debug to override evil keys cleanly" + (evil-make-overriding-map cider--debug-mode-map 'normal) + (evil-normalize-keymaps)))) + ;; The CIDER welcome message obscures error messages that the above code is ;; supposed to be make visible. (setq cider-repl-display-help-banner nil) @@ -98,6 +106,8 @@ "C" #'cider-connect-cljs "m" #'cider-macroexpand-1 "M" #'cider-macroexpand-all + (:prefix ("d" . "debug") + "d" #'cider-debug-defun-at-point) (:prefix ("e" . "eval") "b" #'cider-eval-buffer "d" #'cider-eval-defun-at-point