guix-commits
[Top][All Lists]
Advanced

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

01/01: etc: snippets: Prefill package name and version.


From: guix-commits
Subject: 01/01: etc: snippets: Prefill package name and version.
Date: Thu, 7 Mar 2019 17:56:52 -0500 (EST)

rekado pushed a commit to branch master
in repository guix.

commit d6234620ace1863d8102b065311ef3d94e0931da
Author: Ricardo Wurmus <address@hidden>
Date:   Thu Mar 7 23:55:24 2019 +0100

    etc: snippets: Prefill package name and version.
    
    * etc/snippets/text-mode/guix-commit-message-update-package: Extract package
    name and version from git diff output.
---
 .../text-mode/guix-commit-message-update-package      | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/etc/snippets/text-mode/guix-commit-message-update-package 
b/etc/snippets/text-mode/guix-commit-message-update-package
index 79fcf7c..2cdb6ea 100644
--- a/etc/snippets/text-mode/guix-commit-message-update-package
+++ b/etc/snippets/text-mode/guix-commit-message-update-package
@@ -3,7 +3,24 @@
 # key: update
 # condition: git-commit-mode
 # --
-gnu: $1: Update to $2.
+
+gnu: ${1:`(with-temp-buffer
+           (magit-git-wash #'magit-diff-wash-diffs
+             "diff" "--staged")
+           (beginning-of-buffer)
+           (when (search-forward "(define-public " nil 'noerror)
+             (thing-at-point 'sexp 'no-properties)))`}: Update to 
${2:`(with-temp-buffer
+    (magit-git-wash #'magit-diff-wash-diffs
+      "diff" "--staged")
+    (beginning-of-buffer)
+    (search-forward "name" nil 'noerror)
+    (search-forward "+" nil 'noerror)   ; first change
+    (when (and (search-forward "version " nil 'noerror)
+               (looking-at-p "\""))
+      (let ((end (save-excursion (search-forward "\")" nil 'noerror))))
+        (when end
+          (forward-char)
+          (buffer-substring-no-properties (point) (- end 2))))))`}.
 
 * `(car (magit-staged-files))` ($1): Update to $2.$0
 `(mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) 
"\n")`
\ No newline at end of file



reply via email to

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