summary refs log tree commit diff
path: root/etc/snippets/yas
diff options
context:
space:
mode:
Diffstat (limited to 'etc/snippets/yas')
-rw-r--r--etc/snippets/yas/scheme-mode/guix-bzr-reference7
-rw-r--r--etc/snippets/yas/scheme-mode/guix-cvs-reference8
-rw-r--r--etc/snippets/yas/scheme-mode/guix-git-reference7
-rw-r--r--etc/snippets/yas/scheme-mode/guix-hg-reference7
-rw-r--r--etc/snippets/yas/scheme-mode/guix-origin29
-rw-r--r--etc/snippets/yas/scheme-mode/guix-package46
-rw-r--r--etc/snippets/yas/scheme-mode/guix-svn-reference7
-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
13 files changed, 207 insertions, 0 deletions
diff --git a/etc/snippets/yas/scheme-mode/guix-bzr-reference b/etc/snippets/yas/scheme-mode/guix-bzr-reference
new file mode 100644
index 0000000000..a801cc36f2
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-bzr-reference
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: guix-bzr-reference
+# key: bzr-reference...
+# --
+(bzr-reference
+  (url "$1")
+  (revision ${2:ref}))
\ No newline at end of file
diff --git a/etc/snippets/yas/scheme-mode/guix-cvs-reference b/etc/snippets/yas/scheme-mode/guix-cvs-reference
new file mode 100644
index 0000000000..fbc5034b66
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-cvs-reference
@@ -0,0 +1,8 @@
+# -*- mode: snippet -*-
+# name: guix-cvs-reference
+# key: cvs-reference...
+# --
+(cvs-reference
+  (root-directory "${1:root-directory}")
+  (module "${2:module}")
+  (revision "${3:revision}"))
\ No newline at end of file
diff --git a/etc/snippets/yas/scheme-mode/guix-git-reference b/etc/snippets/yas/scheme-mode/guix-git-reference
new file mode 100644
index 0000000000..29ca6a9c54
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-git-reference
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: guix-git-reference
+# key: git-reference...
+# --
+(git-reference
+  (url "$1")
+  (commit ${2:commit}))
\ No newline at end of file
diff --git a/etc/snippets/yas/scheme-mode/guix-hg-reference b/etc/snippets/yas/scheme-mode/guix-hg-reference
new file mode 100644
index 0000000000..95de16daae
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-hg-reference
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: guix-hg-reference
+# key: hg-reference...
+# --
+(hg-reference
+  (url "$1")
+  (changeset ${2:changeset}))
\ No newline at end of file
diff --git a/etc/snippets/yas/scheme-mode/guix-origin b/etc/snippets/yas/scheme-mode/guix-origin
new file mode 100644
index 0000000000..eb0cdc8242
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-origin
@@ -0,0 +1,29 @@
+# -*- mode: snippet -*-
+# name: guix-origin
+# key: origin...
+# --
+(origin
+ (method ${1:$$(yas-choose-value "url-fetch"
+                                 "url-fetch/tarbomb"
+                                 "url-fetch/zipbomb"
+                                 "cvs-fetch"
+                                 "git-fetch"
+                                 "hg-fetch"
+                                 "svn-fetch"
+                                 "bzr-fetch")})
+ (uri ${1:$(cond ((equal yas-text "git-fetch") "git-reference...")
+                 ((equal yas-text "svn-fetch") "svn-reference...")
+                 ((equal yas-text "hg-fetch")  "hg-reference...")
+                 ((equal yas-text "cvs-fetch") "cvs-reference...")
+                 ((equal yas-text "bzr-fetch") "bzr-reference...")
+                 (t "(string-append \\"https://\\" version \\".tar.gz\\")"))}$0)
+ ${1:$(cond ((equal yas-text "git-fetch")
+             "(file-name (git-file-name name version))")
+            ((equal yas-text "hg-fetch")
+             "(file-name (hg-file-name name version))")
+            ((member yas-text '("svn-fetch" "cvs-fetch" "bzr-fetch"))
+             "(file-name (string-append name \\"-\\" version \\"-checkout\\"))")
+            (t ""))}
+ (sha256
+  (base32
+    "$2")))
\ No newline at end of file
diff --git a/etc/snippets/yas/scheme-mode/guix-package b/etc/snippets/yas/scheme-mode/guix-package
new file mode 100644
index 0000000000..9ff6f997d1
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-package
@@ -0,0 +1,46 @@
+# -*- mode: snippet -*-
+# name: guix-package
+# key: package...
+# --
+(define-public $1
+  (package
+    (name "$1")
+    (version "$2")
+    (source origin...$0)
+    (build-system ${3:$$(yas-choose-value "android-ndk-build-system"
+                                          "ant-build-system"
+                                          "asdf-build-system"
+                                          "cargo-build-system"
+                                          "clojure-build-system"
+                                          "cmake-build-system"
+                                          "copy-build-system"
+                                          "dub-build-system"
+                                          "dune-build-system"
+                                          "emacs-build-system"
+                                          "font-build-system"
+                                          "glib-or-gtk-build-system"
+                                          "gnu-build-system"
+                                          "go-build-system"
+                                          "guile-build-system"
+                                          "haskell-build-system"
+                                          "julia-build-system"
+                                          "linux-module-build-system"
+                                          "maven-build-system"
+                                          "meson-build-system"
+                                          "minify-build-system"
+                                          "node-build-system"
+                                          "ocaml-build-system"
+                                          "perl-build-system"
+                                          "python-build-system"
+                                          "qt-build-system"
+                                          "r-build-system"
+                                          "rakudo-build-system"
+                                          "ruby-build-system"
+                                          "scons-build-system"
+                                          "texlive-build-system"
+                                          "trivial-build-system"
+                                          "waf-build-system")})
+    (home-page "$4")
+    (synopsis "$5")
+    (description "$6")
+    (license $7)))
\ No newline at end of file
diff --git a/etc/snippets/yas/scheme-mode/guix-svn-reference b/etc/snippets/yas/scheme-mode/guix-svn-reference
new file mode 100644
index 0000000000..7d897dc690
--- /dev/null
+++ b/etc/snippets/yas/scheme-mode/guix-svn-reference
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: guix-svn-reference
+# key: svn-reference...
+# --
+(svn-reference
+  (url "$1")
+  (revision ${2:svn-revision}))
\ No newline at end of file
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