branch: elpa/gptel commit 611c9e9b8b0c5831e4a0b4253b9fe25196e0e8e6 Author: Karthik Chikmagalur <karthikchikmaga...@gmail.com> Commit: Karthik Chikmagalur <karthikchikmaga...@gmail.com>
gptel: Add toggle to control Markdown to Org conversion (#451) * gptel.el (gptel--url-get-response, gptel-org-convert-response): Add a boolean user option to toggle the automatic conversion of Markdown responses to Org. * gptel-curl.el (gptel-curl-get-response): Concomitant changes. --- gptel-curl.el | 5 +++-- gptel.el | 11 +++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gptel-curl.el b/gptel-curl.el index 79fc91c41a..ea25277ef7 100644 --- a/gptel-curl.el +++ b/gptel-curl.el @@ -145,8 +145,9 @@ the response is inserted into the current buffer after point." (if stream #'gptel-curl--stream-insert-response #'gptel--insert-response)) - :transformer (when (with-current-buffer (plist-get info :buffer) - (derived-mode-p 'org-mode)) + :transformer (when (and gptel-org-convert-response + (with-current-buffer (plist-get info :buffer) + (derived-mode-p 'org-mode))) (gptel--stream-convert-markdown->org (plist-get info :position)))) info)) diff --git a/gptel.el b/gptel.el index 0cafda38fb..b0d32b110b 100644 --- a/gptel.el +++ b/gptel.el @@ -239,6 +239,12 @@ all at once. This wait is asynchronous. "Whether gptel should prefer Curl when available." :type 'boolean) +(defcustom gptel-org-convert-response t + "Whether gptel should convert Markdown responses to Org markup. + +This only affects requests originating from Org mode buffers." + :type 'boolean) + (defcustom gptel-curl-file-size-threshold (if (memq system-type '(windows-nt ms-dos)) 32766 130000) "Size threshold for using file input with Curl. @@ -1784,8 +1790,9 @@ the response is inserted into the current buffer after point." (encode-coding-string (gptel--json-encode (plist-get info :data)) 'utf-8))) - (when (with-current-buffer (plist-get info :buffer) - (derived-mode-p 'org-mode)) + (when (and gptel-org-convert-response + (with-current-buffer (plist-get info :buffer) + (derived-mode-p 'org-mode))) (plist-put info :transformer #'gptel--convert-markdown->org)) ;; why do these checks not occur inside of `gptel--log'? (when gptel-log-level ;logging