33 lines
1.2 KiB
Text
33 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
|