Skip to content

Commit a03333e

Browse files
[stacktrace] Display triage message inline and in error buffer
1 parent fe40b5b commit a03333e

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

cider-eval.el

+10-4
Original file line numberDiff line numberDiff line change
@@ -369,10 +369,16 @@ For others, pop up *cider-error* buffer."
369369
(when (or (member ex-phase (cider-clojure-compilation-error-phases))
370370
(not (cider--show-error-buffer-p))
371371
(not (cider-connection-has-capability-p 'jvm-compilation-errors)))
372-
(let ((err-message (apply #'concat
373-
(mapcar (lambda (cause) (nrepl-dict-get cause "message"))
374-
causes))))
375-
(cider--display-error-as-overlay code-buffer err-message))))
372+
;; Search if any of the received causes contains a "triage" field. Append it
373+
;; to the inline error message if found.
374+
(let* ((triage (seq-some (lambda (cause) (nrepl-dict-get cause "triage")) causes))
375+
(err-message (mapconcat (lambda (cause) (nrepl-dict-get cause "message"))
376+
causes "\n"))
377+
(err-message (if triage
378+
(concat err-message "\n" triage)
379+
err-message)))
380+
(cider--display-error-unobtrusively code-buffer err-message))))
381+
376382

377383
(defun cider--analyze-last-stacktrace (callback)
378384
"Send `analyze-last-stacktrace' to server and invoke CALLBACK on the result.

cider-stacktrace.el

+6-1
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@ the NAME. The whole group is prefixed by string INDENT."
829829
"Emit into BUFFER the CAUSE NUM, exception class, message, data, and NOTE,
830830
make INSPECT-INDEX actionable if present."
831831
(with-current-buffer buffer
832-
(nrepl-dbind-response cause (class message data spec stacktrace)
832+
(nrepl-dbind-response cause (class message data spec triage stacktrace)
833833
(let ((indent " ")
834834
(class-face 'cider-stacktrace-error-class-face)
835835
(message-face 'cider-stacktrace-error-message-face))
@@ -855,6 +855,11 @@ make INSPECT-INDEX actionable if present."
855855
(propertize (or message "(No message)")
856856
'font-lock-face message-face)
857857
indent t))
858+
(when triage
859+
(insert "\n")
860+
(cider-stacktrace-emit-indented
861+
(propertize (string-trim triage) 'font-lock-face message-face)
862+
indent nil))
858863
(when spec
859864
(insert "\n")
860865
(cider-stacktrace--emit-spec-problems spec (concat indent " ")))

0 commit comments

Comments
 (0)