diff --git a/gptel-transient.el b/gptel-transient.el index 8288943..f1c7e1b 100644 --- a/gptel-transient.el +++ b/gptel-transient.el @@ -123,6 +123,7 @@ which see." (gptel--infix-temperature)] ["Prompt:" ("p" "From minibuffer instead" "p") + ("y" "From kill-ring instead" "y") ("i" "Replace/Delete prompt" "i") "Response to:" ("m" "Minibuffer instead" "m") @@ -379,13 +380,20 @@ will get progressively longer!" (buffer) (position) (callback) (gptel-buffer-name) (prompt - (and (member "p" args) - (read-string - (format "Ask %s: " (gptel-backend-name gptel-backend)) - (apply #'buffer-substring-no-properties - (if (use-region-p) - (list (region-beginning) (region-end)) - (list (line-beginning-position) (line-end-position)))))))) + (cond + ((member "p" args) + (read-string + (format "Ask %s: " (gptel-backend-name gptel-backend)) + (apply #'buffer-substring-no-properties + (if (use-region-p) + (list (region-beginning) (region-end)) + (list (line-beginning-position) (line-end-position)))))) + ((member "y" args) + (unless (car-safe kill-ring) + (user-error "`kill-ring' is empty! Nothing to send.")) + (if current-prefix-arg + (read-from-kill-ring "Prompt from kill-ring: ") + (current-kill 0)))))) (cond ((member "m" args) (setq stream nil)