1
0
Fork 0

Add snippet for oni-bats

This commit is contained in:
Tom Willemse 2020-10-19 09:14:29 -07:00
parent 6048293876
commit d6e2f4e653
3 changed files with 39 additions and 1 deletions

8
oni-bats/Cask Normal file
View file

@ -0,0 +1,8 @@
(source gnu)
(source melpa)
(package-file "./oni-bats.el")
(files
"*.el"
("snippets" "./snippets/*"))

View file

@ -4,7 +4,7 @@
;; Author: Tom Willemse <tom@ryuslash.org> ;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local ;; Keywords: local
;; Version: 2020.0407.213908 ;; Version: 2020.1019.091729
;; Package-Requires: (bats-mode oni-sh) ;; Package-Requires: (bats-mode oni-sh)
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
@ -31,17 +31,40 @@
(require 'autoinsert) (require 'autoinsert)
(require 'oni-sh) (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 () (defun oni-bats-disable-shfmt-on-save-mode ()
"Disable shfmt-on-save-mode." "Disable shfmt-on-save-mode."
(shfmt-on-save-mode -1)) (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) (add-hook 'bats-mode-hook #'oni-bats-disable-shfmt-on-save-mode)
;;;###autoload ;;;###autoload
(with-eval-after-load 'autoinsert (with-eval-after-load 'autoinsert
(add-to-list 'auto-insert-alist '(bats-mode nil "#!/usr/bin/env bats\n\n"))) (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)) ;;;###autoload(with-eval-after-load 'bats-mode (require 'oni-bats))
(provide 'oni-bats) (provide 'oni-bats)

View file

@ -0,0 +1,7 @@
# -*- mode: snippet -*-
# name: test
# key: test
# --
@test "$1" {
$0
}