branch: externals/ellama
commit 7a9704a361edc24f2bce09ad6b5f1500ba4d7be3
Author: Sergey Kostyaev <[email protected]>
Commit: Sergey Kostyaev <[email protected]>
Improve scrolling functionality
Refactored `ellama--scroll` to accept an optional POINT argument, allowing
the
function to go to that specific point before scrolling. Updated the caller
`ellama-update-buffer` to pass the new point.
---
ellama.el | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/ellama.el b/ellama.el
index b93892d063..1504740950 100644
--- a/ellama.el
+++ b/ellama.el
@@ -2038,9 +2038,7 @@ failure (with BUFFER current).
(fill-region start (point)))
(setq new-pt (point)))
(if (and ellama-auto-scroll (not stop-scroll))
- (progn
- (goto-char new-pt)
- (ellama--scroll buffer))
+ (ellama--scroll buffer new-pt)
(goto-char pt)))
(undo-amalgamate-change-group ellama--change-group)))))
(setq ellama--change-group (prepare-change-group))
@@ -2247,15 +2245,17 @@ Extract profession from this message. Be short and
concise."
(search-forward (concat (ellama-get-nick-prefix-for-mode) " "
ellama-user-nick ":\n") nil t)
(buffer-substring-no-properties (point) (point-max)))))))
-(defun ellama--scroll (&optional buffer)
+(defun ellama--scroll (&optional buffer point)
"Scroll within BUFFER.
-A function for programmatically scrolling the buffer during text generation."
+Go to POINT before start scrolling if provided. A function for
+programmatically scrolling the buffer during text generation."
(when-let ((ellama-auto-scroll)
(buf (or buffer (current-buffer)))
(window (get-buffer-window buf)))
(with-selected-window window
(when (ellama-chat-buffer-p buf)
(goto-char (point-max)))
+ (when point (goto-char point))
(recenter -1))))
(defun ellama-chat-done (text &optional on-done)