Skip to content

Commit 4d13573

Browse files
committed
Display Clojure test failures right in the code buffer
1 parent 6cf13e1 commit 4d13573

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

emacs/emacs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
;; If you edit it by hand, you could mess it up, so be careful.
1818
;; Your init file should contain only one such instance.
1919
;; If there is more than one, they won't work right.
20+
'(clojure-test-failure-face ((t (:foreground "brightred"))))
2021
'(hl-line ((t (:inherit highlight))))
2122
'(idle-highlight ((t (:inherit hl-line))))
2223
'(italic ((t (:underline nil :slant italic))))

emacs/emacs.d/maio-clojure.el

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,30 @@
77
(call-interactively 'nrepl-switch-to-repl-buffer)
88
(call-interactively 'nrepl)))
99

10+
(defun maio/delete-nrepl-error-window ()
11+
(interactive)
12+
(when (get-buffer "*nrepl-error*")
13+
(let ((nrepl-error-window (get-buffer-window (get-buffer "*nrepl-error*"))))
14+
(when nrepl-error-window
15+
(delete-window nrepl-error-window)))))
16+
1017
(eval-after-load 'clojure-mode
1118
'(progn
19+
(require 'midje-mode)
1220
(require 'clojure-test-mode)
13-
(defadvice clojure-test-run-tests (before save activate) (save-buffer))
14-
(key-chord-define clojure-test-mode-map ";e" 'clojure-test-run-tests)
21+
(defadvice clojure-test-run-tests (before clear-and-save activate)
22+
(maio/delete-nrepl-error-window)
23+
(midje-clear-comments)
24+
(save-buffer))
25+
(defadvice clojure-test-highlight-problem (after comment (line event message pp-actual) activate)
26+
(save-excursion
27+
(goto-char (point-min))
28+
(forward-line (1- line))
29+
(beginning-of-line)
30+
(call-interactively 'open-line)
31+
(indent-according-to-mode)
32+
(midje-insert-failure-message message)))
33+
(key-chord-define clojure-test-mode-map ";w" 'clojure-test-run-tests)
1534
(evil-define-key 'normal clojure-mode-map "gs" 'maio/nrepl)
1635
(evil-define-key 'normal clojure-mode-map (kbd "M-.") 'nrepl-jump)
1736
(add-hook 'clojure-mode-hook 'eldoc-mode)

0 commit comments

Comments
 (0)