Function: treesit-fold--create-overlay

treesit-fold--create-overlay is a natively compiled function defined in treesit-fold.el.

Signature

(treesit-fold--create-overlay RANGE)

Documentation

Create invisible overlay in RANGE.

Source Code

;; Defined in /nix/store/mpy1l6b4hlzpp59l4vbahq83hqa821ci-emacs-packages-deps/share/emacs/site-lisp/elpa/treesit-fold-0.2.1/treesit-fold.el
(defun treesit-fold--create-overlay (range)
  "Create invisible overlay in RANGE."
  (when range
    (let* ((beg (car range))
           (end (cdr range))
           (ov (make-overlay beg end))
           (map (make-sparse-keymap)))
      (define-key map (kbd "<mouse-1>") #'treesit-fold-open)
      (overlay-put ov 'creator 'treesit-fold)
      (overlay-put ov 'priority treesit-fold-priority)
      (overlay-put ov 'invisible 'treesit-fold)
      (overlay-put ov 'display
                   (propertize (treesit-fold--format-overlay-text beg end)
                               'mouse-face 'treesit-fold-replacement-mouse-face
                               'help-echo "mouse-1: unfold this node"
                               'keymap map))
      (overlay-put ov 'face 'treesit-fold-replacement-face)
      (overlay-put ov 'modification-hooks '(treesit-fold--on-change))
      (overlay-put ov 'insert-in-front-hooks '(treesit-fold--on-change))
      (overlay-put ov 'isearch-open-invisible #'treesit-fold--on-change)
      (overlay-put ov 'isearch-open-invisible-temporary #'treesit-fold--open-invisible-temporary)
      ov)))