File: cider-macrostep.el.html
Inline, in-place macro expansion with step-in/collapse, in the spirit of the
macrostep package but implemented in-house and talking to nREPL.
This is an alternative to the separate-buffer macroexpansion commands in
cider-macroexpansion; the two approaches are intentionally kept apart.
cider-macrostep-expand replaces the macro form at point with its one-step
expansion in place and enters a transient, read-only cider-macrostep-mode(var)/cider-macrostep-mode(fun).
Each expansion is an overlay that remembers the exact text it replaced, so
collapsing restores the original verbatim and nested expansions peel back in
the right order.
Defined variables (14)
cider-macrostep--expandable-overlays | Overlays underlining the operators of further-expandable sub-forms. |
cider-macrostep--gensym-overlays | Overlays coloring the gensyms in the current expansions. |
cider-macrostep--gensym-regexp | Regexp matching the gensyms produced by macro expansion. |
cider-macrostep--overlays | Stack of overlays for the current ‘cider-macrostep-mode’ session. |
cider-macrostep--popup | Non-nil when the current buffer is a dedicated macrostep popup. |
cider-macrostep--saved-header-line | Saved ‘header-line-format’ from before ‘cider-macrostep-mode’. |
cider-macrostep--saved-read-only | Saved value of ‘buffer-read-only’ from before ‘cider-macrostep-mode’. |
cider-macrostep-buffer | Name of the dedicated buffer for out-of-place macro stepping. |
cider-macrostep-color-gensyms | Whether to colorize the gensyms introduced by a macro expansion. |
cider-macrostep-gensym-faces | Faces cycled through when coloring gensyms. |
cider-macrostep-highlight-expandable | Whether to highlight the operators of further-expandable sub-forms. |
cider-macrostep-mode | Non-nil if Cider-Macrostep mode is enabled. |
cider-macrostep-mode-hook | Hook run after entering or leaving ‘cider-macrostep-mode’. |
cider-macrostep-mode-map | Keymap for ‘cider-macrostep-mode’. |
Defined functions (19)
Defined faces (9)
cider-macrostep-expandable-face | Face for the operator of a sub-form that can be expanded further. |
cider-macrostep-expansion-face | Face for the background of an inline macro expansion. |
cider-macrostep-gensym-1-face | Face 1 of the palette cycled through when coloring gensyms. |
cider-macrostep-gensym-2-face | Face 2 of the palette cycled through when coloring gensyms. |
cider-macrostep-gensym-3-face | Face 3 of the palette cycled through when coloring gensyms. |
cider-macrostep-gensym-4-face | Face 4 of the palette cycled through when coloring gensyms. |
cider-macrostep-gensym-5-face | Face 5 of the palette cycled through when coloring gensyms. |
cider-macrostep-gensym-6-face | Face 6 of the palette cycled through when coloring gensyms. |
cider-macrostep-gensym-7-face | Face 7 of the palette cycled through when coloring gensyms. |