about summary refs log tree commit diff
path: root/snippets/haskell-mode/module
blob: 4554d33f9ba7e6360a1717cc6bbd3de5e38df3d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- 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