about summary refs log tree commit diff
path: root/snippets/haskell-mode/module
diff options
context:
space:
mode:
Diffstat (limited to 'snippets/haskell-mode/module')
-rw-r--r--snippets/haskell-mode/module32
1 files changed, 32 insertions, 0 deletions
diff --git a/snippets/haskell-mode/module b/snippets/haskell-mode/module
new file mode 100644
index 000000000000..ce7ebcb21353
--- /dev/null
+++ b/snippets/haskell-mode/module
@@ -0,0 +1,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