From 1f9fcd5c10fc2c697ef592ef1f3bc98dcef2d573 Mon Sep 17 00:00:00 2001 From: Patrick Elliott Date: Wed, 18 Jul 2018 08:50:55 +0200 Subject: [PATCH] Lazily load bindings properly --- modules/lang/haskell/config.el | 47 +++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index 3068602db..74cdc15cb 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -10,31 +10,38 @@ (def-package! hindent :hook (haskell-mode . hindent-mode)) +(after! haskell-mode + (map! :map haskell-mode-map + :localleader + :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 "n" "b" #'haskell-process-cabal-build + :n "c" #'haskell-cabal-visit-file + :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)) + (after! haskell-mode (add-hook 'haskell-mode-hook #'interactive-haskell-mode) (set-lookup-handlers! 'haskell-mode :definition #'haskell-mode-jump-to-def-or-tag) (set-file-template! 'haskell-mode :trigger #'haskell-auto-insert-module-template :project t) (set-repl-handler! '(haskell-mode haskell-cabal-mode literate-haskell-mode) #'+haskell-repl-buffer) - (map! :map haskell-mode-map - :localleader - :n "p" #'hindent-reformat-buffer - :v "p" #'hindent-reformat-region - (:when (featurep! +intero) - :desc "type" :n "t" #'intero-type-at - :desc "info" :n "i" #'intero-info - :desc "load" :n "l" #'intero-repl-load - :desc "eval line" :n "e" #'intero-repl-eval-region - :desc "eval region" :v "e" #'intero-repl-eval-region - :desc "apply suggestions" :n "a" #'intero-apply-suggestions) - (:when (featurep! +dante) - :n "n" "b" #'haskell-process-cabal-build - :desc "goto cabal file" :n "c" #'haskell-cabal-visit-file - :desc "type" :n "t" #'dante-type-at - :desc "info" :n "i" #'dante-info - :desc "load" :n "l" #'haskell-process-load-or-reload - :desc "eval command block >>>" :n "e" #'dante-eval-block - :desc "repair at point" :n "a" #'attrap-attrap)) - (add-to-list 'completion-ignored-extensions ".hi"))