Function: avy--overlay
avy--overlay is a byte-compiled function defined in avy.el.
Signature
(avy--overlay STR BEG END WND &optional COMPOSE-FN)
Documentation
Create an overlay with STR from BEG to END in WND.
COMPOSE-FN is a lambda that concatenates the old string at BEG with STR.
Source Code
;; Defined in ~/.emacs.d/elpa/avy-20241101.1357/avy.el
(defun avy--overlay (str beg end wnd &optional compose-fn)
"Create an overlay with STR from BEG to END in WND.
COMPOSE-FN is a lambda that concatenates the old string at BEG with STR."
(let ((eob (with-selected-window wnd (point-max))))
(when (<= beg eob)
(let* ((beg (+ beg avy--overlay-offset))
(ol (make-overlay beg (or end (1+ beg)) (window-buffer wnd)))
(old-str (if (eq beg eob) "" (avy--old-str beg wnd)))
(os-line-prefix (get-text-property 0 'line-prefix old-str))
(os-wrap-prefix (get-text-property 0 'wrap-prefix old-str))
other-ol)
(unless (= (length str) 0)
(when os-line-prefix
(add-text-properties 0 1 `(line-prefix ,os-line-prefix) str))
(when os-wrap-prefix
(add-text-properties 0 1 `(wrap-prefix ,os-wrap-prefix) str)))
(when (setq other-ol (cl-find-if
(lambda (o) (overlay-get o 'goto-address))
(overlays-at beg)))
(add-text-properties
0 (length old-str)
`(face ,(overlay-get other-ol 'face)) old-str))
(overlay-put ol 'window wnd)
(overlay-put ol 'category 'avy)
(overlay-put ol (if (eq beg eob)
'after-string
'display)
(funcall
(or compose-fn #'concat)
str old-str))
(push ol avy--overlays-lead)))))