Function: outline--insert-button
outline--insert-button is a byte-compiled function defined in
outline.el.gz.
Signature
(outline--insert-button TYPE)
Source Code
;; Defined in /usr/src/emacs/lisp/outline.el.gz
(defun outline--insert-button (type)
(with-silent-modifications
(save-excursion
(forward-line 0)
(let ((icon (nth (if (eq type 'close) 1 0) outline--button-icons))
(o (seq-find (lambda (o) (overlay-get o 'outline-button))
(overlays-at (point)))))
(unless o
(when (eq outline-minor-mode-use-buttons 'insert)
(let ((inhibit-read-only t))
(insert (apply #'propertize " " (text-properties-at (point))))
(forward-line 0)))
(setq o (make-overlay (point) (1+ (point))))
(overlay-put o 'outline-button t)
(overlay-put o 'evaporate t))
(pcase outline-minor-mode-use-buttons
('insert
(overlay-put o 'display (or (plist-get icon 'image)
(plist-get icon 'string)))
(overlay-put o 'face (plist-get icon 'face))
(overlay-put o 'follow-link 'mouse-face)
(overlay-put o 'mouse-face 'highlight)
(overlay-put o 'keymap outline-inserted-button-map))
('in-margins
(overlay-put o 'before-string icon)
(overlay-put o 'keymap outline-overlay-button-map))
(_
(overlay-put o 'before-string icon)
(overlay-put o 'keymap outline-overlay-button-map)))))))