summaryrefslogtreecommitdiff
path: root/etc/snippets/tempel/text-mode
diff options
context:
space:
mode:
Diffstat (limited to 'etc/snippets/tempel/text-mode')
-rw-r--r--etc/snippets/tempel/text-mode101
1 files changed, 101 insertions, 0 deletions
diff --git a/etc/snippets/tempel/text-mode b/etc/snippets/tempel/text-mode
new file mode 100644
index 0000000000..a1400aac69
--- /dev/null
+++ b/etc/snippets/tempel/text-mode
@@ -0,0 +1,101 @@
+-*- mode: lisp-data -*-
+
+text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode))
+
+(add\
+ "gnu: Add "
+ (p
+ (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)))
+ var ) "." n n
+ "* " (car (magit-staged-files)) " (" (s var ) "): New variable.")
+
+(remove\
+ "gnu: Remove "
+ (p (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)))
+ var) "." n n
+ "* " (car (magit-staged-files)) " (" (s var) "): Delete variable.")
+
+(rename\
+ "gnu: "
+ (p (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)))
+ prev-var)
+ ": Rename package to "
+ (p (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)))
+ new-var) "." n n
+ "* " (car (magit-staged-files)) " (" (s prev-var) "): Define in terms of" n
+ "'deprecated-package'." n
+ "(" (s new-var) "): New variable, formerly known as \"" (s prev-var) "\".")
+
+(update\
+ "gnu: "
+ (p (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)))
+ var)
+ ": Update to "
+ (p (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))))))
+ version) "." n n
+ "* " (car (magit-staged-files)) " (" (s var) "): Update to " (s version) "."
+ (mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files))) n)
+
+(addcl\
+ "gnu: Add cl-"
+ (p (replace-regexp-in-string
+ "^cl-" "" (with-temp-buffer
+ (magit-git-wash #'magit-diff-wash-diffs
+ "diff" "--staged")
+ (beginning-of-buffer)
+ (when (search-forward "+(define-public " nil 'noerror)
+ (replace-regexp-in-string
+ "^sbcl-" ""
+ (thing-at-point 'sexp 'no-properties)))))
+ var) "." n n
+ "* " (car (magit-staged-files))
+ " (cl-" (s var) ", ecl-" (s var) ", sbcl-" (s var) "): New variables.")
+
+(https\
+ "gnu: "
+ (p (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)))
+ var)
+ ": Use HTTPS home page." n n
+ "* " (car (magit-staged-files)) " (" (s var) ")[home-page]: Use HTTPS." n
+ (mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files))) n)