emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/git-commit a121f34 2/2: git-commit-search-message-{backwar


From: ELPA Syncer
Subject: [nongnu] elpa/git-commit a121f34 2/2: git-commit-search-message-{backward, forward}: New commands
Date: Fri, 3 Dec 2021 17:57:40 -0500 (EST)

branch: elpa/git-commit
commit a121f3408940237253341ec755be2204f5fa1582
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    git-commit-search-message-{backward,forward}: New commands
    
    Closes #4537.
---
 lisp/git-commit.el | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/lisp/git-commit.el b/lisp/git-commit.el
index d96ba09..496c536 100644
--- a/lisp/git-commit.el
+++ b/lisp/git-commit.el
@@ -404,6 +404,8 @@ This is only used if Magit is available."
   (let ((map (make-sparse-keymap)))
     (define-key map (kbd "M-p")     'git-commit-prev-message)
     (define-key map (kbd "M-n")     'git-commit-next-message)
+    (define-key map (kbd "C-c M-p") 'git-commit-search-message-backward)
+    (define-key map (kbd "C-c M-n") 'git-commit-search-message-forward)
     (define-key map (kbd "C-c C-i") 'git-commit-insert-pseudo-header)
     (define-key map (kbd "C-c C-a") 'git-commit-ack)
     (define-key map (kbd "C-c M-i") 'git-commit-suggested)
@@ -724,6 +726,28 @@ With a numeric prefix ARG, go forward ARG comments."
   (interactive "*p")
   (git-commit-prev-message (- arg)))
 
+(defun git-commit-search-message-backward (string)
+  "Search backward through message history for a match for STRING.
+Save current message first."
+  (interactive
+   (list (read-string (format-prompt "Comment substring"
+                                     log-edit-last-comment-match)
+                      nil nil log-edit-last-comment-match)))
+  (cl-letf (((symbol-function #'log-edit-previous-comment)
+             (symbol-function #'git-commit-prev-message)))
+    (log-edit-comment-search-backward string)))
+
+(defun git-commit-search-message-forward (string)
+  "Search forward through message history for a match for STRING.
+Save current message first."
+  (interactive
+   (list (read-string (format-prompt "Comment substring"
+                                     log-edit-last-comment-match)
+                      nil nil log-edit-last-comment-match)))
+  (cl-letf (((symbol-function #'log-edit-previous-comment)
+             (symbol-function #'git-commit-prev-message)))
+    (log-edit-comment-search-forward str stride)))
+
 (defun git-commit-save-message ()
   "Save current message to `log-edit-comment-ring'."
   (interactive)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]