gptel-transient: Add outline-minor-mode support
* gptel-transient.el: Add section headers and an `outline-regexp'.
This commit is contained in:
parent
937c754e57
commit
23332a9bc5
1 changed files with 22 additions and 0 deletions
|
@ -82,6 +82,8 @@ Or is it the other way around?"
|
|||
|
||||
;; ** Prefix for setting the system prompt.
|
||||
|
||||
;; ** Prefix for setting the system prompt.
|
||||
|
||||
(transient-define-prefix gptel-system-prompt ()
|
||||
"Change the system prompt to send ChatGPT.
|
||||
|
||||
|
@ -120,6 +122,8 @@ Customize `gptel-directives' for task-specific prompts."
|
|||
(alist-get 'chat gptel-directives)))
|
||||
:transient t)])
|
||||
|
||||
;; ** Prefix for rewriting/refactoring
|
||||
|
||||
(transient-define-prefix gptel-rewrite-menu ()
|
||||
"Rewrite or refactor text region using ChatGPT."
|
||||
[:description
|
||||
|
@ -141,6 +145,7 @@ Customize `gptel-directives' for task-specific prompts."
|
|||
(unless gptel--rewrite-message
|
||||
(setq gptel--rewrite-message (gptel--rewrite-message)))
|
||||
(transient-setup 'gptel-rewrite-menu))
|
||||
|
||||
;; TODO: Switch to dynamic Transient menus (below) once there's a new Transient release
|
||||
;; (transient-define-prefix gptel-system-prompt ()
|
||||
;; "Change the system prompt to send ChatGPT."
|
||||
|
@ -166,6 +171,10 @@ Customize `gptel-directives' for task-specific prompts."
|
|||
;; finally return (cons (list 'gptel--suffix-system-message)
|
||||
;; prompt-suffixes))))
|
||||
|
||||
;; * Transient Infixes
|
||||
|
||||
;; ** Infixes for model parameters
|
||||
|
||||
(transient-define-infix gptel--infix-num-messages-to-send ()
|
||||
"Number of recent messages to send with each exchange.
|
||||
|
||||
|
@ -249,6 +258,8 @@ will get progressively longer!"
|
|||
(buf (call-interactively #'gptel)))
|
||||
(and (bufferp buf)
|
||||
(with-current-buffer buf (gptel-send)))))
|
||||
;; ** Infix for the refactor/rewrite system message
|
||||
|
||||
(transient-define-infix gptel--infix-rewrite-prompt ()
|
||||
"Chat directive (system message) to use for rewriting or refactoring."
|
||||
:description (lambda () (if (derived-mode-p 'prog-mode)
|
||||
|
@ -263,6 +274,10 @@ will get progressively longer!"
|
|||
(read-string
|
||||
prompt (gptel--rewrite-message) history)))
|
||||
|
||||
;; * Transient Suffixes
|
||||
|
||||
;; ** Suffix to send prompt
|
||||
;; ** Set system message
|
||||
(transient-define-suffix gptel--suffix-system-message ()
|
||||
"Set directives sent to ChatGPT."
|
||||
:transient nil
|
||||
|
@ -304,6 +319,8 @@ will get progressively longer!"
|
|||
(body-function . ,#'select-window)))
|
||||
(call-interactively #'gptel-menu))))))
|
||||
|
||||
;; ** Suffixes for rewriting/refactoring
|
||||
|
||||
(transient-define-suffix gptel--suffix-rewrite ()
|
||||
"Rewrite or refactor region contents."
|
||||
:key "r"
|
||||
|
@ -368,3 +385,8 @@ will get progressively longer!"
|
|||
|
||||
(provide 'gptel-transient)
|
||||
;;; gptel-transient.el ends here
|
||||
|
||||
;; Local Variables:
|
||||
;; outline-regexp: "^;; \\*+"
|
||||
;; eval: (outline-minor-mode 1)
|
||||
;; End:
|
||||
|
|
Loading…
Add table
Reference in a new issue