aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--oni-bats/Cask8
-rw-r--r--oni-bats/oni-bats.el (renamed from oni-bats.el)25
-rw-r--r--oni-bats/snippets/bats-mode/test7
3 files changed, 39 insertions, 1 deletions
diff --git a/oni-bats/Cask b/oni-bats/Cask
new file mode 100644
index 0000000..1a6e405
--- /dev/null
+++ b/oni-bats/Cask
@@ -0,0 +1,8 @@
+(source gnu)
+(source melpa)
+
+(package-file "./oni-bats.el")
+
+(files
+ "*.el"
+ ("snippets" "./snippets/*"))
diff --git a/oni-bats.el b/oni-bats/oni-bats.el
index c4b49c1..587fec8 100644
--- a/oni-bats.el
+++ b/oni-bats/oni-bats.el
@@ -4,7 +4,7 @@
;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local
-;; Version: 2020.0407.213908
+;; Version: 2020.1019.091729
;; Package-Requires: (bats-mode oni-sh)
;; This program is free software; you can redistribute it and/or modify
@@ -31,17 +31,40 @@
(require 'autoinsert)
(require 'oni-sh)
+(require 'yasnippet)
+
+(defconst oni-bats-root
+ (file-name-directory
+ (or load-file-name
+ (buffer-file-name)))
+ "The directory where ‘oni-bats’ was loaded from.")
+
+(defconst oni-bats-snippets-dir
+ (expand-file-name "snippets" oni-bats-root)
+ "The directory where ‘oni-bats’ stores its snippets.")
(defun oni-bats-disable-shfmt-on-save-mode ()
"Disable ‘shfmt-on-save-mode’."
(shfmt-on-save-mode -1))
+;;;###autoload
+(defun oni-bats-snippets-initialize ()
+ "Initialize the snippets for ‘oni-bats’."
+ (when (boundp 'yas-snippet-dirs)
+ (add-to-list 'yas-snippet-dirs oni-bats-snippets-dir t))
+ (yas-load-directory oni-bats-snippets-dir))
+
(add-hook 'bats-mode-hook #'oni-bats-disable-shfmt-on-save-mode)
;;;###autoload
(with-eval-after-load 'autoinsert
(add-to-list 'auto-insert-alist '(bats-mode nil "#!/usr/bin/env bats\n\n")))
+;;;###autoload
+(with-eval-after-load 'bats-mode
+ (with-eval-after-load 'yasnippet
+ (oni-bats-snippets-initialize)))
+
;;;###autoload(with-eval-after-load 'bats-mode (require 'oni-bats))
(provide 'oni-bats)
diff --git a/oni-bats/snippets/bats-mode/test b/oni-bats/snippets/bats-mode/test
new file mode 100644
index 0000000..8a2f028
--- /dev/null
+++ b/oni-bats/snippets/bats-mode/test
@@ -0,0 +1,7 @@
+# -*- mode: snippet -*-
+# name: test
+# key: test
+# --
+@test "$1" {
+ $0
+} \ No newline at end of file