Function: eca-chat-inline--render

eca-chat-inline--render is a natively compiled function defined in eca-chat-inline.el.

Signature

(eca-chat-inline--render OV BUF)

Documentation

Render OV's header and answer viewport into its before-string.

BUF is the overlay's buffer.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat-inline.el
(defun eca-chat-inline--render (ov buf)
  "Render OV's header and answer viewport into its before-string.
BUF is the overlay's buffer."
  (let* ((finished (eq (overlay-get ov 'eca-chat-inline--state) 'finished))
         (full-body (eca-chat-inline--fontified-body ov))
         (body (and full-body
                    (eca-chat-inline--viewport ov full-body finished)))
         (body (when body
                 (let ((b (copy-sequence body)))
                   (add-face-text-property
                    0 (length b) 'eca-chat-inline-answer-face 'append b)
                   b))))
    (overlay-put ov 'eca-chat-inline--body-lines
                 (if full-body
                     (length (split-string full-body "\n"))
                   0))
    (overlay-put ov 'before-string
                 (concat
                  (with-current-buffer buf
                    (unless (or (= (overlay-start ov) (point-min))
                                (eq (char-before (overlay-start ov)) ?\n))
                      "\n"))
                  (eca-chat-inline--header ov)
                  (when body (concat "\n" body))
                  "\n"))))