Function: git-commit-collapse-diff

git-commit-collapse-diff is a byte-compiled function defined in git-commit.el.

Signature

(git-commit-collapse-diff)

Documentation

Collapse inline diff and add button to allow expanding it.

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/git-commit.el
(defun git-commit-collapse-diff ()
  "Collapse inline diff and add button to allow expanding it."
  (save-excursion
    (goto-char (point-min))
    (when (re-search-forward (format "%s -+ >8 -+" comment-start) nil t)
      (let ((elt '(git-commit-diff t)))
        (add-to-invisibility-spec elt)
        (make-button (line-beginning-position) (point)
                     'face 'git-commit-comment-button
                     'keymap (define-keymap :parent button-map
                               "<return>" #'push-button
                               "<tab>" #'push-button)
                     'action (lambda (_)
                               (if (memq elt buffer-invisibility-spec)
                                   (remove-from-invisibility-spec elt)
                                 (add-to-invisibility-spec elt))
                               ;; KLUDGE Force "redisplay".
                               (when-let ((w1 (selected-window))
                                          (w2 (next-window)))
                                 (select-window w2)
                                 (select-window w1)))))
      (let ((ov (make-overlay (point) (point-max))))
        (overlay-put ov 'invisible 'git-commit-diff)))))