[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/gptel ba133267ec 063/273: gptel: Run post-response-hook af
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/gptel ba133267ec 063/273: gptel: Run post-response-hook after inserting response |
Date: |
Wed, 1 May 2024 10:01:43 -0400 (EDT) |
branch: elpa/gptel
commit ba133267ec74cc8a6a5fe1d17014e68d26e828ac
Author: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
Commit: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
gptel: Run post-response-hook after inserting response
* gptel.el (gptel--playback, gptel--insert-response):
`gptel--insert-response' no longer handles stream playback. Run
`gptel-post-response-hook' after inserting the response from
ChatGPT. Delete the `gptel--playback' function since it never did
anything -- it was a placebo.
---
gptel.el | 50 ++++++++------------------------------------------
1 file changed, 8 insertions(+), 42 deletions(-)
diff --git a/gptel.el b/gptel.el
index 942e7ad070..1579e7f1c3 100644
--- a/gptel.el
+++ b/gptel.el
@@ -320,19 +320,17 @@ See `gptel--url-get-response' for details."
(save-excursion
(put-text-property 0 (length content-str) 'gptel 'response
content-str)
(message "Querying ChatGPT... done.")
- (goto-char response-pt)
- (unless (bobp) (insert-before-markers-and-inherit "\n\n"))
- (if gptel-playback
- (gptel--playback gptel-buffer content-str response-pt)
- (let ((p (point)))
- (insert content-str)
- (pulse-momentary-highlight-region p (point)))
- (when gptel-mode
+ (goto-char start-marker)
+ (unless (bobp) (insert "\n\n"))
+ (let ((p (point)))
+ (insert content-str)
+ (pulse-momentary-highlight-region p (point)))
+ (when gptel-mode
(insert "\n\n" (gptel-prompt-string))
(gptel--update-header-line " Ready" 'success))))
- (goto-char (- (point) 2)))
(gptel--update-header-line
- (format " Response Error: %s" status-str) 'error))))
+ (format " Response Error: %s" status-str) 'error))
+ (run-hooks 'gptel-post-response-hook)))
(defun gptel--create-prompt (&optional prompt-end)
"Return a full conversation prompt from the contents of this buffer.
@@ -621,37 +619,5 @@ text stream."
(prog1 (buffer-substring (point) (point-max))
(set-marker start-pt (point-max)))))))))
-(defun gptel--playback (buf content-str start-pt)
- "Playback CONTENT-STR in BUF.
-
-Begin at START-PT."
- (let ((handle (gensym "gptel-change-group-handle--"))
- (playback-timer (gensym "gptel--playback-"))
- (content-length (length content-str))
- (idx 0) (pt (copy-marker start-pt t)))
- (setf (symbol-value handle) (prepare-change-group buf))
- (activate-change-group (symbol-value handle))
- (setf (symbol-value playback-timer)
- (run-at-time
- 0 0.15
- (lambda ()
- (with-current-buffer buf
- (if (>= content-length idx)
- (progn
- (goto-char pt)
- (insert
- (seq-subseq
- content-str idx
- (min content-length (+ idx 16))))
- (setq idx (+ idx 16)))
- (when gptel-mode
- (insert "\n\n" (gptel-prompt-string))
- (gptel--update-header-line " Ready" 'success))
- (when start-pt (goto-char (marker-position start-pt)))
- (accept-change-group (symbol-value handle))
- (undo-amalgamate-change-group (symbol-value handle))
- (cancel-timer (symbol-value playback-timer)))))))
- nil))
-
(provide 'gptel)
;;; gptel.el ends here
- [nongnu] elpa/gptel 376fb4b423 234/273: gptel-transient: Additional directives option (#249), (continued)
- [nongnu] elpa/gptel 376fb4b423 234/273: gptel-transient: Additional directives option (#249), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 34a52aa047 246/273: gptel-anthropic: Remove debug code, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel e3b3591d73 240/273: README: Add support for Groq (#257), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 81bb467104 250/273: gptel: Set window when running post-response hook, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel b4088e3f7b 261/273: README: New pacakge based on gptel, magit-gptcommit (#281), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 9b094b8b1e 265/273: gptel: Fix url-retrieve response parser bug, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 2b2dbe2664 043/273: gptel: Fix parsing error in url-retrieve buffer, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 5ebaf361f1 046/273: gptel: Handle the prompt prefix string automatically, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel c6abda6f0f 075/273: gptel-transient: Rename gptel-send-menu -> gptel-menu, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 8a9ae56e77 074/273: gptel: Add streaming, in-place options to gptel-request, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel ba133267ec 063/273: gptel: Run post-response-hook after inserting response,
ELPA Syncer <=
- [nongnu] elpa/gptel 23caab41cf 042/273: Add gpt-4 model, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 1c07a94e18 052/273: README: Update manual install instructions, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel f0953d569e 069/273: gptel: Simplify response API, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 6c47c0a483 066/273: README: Add videos with streaming, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel c11e53061c 078/273: gptel-transient: New gptel-menu transient options, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 422eba8048 087/273: gptel-curl: Run post-response-hook in gptel buffer, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 42132d3662 093/273: README: tweak description of package, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 07f27be696 101/273: gptel-transient: UI tweak for custom prompt, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel e6df1a5e33 098/273: gptel: Use :require for auth-source-search (#78), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 9c4af204a3 102/273: gptel-transient: Add crowdsourced prompts, ELPA Syncer, 2024/05/01