[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/gptel 3af2650342 170/273: gptel-transient: save window sta
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/gptel 3af2650342 170/273: gptel-transient: save window state when ediff |
Date: |
Wed, 1 May 2024 10:02:19 -0400 (EDT) |
branch: elpa/gptel
commit 3af265034260a35adb310305d363142d874db01e
Author: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
Commit: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
gptel-transient: save window state when ediff
* gptel-transient.el (gptel--suffix-rewrite-and-ediff): Save
window configuration and restore it after rewriting+ediff.
---
gptel-transient.el | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/gptel-transient.el b/gptel-transient.el
index 5fce0956b4..9b2b5ecf14 100644
--- a/gptel-transient.el
+++ b/gptel-transient.el
@@ -613,9 +613,17 @@ This uses the prompts in the variable
:key "E"
:description (lambda () (concat (gptel--refactor-or-rewrite) " and Ediff"))
(interactive (list (transient-args transient-current-command)))
- (let* ((prompt (buffer-substring-no-properties
+ (letrec ((prompt (buffer-substring-no-properties
(region-beginning) (region-end)))
- (gptel--system-message gptel--rewrite-message))
+ (gptel--system-message gptel--rewrite-message)
+ ;; TODO: Technically we should save the window config at the time
+ ;; `ediff-setup-hook' runs, but this will do for now.
+ (cwc (current-window-configuration))
+ (gptel--ediff-restore
+ (lambda ()
+ (when (window-configuration-p cwc)
+ (set-window-configuration cwc))
+ (remove-hook 'ediff-quit-hook gptel--ediff-restore))))
(message "Waiting for response... ")
(gptel-request
prompt
@@ -630,12 +638,14 @@ This uses the prompts in the variable
(buffer-local-value 'major-mode gptel-buffer)))
(pcase-let ((`(,new-buf ,new-beg ,new-end)
(with-current-buffer (get-buffer-create
"*gptel-rewrite-Region.B-*")
- (erase-buffer)
- (funcall buffer-mode)
- (insert response)
- (goto-char (point-min))
- (list (current-buffer) (point-min) (point-max)))))
+ (let ((inhibit-read-only t))
+ (erase-buffer)
+ (funcall buffer-mode)
+ (insert response)
+ (goto-char (point-min))
+ (list (current-buffer) (point-min) (point-max))))))
(require 'ediff)
+ (add-hook 'ediff-quit-hook gptel--ediff-restore)
(apply
#'ediff-regions-internal
(get-buffer (ediff-make-cloned-buffer gptel-buffer "-Region.A-"))
- [nongnu] elpa/gptel ac754ceb2a 086/273: gptel: Handle read-only gptel-buffers, (continued)
- [nongnu] elpa/gptel ac754ceb2a 086/273: gptel: Handle read-only gptel-buffers, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel cc6c5e7321 104/273: gptel: saving and restoring state, and limiting context, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 24add64455 114/273: gptel: Adjust how gptel--system-message is set, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 17a58d38e7 135/273: gptel: Fix bug in url-retrieve setup, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 61c0df5e19 119/273: gptel, gptel-curl: Make the gptel text-property non-sticky, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 50a2498259 126/273: README: Tweak instructions for local LLMs, mention #120, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel ec0e461b35 128/273: gptel-curl: Increased curl timeout (#127), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel d5949ef428 140/273: gptel-curl: handle large Curl payloads with a temp file (#137), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 0ea3c7fb15 143/273: gptel-transient: Improve suffix message editor, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel ce75072f9d 152/273: gptel: Bump version, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 3af2650342 170/273: gptel-transient: save window state when ediff,
ELPA Syncer <=
- [nongnu] elpa/gptel e67ed41e31 173/273: README: Specify: no key needed for llama backend, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 1fcb4606a2 184/273: Fix compilation warning in gptel-openai.el, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel b3d028d074 185/273: Add .gitignore, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 5465271541 207/273: gptel: Add gpt-4-0125-preview to model list (Fix #215), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 43f625ecb9 209/273: gptel-openai: curl-args slot in gptel-backend (#221), ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel d502ad8ecb 222/273: test-gptel-org: Add markdown conversion tests, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 9925dc91b4 223/273: gptel: Improve markdown converter, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel dade9ec8e1 231/273: gptel: Add introspection commands, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 7e6b106516 233/273: gptel-transient: Change menu display, ELPA Syncer, 2024/05/01
- [nongnu] elpa/gptel 26326c302e 249/273: gptel-anthropic: Parsing fix, ELPA Syncer, 2024/05/01