gptel-transient: More visual feedback

* gptel.el (gptel): `gptel' only pops to the gptel buffer when
called interactively.

* gptel-transient.el: Pop up the gptel session buffer when the
prompt is sent to it, but don't select it. Also message the user
that the response has been redirected to the gptel session.
This commit is contained in:
Karthik Chikmagalur 2023-04-09 22:57:51 -07:00
parent 6202474a6e
commit 00abbf7597
2 changed files with 18 additions and 6 deletions

View file

@ -328,7 +328,9 @@ will get progressively longer!"
t)) t))
(point)) (point))
(point)))))) (point))))))
(setq position (with-current-buffer buffer (point))) (with-current-buffer buffer
(gptel--update-header-line " Waiting..." 'warning)
(setq position (point)))
(setq output-to-other-buffer-p t)) (setq output-to-other-buffer-p t))
((setq buffer-name ((setq buffer-name
(cl-some (lambda (s) (and (string-prefix-p "-e" s) (cl-some (lambda (s) (and (string-prefix-p "-e" s)
@ -352,7 +354,9 @@ will get progressively longer!"
(with-current-buffer buffer (with-current-buffer buffer
(goto-char (point-max)) (goto-char (point-max))
(insert reduced-prompt) (insert reduced-prompt)
(setq position (point)))))) (setq position (point))
(when gptel-mode
(gptel--update-header-line " Waiting..." 'warning))))))
(when in-place (when in-place
(setq prompt (gptel--create-prompt (point))) (setq prompt (gptel--create-prompt (point)))
@ -375,7 +379,14 @@ will get progressively longer!"
:position position :position position
:in-place (and in-place (not output-to-other-buffer-p)) :in-place (and in-place (not output-to-other-buffer-p))
:stream stream :stream stream
:callback callback))) :callback callback)
(when output-to-other-buffer-p
(message (concat "Prompt sent to buffer: "
(propertize buffer-name 'face 'help-key-binding)))
(display-buffer
buffer '((display-buffer-reuse-window
display-buffer-pop-up-window)
(reusable-frames . visible))))))
;; ** Set system message ;; ** Set system message
(transient-define-suffix gptel--suffix-system-message () (transient-define-suffix gptel--suffix-system-message ()

View file

@ -618,11 +618,12 @@ buffer created or switched to."
(t (funcall gptel-default-mode))) (t (funcall gptel-default-mode)))
(unless gptel-mode (gptel-mode 1)) (unless gptel-mode (gptel-mode 1))
(if (bobp) (insert (or initial (gptel-prompt-string)))) (if (bobp) (insert (or initial (gptel-prompt-string))))
(pop-to-buffer (current-buffer))
(goto-char (point-max)) (goto-char (point-max))
(skip-chars-backward "\t\r\n") (skip-chars-backward "\t\r\n")
(when (called-interactively-p 'gptel)
(pop-to-buffer (current-buffer))
(message "Send your query with %s!" (message "Send your query with %s!"
(substitute-command-keys "\\[gptel-send]")) (substitute-command-keys "\\[gptel-send]")))
(current-buffer))) (current-buffer)))
(defun gptel--convert-markdown->org (str) (defun gptel--convert-markdown->org (str)