Function: eca-chat--expandable-content-at-point-dwim
eca-chat--expandable-content-at-point-dwim is a natively compiled
function defined in eca-chat-expandable.el.
Signature
(eca-chat--expandable-content-at-point-dwim)
Documentation
Return the most specific expandable block overlay for point.
Prefers a block label on the current line; otherwise returns the innermost block whose content region contains point.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat-expandable.el
(defun eca-chat--expandable-content-at-point-dwim ()
"Return the most specific expandable block overlay for point.
Prefers a block label on the current line; otherwise returns the
innermost block whose content region contains point."
(let* ((pos (point))
(label-candidates (delete-dups
(-filter (-lambda (ov)
(overlay-get ov 'eca-chat--expandable-content-id))
(append (overlays-at pos)
(overlays-in (line-beginning-position) pos))))))
(or
;; If point is on a block label line, toggle that block.
(car (sort label-candidates
(lambda (a b)
(> (overlay-start a) (overlay-start b)))))
;; Otherwise, toggle the innermost block whose content contains point.
(let ((best-ov nil)
(best-span nil)
(best-start nil))
(dolist (ov (overlays-in (point-min) (point-max)))
(when-let* ((id (overlay-get ov 'eca-chat--expandable-content-id))
(_ id)
(ov-content (overlay-get ov 'eca-chat--expandable-content-ov-content))
(start (overlay-start ov-content))
(end (overlay-end ov-content))
(_ (and start end (<= start pos) (< pos end))))
(let ((span (- end start)))
(when (or (null best-ov)
(< span best-span)
(and (= span best-span)
(> start best-start)))
(setq best-ov ov
best-span span
best-start start)))))
best-ov))))