aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git-email-magit.el57
1 files changed, 57 insertions, 0 deletions
diff --git a/git-email-magit.el b/git-email-magit.el
new file mode 100644
index 0000000..1f211e1
--- /dev/null
+++ b/git-email-magit.el
@@ -0,0 +1,57 @@
+;;; git-email-magit.el --- Magit integration for git-email -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2021 yoctocell
+
+;; Author: yoctocell <public@yoctocell.xyz>
+;; URL: https://git.sr.ht/~yoctocell/git-email
+;; Version: 0.2.0
+;; Package-Requires: ((emacs "27") (magit "3.0.0"))
+;; Keywords: git mail
+;; License: GNU General Public License >= 3
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This library offers transient commands in the magit-status buffer
+;; for interacting with git-email.
+
+;;; TODO:
+
+;; * Add function to get revision from log buffer, similar to when
+;; doing interactive rebase. This function should be added to
+;; `git-email-get-revision-functions'.
+;;
+;; * Add minor mode to setup some variables
+
+;;; Code:
+
+(require 'git-email)
+(require 'transient)
+
+;;;###autoload
+(defun git-email-magit-patch-send (args)
+ (interactive
+ (let ((args (transient-args 'magit-patch-create)))
+ (list (mapconcat #'identity
+ (seq-filter #'stringp args)
+ " "))))
+
+ (git-email-format-patch args nil t))
+
+(transient-append-suffix 'magit-patch-create "c"
+ '(1 "s" "Send patch" git-email-magit-patch-send))
+
+(provide 'git-email-notmuch)
+;;; git-email-notmuch.el ends here