diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/snippets/text-mode/guix-commit-message-add-package | 7 | ||||
-rw-r--r-- | etc/snippets/text-mode/guix-commit-message-update-package | 19 |
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 |