tvl-depot/users/grfn/emacs.d/snippets/haskell-mode/test-module
Griffin Smith b2637edc23 feat(gs/emacs): Revamp haskell test-mode snippet
This is how I'm writing test files for xanthous now, and I'm not writing
any other haskell code, so let's update the snippet

Change-Id: Ia513490ee1cfc87b3d58ee1a8e94244f2e862963
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3208
Reviewed-by: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-06-14 13:04:26 +00:00

27 lines
No EOL
1.1 KiB
Text

# -*- mode: snippet -*-
# name: test-module
# key: test
# expand-env: ((yas-indent-line 'fixed))
# --
--------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module"
(let ((name (file-name-sans-extension (buffer-file-name)))
(case-fold-search nil))
(if (cl-search "test/" name)
(replace-regexp-in-string "/" "."
(replace-regexp-in-string "^\/[^A-Z]*" ""
(car (last (split-string name "src")))))
(file-name-nondirectory name))))`} (main, test) where
--------------------------------------------------------------------------------
import Test.Prelude
--------------------------------------------------------------------------------
import ${1:$(s-chop-suffix "Spec" yas-text)}
--------------------------------------------------------------------------------
main :: IO ()
main = defaultMain test
test :: TestTree
test = testGroup "$1"
[ $0
]