about summary refs log tree commit diff
path: root/emacs.d/wpc/packages/wpc-haskell.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.d/wpc/packages/wpc-haskell.el')
-rw-r--r--emacs.d/wpc/packages/wpc-haskell.el32
1 files changed, 32 insertions, 0 deletions
diff --git a/emacs.d/wpc/packages/wpc-haskell.el b/emacs.d/wpc/packages/wpc-haskell.el
new file mode 100644
index 000000000000..a37a84030f14
--- /dev/null
+++ b/emacs.d/wpc/packages/wpc-haskell.el
@@ -0,0 +1,32 @@
+;;; haskell.el --- My Haskell preferences -*- lexical-binding: t -*-
+;; Author: William Carroll <wpcarro@gmail.com>
+
+;;; Commentary:
+;; Hosts my Haskell development preferences
+
+;;; Code:
+
+;; Haskell support
+(use-package intero
+  :config
+  (intero-global-mode 1))
+
+;; text objects for Haskell
+(quelpa '(evil-text-objects-haskell
+          :fetcher github
+          :repo "urbint/evil-text-objects-haskell"))
+(require 'evil-text-objects-haskell)
+
+(use-package haskell-mode
+  :gfhook #'evil-text-objects-haskell/install
+  :after (intero evil-text-objects-haskell)
+  :config
+  (flycheck-add-next-checker 'intero 'haskell-hlint)
+  (let ((m-symbols
+         '(("`mappend`" . "⊕")
+           ("<>"        . "⊕"))))
+    (dolist (item m-symbols) (add-to-list 'haskell-font-lock-symbols-alist item)))
+  (setq haskell-font-lock-symbols t))
+
+(provide 'wpc-haskell)
+;;; haskell.el ends here