summary refs log tree commit diff
path: root/etc/snippets/yas/text-mode
diff options
context:
space:
mode:
Diffstat (limited to 'etc/snippets/yas/text-mode')
-rw-r--r--etc/snippets/yas/text-mode/guix-commit-message-add-cl-package15
-rw-r--r--etc/snippets/yas/text-mode/guix-commit-message-add-package13
-rw-r--r--etc/snippets/yas/text-mode/guix-commit-message-remove-package13
-rw-r--r--etc/snippets/yas/text-mode/guix-commit-message-rename-package20
-rw-r--r--etc/snippets/yas/text-mode/guix-commit-message-update-package26
-rw-r--r--etc/snippets/yas/text-mode/guix-commit-message-use-https-home-page9
6 files changed, 96 insertions, 0 deletions
diff --git a/etc/snippets/yas/text-mode/guix-commit-message-add-cl-package b/etc/snippets/yas/text-mode/guix-commit-message-add-cl-package
new file mode 100644
index 0000000000..e255736b05
--- /dev/null
+++ b/etc/snippets/yas/text-mode/guix-commit-message-add-cl-package
@@ -0,0 +1,15 @@
+# -*- mode: snippet -*-
+# name: guix-commit-message-add-cl-package
+# key: addcl
+# condition: git-commit-mode
+# --
+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)
+                  (replace-regexp-in-string
+		   "^sbcl-" ""
+		   (thing-at-point 'sexp 'no-properties))))`}.
+
+* `(car (magit-staged-files))` (cl-${1:$(replace-regexp-in-string "^cl-" "" yas-text)}, ecl-$1, sbcl-$1): New variables.
\ No newline at end of file
diff --git a/etc/snippets/yas/text-mode/guix-commit-message-add-package b/etc/snippets/yas/text-mode/guix-commit-message-add-package
new file mode 100644
index 0000000000..7cebd4023a
--- /dev/null
+++ b/etc/snippets/yas/text-mode/guix-commit-message-add-package
@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: guix-commit-message-add-package
+# key: add
+# condition: git-commit-mode
+# --
+gnu: Add ${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)))`}.
+
+* `(car (magit-staged-files))` ($1): New variable.
\ No newline at end of file
diff --git a/etc/snippets/yas/text-mode/guix-commit-message-remove-package b/etc/snippets/yas/text-mode/guix-commit-message-remove-package
new file mode 100644
index 0000000000..0c1050f4fe
--- /dev/null
+++ b/etc/snippets/yas/text-mode/guix-commit-message-remove-package
@@ -0,0 +1,13 @@
+# -*- mode: snippet -*-
+# name: guix-commit-message-remove-package
+# key: remove
+# condition: git-commit-mode
+# --
+gnu: Remove ${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)))`}.
+
+* `(car (magit-staged-files))` ($1): Delete variable.
diff --git a/etc/snippets/yas/text-mode/guix-commit-message-rename-package b/etc/snippets/yas/text-mode/guix-commit-message-rename-package
new file mode 100644
index 0000000000..9695ca1b3d
--- /dev/null
+++ b/etc/snippets/yas/text-mode/guix-commit-message-rename-package
@@ -0,0 +1,20 @@
+# -*- mode: snippet -*-
+# name: guix-commit-message-rename-package
+# key: rename
+# condition: git-commit-mode
+# --
+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)))`}: Rename package to ${2:`(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): Define in terms of
+'deprecated-package'.
+($2): New variable, formerly known as "$1".
\ No newline at end of file
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
diff --git a/etc/snippets/yas/text-mode/guix-commit-message-use-https-home-page b/etc/snippets/yas/text-mode/guix-commit-message-use-https-home-page
new file mode 100644
index 0000000000..df20d31a80
--- /dev/null
+++ b/etc/snippets/yas/text-mode/guix-commit-message-use-https-home-page
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: guix-commit-message-use-https-home-page
+# key: https
+# condition: git-commit-mode
+# --
+gnu: $1: Use HTTPS home page URI.
+
+* `(car (magit-staged-files))` ($1)[home-page]: Use HTTPS URI.
+`(mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) "\n")`
\ No newline at end of file