2016-03-29 01:06:37 -04:00
|
|
|
;;; module-haskell.el
|
|
|
|
|
2017-03-16 17:22:13 -04:00
|
|
|
;; Requires cabal installed for syntax-checking, and ghci (or hugs) to be
|
|
|
|
;; installed for REPL support.
|
|
|
|
|
|
|
|
(def-package! haskell-mode
|
2016-04-08 14:07:16 -04:00
|
|
|
:mode (("\\.hs$" . haskell-mode)
|
|
|
|
("\\.ghci$" . ghci-script-mode)
|
|
|
|
("\\.cabal$" . haskell-cabal-mode))
|
2016-04-10 18:50:45 -04:00
|
|
|
:interpreter (("runghc" . haskell-mode)
|
|
|
|
("runhaskell" . haskell-mode))
|
2016-03-31 13:17:42 -04:00
|
|
|
:config
|
2017-03-16 17:22:13 -04:00
|
|
|
(load "haskell-mode-autoloads" nil t)
|
|
|
|
|
2017-02-23 00:06:12 -05:00
|
|
|
(set! :popup "*debug:haskell*" :size 20)
|
|
|
|
(set! :repl 'haskell-mode 'switch-to-haskell)
|
2017-03-16 17:22:13 -04:00
|
|
|
(push ".hi" completion-ignored-extensions)
|
2016-03-29 18:11:56 -04:00
|
|
|
|
2017-03-16 17:22:13 -04:00
|
|
|
(autoload 'switch-to-haskell "inf-haskell" nil t)
|
|
|
|
(after! inf-haskell
|
|
|
|
(map! :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close)))
|
2017-02-19 18:57:16 -05:00
|
|
|
|
2017-03-16 17:22:13 -04:00
|
|
|
|
|
|
|
(def-package! dante
|
|
|
|
:after haskell-mode
|
|
|
|
:config
|
|
|
|
(when (executable-find "cabal")
|
|
|
|
(add-hook! 'haskell-mode-hook '(flycheck-mode dante-mode))))
|
2016-03-29 01:06:37 -04:00
|
|
|
|