diff options
author | yoctocell <public@yoctocell.xyz> | 2021-01-18 15:16:39 +0100 |
---|---|---|
committer | yoctocell <public@yoctocell.xyz> | 2021-01-18 15:16:39 +0100 |
commit | 2960c7d059cda58639661109b802cc9391715c9f (patch) | |
tree | d74477721010ae42b59149fd16c043f5541113c3 | |
parent | 26745cb6454cfe8ab5d94359963383e016dfe2c5 (diff) |
magit: Add basic support for transient commands
This will extend the `magit-patch-create' transient prefix with a
second action -- "Send patch".
-rw-r--r-- | git-email-magit.el | 57 |
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 |