gptel-transient: Add prompting from kill-ring
* gptel-transient.el (gptel-menu, gptel--suffix-send): Add a transient menu option to select the prompt from the kill-ring. By default the latest kill is selected. Sending with a prefix-arg allows for choosing the kill ring element. TODO: This latter behavior needs to be made discoverable somehow.
This commit is contained in:
parent
bea31e33e2
commit
7c2e342f35
1 changed files with 15 additions and 7 deletions
|
@ -123,6 +123,7 @@ which see."
|
||||||
(gptel--infix-temperature)]
|
(gptel--infix-temperature)]
|
||||||
["Prompt:"
|
["Prompt:"
|
||||||
("p" "From minibuffer instead" "p")
|
("p" "From minibuffer instead" "p")
|
||||||
|
("y" "From kill-ring instead" "y")
|
||||||
("i" "Replace/Delete prompt" "i")
|
("i" "Replace/Delete prompt" "i")
|
||||||
"Response to:"
|
"Response to:"
|
||||||
("m" "Minibuffer instead" "m")
|
("m" "Minibuffer instead" "m")
|
||||||
|
@ -379,13 +380,20 @@ will get progressively longer!"
|
||||||
(buffer) (position)
|
(buffer) (position)
|
||||||
(callback) (gptel-buffer-name)
|
(callback) (gptel-buffer-name)
|
||||||
(prompt
|
(prompt
|
||||||
(and (member "p" args)
|
(cond
|
||||||
|
((member "p" args)
|
||||||
(read-string
|
(read-string
|
||||||
(format "Ask %s: " (gptel-backend-name gptel-backend))
|
(format "Ask %s: " (gptel-backend-name gptel-backend))
|
||||||
(apply #'buffer-substring-no-properties
|
(apply #'buffer-substring-no-properties
|
||||||
(if (use-region-p)
|
(if (use-region-p)
|
||||||
(list (region-beginning) (region-end))
|
(list (region-beginning) (region-end))
|
||||||
(list (line-beginning-position) (line-end-position))))))))
|
(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
|
(cond
|
||||||
((member "m" args)
|
((member "m" args)
|
||||||
(setq stream nil)
|
(setq stream nil)
|
||||||
|
|
Loading…
Add table
Reference in a new issue