Function: eca-chat-inline--scroll-viewport

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

Signature

(eca-chat-inline--scroll-viewport OV DELTA)

Documentation

Scroll OV's answer viewport by DELTA lines, clamped.

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--scroll-viewport (ov delta)
  "Scroll OV's answer viewport by DELTA lines, clamped."
  (let ((total (or (overlay-get ov 'eca-chat-inline--body-lines) 0))
        (max-lines eca-chat-inline-max-lines))
    (unless (and (integerp max-lines) (> total max-lines))
      (user-error "Nothing to scroll"))
    (let* ((finished (eq (overlay-get ov 'eca-chat-inline--state) 'finished))
           (max-offset (- total max-lines))
           (current (or (overlay-get ov 'eca-chat-inline--scroll)
                        (if finished 0 max-offset)))
           (offset (min (max (+ current delta) 0) max-offset)))
      (overlay-put ov 'eca-chat-inline--scroll offset)
      (eca-chat-inline--refresh ov))))