Function: cider-stacktrace-render

cider-stacktrace-render is a byte-compiled function defined in cider-stacktrace.el.

Signature

(cider-stacktrace-render BUFFER CAUSES &optional ERROR-TYPES)

Documentation

Emit into BUFFER useful stacktrace information for the CAUSES.

Takes an optional ERROR-TYPES list which will render a suppression toggle that alters the pop-over/pop-under behavorior of the stacktrace buffers created by these types of errors. The suppressed errors set can be customized through the cider-stacktrace-suppressed-errors variable.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-stacktrace.el
(defun cider-stacktrace-render (buffer causes &optional error-types)
  "Emit into BUFFER useful stacktrace information for the CAUSES.
Takes an optional ERROR-TYPES list which will render a suppression toggle
that alters the pop-over/pop-under behavorior of the stacktrace buffers
created by these types of errors.  The suppressed errors set can be customized
through the `cider-stacktrace-suppressed-errors' variable."
  (with-current-buffer buffer
    (let ((inhibit-read-only t))
      (erase-buffer)
      (insert "\n")
      ;; Stacktrace filters
      (cider-stacktrace-render-filters
       buffer
       `(("Project-Only" project) ("All" all))
       `(("Clojure" clj) ("Java" java) ("REPL" repl)
         ("Tooling" tooling) ("Duplicates" dup)))
      (insert "\n")
      ;; Option to suppress internal/middleware errors
      (when error-types
        (cider-stacktrace-render-suppression-toggle buffer error-types)
        (insert "\n\n"))
      ;; Stacktrace exceptions & frames
      (let* ((causes-length (length causes))
             (num causes-length))
        (dolist (cause causes)
          (let ((note (if (= num causes-length) "Unhandled" "Caused by")))
            (cider-stacktrace-render-cause buffer cause num note (- causes-length num))
            (setq num (1- num))))))
    (cider-stacktrace-initialize causes)
    (font-lock-refresh-defaults)))