Function: markdown-cycle-setext

markdown-cycle-setext is a byte-compiled function defined in markdown-mode.el.

Signature

(markdown-cycle-setext ARG &optional REMOVE)

Documentation

Cycle setext header markup.

Promote header (increase level) when ARG is 1 and demote header (decrease level or remove) if arg is -1. When demoting a level-two setext header, replace with a level-three atx header. When REMOVE is non-nil, remove the header when the level reaches zero. Otherwise, cycle back to a level six atx header. Assumes match data is available for markdown-regex-header-setext.

Source Code

;; Defined in ~/.emacs.d/elpa/markdown-mode-20260321.143/markdown-mode.el
(defun markdown-cycle-setext (arg &optional remove)
  "Cycle setext header markup.
Promote header (increase level) when ARG is 1 and demote
header (decrease level or remove) if arg is -1.  When demoting a
level-two setext header, replace with a level-three atx header.
When REMOVE is non-nil, remove the header when the level reaches
zero.  Otherwise, cycle back to a level six atx header.  Assumes
match data is available for `markdown-regex-header-setext'."
  (let* ((char (char-after (match-beginning 2)))
         (old-level (if (char-equal char ?=) 1 2))
         (new-level (+ old-level arg)))
    (when (and (not remove) (= new-level 0))
      (setq new-level 6))
    (cond
     ((= new-level 0)
      (markdown-unwrap-thing-at-point nil 0 1))
     ((<= new-level 2)
      (markdown-insert-header new-level nil t))
     ((<= new-level 6)
      (markdown-insert-header new-level nil nil)))))