diff --git a/.config/doom/config.el b/.config/doom/config.el index 8a1423e9..ef4ae869 100644 --- a/.config/doom/config.el +++ b/.config/doom/config.el @@ -469,6 +469,24 @@ related notes or tasks." (add-hook 'magit-mode-hook (lambda () (magit-delta-mode +1))) +(defun my/magit-gptcommit-commit-accept-wrapper (orig-fun &rest args) + "Wrapper for magit-gptcommit-commit-accept to preserve original message." + (when-let ((buf (magit-commit-message-buffer))) + (with-current-buffer buf + (let ((orig-message (string-trim-right (or (git-commit-buffer-message) "") "\n$"))) + (apply orig-fun args) + (unless (string-empty-p orig-message) + (save-excursion + (goto-char (point-min)) + (insert orig-message))))))) + +(advice-add 'magit-gptcommit-commit-accept + +(map! :leader + (:prefix-map ("l" . "LLMs") + :desc "Aidermacs" "a" #'aidermacs-transient-menu + :desc "ChatGPT Shell" "c" #'chatgpt-shell-transient)) + (setq chatgpt-shell-model-version "gemini-2.5-pro-exp") (setq chatgpt-shell-streaming "t") (setq chatgpt-shell-system-prompt "You are a senior developer knowledgeable in every programming language") diff --git a/.config/doom/config.org b/.config/doom/config.org index 0e08b62a..b5218b32 100644 --- a/.config/doom/config.org +++ b/.config/doom/config.org @@ -487,11 +487,11 @@ derived from emails, leverages powerful text editing capabilities for composing consistent keyboard-driven interface. Key components of this setup: -- **Backend Tools:** Uses =mbsync= (from =isync=) for fetching mail via IMAP and =msmtp= for sending mail +- Backend Tools: Uses =mbsync= (from =isync=) for fetching mail via IMAP and =msmtp= for sending mail via SMTP. These are external tools that =mu4e= interfaces with. -- **Mail Storage:** Mail is stored locally in the Maildir format specified by =mu4e-maildir= (=~/.mail=), +- Mail Storage: Mail is stored locally in the Maildir format specified by =mu4e-maildir= (=~/.mail=), enabling offline access and fast searching via the =mu= indexer. -- **Configuration Structure:** The settings are broken down into logical blocks below: Basic Setup, +- Configuration Structure: The settings are broken down into logical blocks below: Basic Setup, Composing, Viewing, Sending, Account Specific, and Custom Marks. *Note:* This setup requires the =mu= command-line tool and its Emacs interface, =mu4e=. If =mu4e= is @@ -888,6 +888,8 @@ The configuration below sets up Clipmon to check the clipboard every second and (insert orig-message))))))) (advice-add 'magit-gptcommit-commit-accept +#+end_src + ** LLM :PROPERTIES: :ID: 0a32d2a9-2156-42a3-90f7-419ac1a25496