summaryrefslogtreecommitdiff
path: root/etc/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'etc/snippets')
-rw-r--r--etc/snippets/text-mode/guix-commit-message-add-package7
-rw-r--r--etc/snippets/text-mode/guix-commit-message-update-package19
2 files changed, 24 insertions, 2 deletions
diff --git a/etc/snippets/text-mode/guix-commit-message-add-package b/etc/snippets/text-mode/guix-commit-message-add-package
index 1aebe8a763..0dff2cbcf5 100644
--- a/etc/snippets/text-mode/guix-commit-message-add-package
+++ b/etc/snippets/text-mode/guix-commit-message-add-package
@@ -3,6 +3,11 @@
# key: add
# condition: git-commit-mode
# --
-gnu: Add $1.
+gnu: Add ${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)))`}.
* `(car (magit-staged-files))` ($1): New variable. \ No newline at end of file
diff --git a/etc/snippets/text-mode/guix-commit-message-update-package b/etc/snippets/text-mode/guix-commit-message-update-package
index 79fcf7c6e3..2cdb6ea28d 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