Function: eca-chat--refresh-transient-area

eca-chat--refresh-transient-area is a natively compiled function defined in eca-chat.el.

Signature

(eca-chat--refresh-transient-area)

Documentation

Re-render the transient area between context and prompt input.

Iterates eca-chat-transient-area-segments, concatenating each segment's non-nil string result. Uses insert-before-markers so the prompt-field overlay's start advances past inserted content.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--refresh-transient-area ()
  "Re-render the transient area between context and prompt input.
Iterates `eca-chat-transient-area-segments', concatenating each
segment's non-nil string result.  Uses `insert-before-markers' so
the prompt-field overlay's start advances past inserted content."
  (when-let* ((context-ov (eca-chat--prompt-context-field-ov))
              (prompt-ov (eca-chat--prompt-field-ov)))
    (save-excursion
      (let ((start (1+ (overlay-end context-ov)))
            (end (overlay-start prompt-ov)))
        ;; An edit that crossed the prompt block markup can invert
        ;; these bounds; skip instead of signaling (see #305).
        (when (<= start end)
          (delete-region start end)
          (goto-char start)
          (dolist (seg eca-chat-transient-area-segments)
            (when-let* ((str (funcall seg)))
              (insert-before-markers str)))
          (setq-local buffer-undo-list nil))))))