tvl-depot/users/aspen/emacs/snippets/haskell-mode/module
Aspen Smith acc2433b65 feat(aspen/emacs): Begin a complete emacs config revamp
I'm still on doom, but without all the cruft I've accumulated over the
last ~6 years it's actually good and fast and nice. Also, the config is
literate now!

The old emacs is still in .emacs.d, since occasionally I want to
reference it, but eventually I'll just get rid of it

Change-Id: Icda840d798594f7e6b188dba044494597d5f6043
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10999
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
2024-02-26 21:16:58 +00:00

32 lines
1.2 KiB
Text

# -*- mode: snippet -*-
# key: module
# name: module
# condition: (= (length "module") (current-column))
# expand-env: ((yas-indent-line 'fixed))
# contributor: Luke Hoersten <luke@hoersten.org>
# --
--------------------------------------------------------------------------------
-- |
-- Module : $1
-- Description : $2
-- Maintainer : Griffin Smith <grfn@urbint.com>
-- Maturity : ${3:Draft, Usable, Maintained, OR MatureAF}
--
-- $4
--------------------------------------------------------------------------------
module ${1:`(if (not buffer-file-name) "Module"
(let ((name (file-name-sans-extension (buffer-file-name)))
(case-fold-search nil))
(if (or (cl-search "src/" name)
(cl-search "test/" name))
(replace-regexp-in-string "/" "."
(replace-regexp-in-string "^\/[^A-Z]*" ""
(car (last (split-string name "src")))))
(file-name-nondirectory name))))`}
(
) where
--------------------------------------------------------------------------------
import Prelude
--------------------------------------------------------------------------------
$0