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
This commit is contained in:
Griffin Smith 2021-06-13 23:11:14 -04:00 committed by grfn
parent bf79617bd8
commit b2637edc23

View file

@ -3,7 +3,6 @@
# key: test # key: test
# expand-env: ((yas-indent-line 'fixed)) # expand-env: ((yas-indent-line 'fixed))
# -- # --
{-# LANGUAGE ApplicativeDo #-}
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module" module ${1:`(if (not buffer-file-name) "Module"
(let ((name (file-name-sans-extension (buffer-file-name))) (let ((name (file-name-sans-extension (buffer-file-name)))
@ -12,11 +11,17 @@ module ${1:`(if (not buffer-file-name) "Module"
(replace-regexp-in-string "/" "." (replace-regexp-in-string "/" "."
(replace-regexp-in-string "^\/[^A-Z]*" "" (replace-regexp-in-string "^\/[^A-Z]*" ""
(car (last (split-string name "src"))))) (car (last (split-string name "src")))))
(file-name-nondirectory name))))`} where (file-name-nondirectory name))))`} (main, test) where
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
import Test.Prelude import Test.Prelude
import qualified Hedgehog.Gen as Gen
import qualified Hedgehog.Range as Range
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
import ${1:$(s-chop-suffix "Test" yas-text)} import ${1:$(s-chop-suffix "Spec" yas-text)}
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
main :: IO ()
main = defaultMain test
test :: TestTree
test = testGroup "$1"
[ $0
]