diff options
Diffstat (limited to 'etc/snippets/yas/text-mode/guix-commit-message-update-package')
-rw-r--r-- | etc/snippets/yas/text-mode/guix-commit-message-update-package | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/etc/snippets/yas/text-mode/guix-commit-message-update-package b/etc/snippets/yas/text-mode/guix-commit-message-update-package new file mode 100644 index 0000000000..b08df74a0b --- /dev/null +++ b/etc/snippets/yas/text-mode/guix-commit-message-update-package @@ -0,0 +1,26 @@ +# -*- mode: snippet -*- +# name: guix-commit-message-update-package +# key: update +# condition: git-commit-mode +# -- + +gnu: ${1:`(with-temp-buffer + (magit-git-wash #'magit-diff-wash-diffs + "diff" "--staged") + (goto-char (point-min)) + (when (re-search-forward "^[ ]*(define-public \\(\\S-+\\)" nil 'noerror) + (match-string-no-properties 1)))`}: Update to ${2:`(with-temp-buffer + (magit-git-wash #'magit-diff-wash-diffs + "diff" "--staged") + (goto-char (point-min)) + (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 |