2017-06-08 11:47:56 +02:00
|
|
|
;;; lang/haskell/config.el -*- lexical-binding: t; -*-
|
2016-03-29 01:06:37 -04:00
|
|
|
|
2018-05-27 12:44:22 +02:00
|
|
|
(cond ((featurep! +intero) (load! "+intero"))
|
|
|
|
((featurep! +dante) (load! "+dante")))
|
2017-10-03 00:52:16 +02:00
|
|
|
|
|
|
|
;;
|
|
|
|
;; Common plugins
|
|
|
|
;;
|
|
|
|
|
2018-06-26 19:34:36 +02:00
|
|
|
(def-package! hindent
|
|
|
|
:hook (haskell-mode . hindent-mode))
|
|
|
|
|
2018-07-18 08:50:55 +02:00
|
|
|
(after! haskell-mode
|
|
|
|
(map! :map haskell-mode-map
|
|
|
|
:localleader
|
2018-07-18 09:11:48 +02:00
|
|
|
;; this is set to use cabal for dante users and stack for intero users:
|
|
|
|
:n "b" #'haskell-process-cabal-build
|
|
|
|
:n "c" #'haskell-cabal-visit-file
|
2018-07-18 08:50:55 +02:00
|
|
|
:n "p" #'hindent-reformat-buffer
|
|
|
|
:v "p" #'hindent-reformat-region))
|
|
|
|
|
|
|
|
(after! intero-mode
|
|
|
|
(map! :map intero-mode-map
|
|
|
|
:localleader
|
|
|
|
:n "t" #'intero-type-at
|
|
|
|
:n "i" #'intero-info
|
|
|
|
:n "l" #'intero-repl-load
|
|
|
|
:n "e" #'intero-repl-eval-region
|
|
|
|
:v "e" #'intero-repl-eval-region
|
|
|
|
:n "a" #'intero-apply-suggestions))
|
|
|
|
|
|
|
|
(after! dante-mode
|
|
|
|
(map! :map dante-mode-map
|
|
|
|
:localleader
|
|
|
|
:n "t" #'dante-type-at
|
|
|
|
:n "i" #'dante-info
|
|
|
|
:n "l" #'haskell-process-load-or-reload
|
|
|
|
:n "e" #'dante-eval-block
|
|
|
|
:n "a" #'attrap-attrap))
|
|
|
|
|
2018-05-25 00:46:11 +02:00
|
|
|
(after! haskell-mode
|
2018-07-15 20:44:11 +02:00
|
|
|
(add-hook 'haskell-mode-hook #'interactive-haskell-mode)
|
2018-07-15 20:44:47 +02:00
|
|
|
(set-lookup-handlers! 'haskell-mode :definition #'haskell-mode-jump-to-def-or-tag)
|
2018-07-14 21:44:06 +02:00
|
|
|
(set-file-template! 'haskell-mode :trigger #'haskell-auto-insert-module-template :project t)
|
2018-07-14 21:43:12 +02:00
|
|
|
(set-repl-handler! '(haskell-mode haskell-cabal-mode literate-haskell-mode) #'+haskell-repl-buffer)
|
2018-07-17 02:27:39 +02:00
|
|
|
|
2018-07-17 23:47:57 +02:00
|
|
|
(add-to-list 'completion-ignored-extensions ".hi"))
|
2017-08-08 19:14:58 +02:00
|
|
|
|