Function: gptel--previous-variant
gptel--previous-variant is an interactive and natively compiled
function defined in gptel.el.
Signature
(gptel--previous-variant &optional ARG)
Documentation
Switch to ARG previous gptel-response at this point, if it exists.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/q3r7g81pvghw7a523kjk2k2zih3pfk8z-emacs-packages-deps/share/emacs/site-lisp/elpa/gptel-20261002.545/gptel.el
(defun gptel--previous-variant (&optional arg)
"Switch to ARG previous gptel-response at this point, if it exists."
(interactive "p")
(pcase-let* ((`(,beg . ,end) (gptel--get-response-bounds))
(history (get-char-property (point) 'gptel-history))
(alt-response (car-safe history))
(offset))
(unless (and history alt-response)
(user-error "No variant responses available"))
(if (> arg 0)
(setq history (append (cdr history)
(list (buffer-substring-no-properties beg end))))
(setq
alt-response (car (last history))
history (cons (buffer-substring-no-properties beg end)
(nbutlast history))))
(add-text-properties
0 (length alt-response)
`(gptel response gptel-history ,history)
alt-response)
(setq offset (min (- (point) beg) (1- (length alt-response))))
(delete-region beg end)
(insert alt-response)
(goto-char (+ beg offset))
(pulse-momentary-highlight-region beg (+ beg (length alt-response)))))