Function: markdown-cycle-atx
markdown-cycle-atx is a byte-compiled function defined in
markdown-mode.el.
Signature
(markdown-cycle-atx ARG &optional REMOVE)
Documentation
Cycle ATX header markup.
Promote header (decrease level) when ARG is 1 and demote
header (increase level) if arg is -1. When REMOVE is non-nil,
remove the header when the level reaches zero and stop cycling
when it reaches six. Otherwise, perform a proper cycling through
levels one through six. Assumes match data is available for
markdown-regex-header-atx.
Source Code
;; Defined in ~/.emacs.d/elpa/markdown-mode-20260321.143/markdown-mode.el
;;; Markup Cycling ============================================================
(defun markdown-cycle-atx (arg &optional remove)
"Cycle ATX header markup.
Promote header (decrease level) when ARG is 1 and demote
header (increase level) if arg is -1. When REMOVE is non-nil,
remove the header when the level reaches zero and stop cycling
when it reaches six. Otherwise, perform a proper cycling through
levels one through six. Assumes match data is available for
`markdown-regex-header-atx'."
(let* ((old-level (length (match-string 1)))
(new-level (+ old-level arg))
(text (match-string 2)))
(when (not remove)
(setq new-level (% new-level 6))
(setq new-level (cond ((= new-level 0) 6)
((< new-level 0) (+ new-level 6))
(t new-level))))
(cond
((= new-level 0)
(markdown-unwrap-thing-at-point nil 0 2))
((<= new-level 6)
(goto-char (match-beginning 0))
(delete-region (match-beginning 0) (match-end 0))
(markdown-insert-header new-level text nil)))))