Function: cider-macrostep-mode

cider-macrostep-mode is an interactive and byte-compiled function defined in cider-macrostep.el.

Signature

(cider-macrostep-mode &optional ARG)

Documentation

Transient minor mode for stepping through macro expansions inline.

While active the buffer is read-only; expansions are layered as overlays and removed when you collapse them or leave the mode.

= cider-macrostep-expand
DEL cider-macrostep-collapse
RET cider-macrostep-expand
a cider-macrostep-expand-all
c cider-macrostep-collapse
e cider-macrostep-expand
n cider-macrostep-next-expandable
p cider-macrostep-previous-expandable
q cider-macrostep-collapse-all
u cider-macrostep-collapse

This is a minor mode. If called interactively, toggle the Cider-Macrostep mode mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode.

If called from Lisp, toggle the mode if ARG is toggle. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number.

To check whether the minor mode is enabled in the current buffer, evaluate cider-macrostep-mode(var)/cider-macrostep-mode(fun).

The mode's hook is called both when the mode is enabled and when it is disabled.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-macrostep.el
(define-minor-mode cider-macrostep-mode
  "Transient minor mode for stepping through macro expansions inline.

While active the buffer is read-only; expansions are layered as overlays and
removed when you collapse them or leave the mode.

\\{cider-macrostep-mode-map}"
  :lighter " Macrostep"
  (if cider-macrostep-mode
      (progn
        (setq cider-macrostep--saved-read-only buffer-read-only
              buffer-read-only t)
        ;; remember any existing header line so we can restore it on exit
        (setq cider-macrostep--saved-header-line
              (if (local-variable-p 'header-line-format) header-line-format 'none))
        (setq-local header-line-format '(:eval (cider-macrostep--header-line))))
    (cider-macrostep--clear-expandable-overlays)
    (cider-macrostep--clear-gensym-overlays)
    (cider-macrostep--collapse-all-overlays)
    (setq buffer-read-only cider-macrostep--saved-read-only)
    (if (eq cider-macrostep--saved-header-line 'none)
        (kill-local-variable 'header-line-format)
      (setq-local header-line-format cider-macrostep--saved-header-line))))