             (haskell-mode-show-type-at 1)
           (haskell-process-do-type 1)))
 
-      (spacemacs/set-leader-keys-for-major-mode 'haskell-mode
-        "gg"  'haskell-mode-jump-to-def-or-tag
-        "gi"  'haskell-navigate-imports
-        "f"   'haskell-mode-stylish-buffer
-
-        "sb"  'haskell-process-load-file
-        "sc"  'haskell-interactive-mode-clear
-        "ss"  'spacemacs/haskell-interactive-bring
-        "sS"  'haskell-interactive-switch
-
-        "ca"  'haskell-process-cabal
-        "cb"  'haskell-process-cabal-build
-        "cc"  'haskell-compile
-        "cv"  'haskell-cabal-visit-file
-
-        "hd"  'inferior-haskell-find-haddock
-        "hh"  'hoogle
-        "hH"  'haskell-hoogle-lookup-from-local
-        "hi"  (lookup-key haskell-mode-map (kbd "C-c TAB"))
-        "ht"  (lookup-key haskell-mode-map (kbd "C-c C-t"))
-        "hT"  'spacemacs/haskell-process-do-type-on-prev-line
-        "hy"  'hayoo
-
-        "dd"  'haskell-debug
-        "db"  'haskell-debug/break-on-function
-        "dn"  'haskell-debug/next
-        "dN"  'haskell-debug/previous
-        "dB"  'haskell-debug/delete
-        "dc"  'haskell-debug/continue
-        "da"  'haskell-debug/abandon
-        "dr"  'haskell-debug/refresh)
+      (dolist (mode haskell-modes)
+        (spacemacs/set-leader-keys-for-major-mode mode
+          "gg"  'haskell-mode-jump-to-def-or-tag
+          "gi"  'haskell-navigate-imports
+          "f"   'haskell-mode-stylish-buffer
+
+          "sb"  'haskell-process-load-file
+          "sc"  'haskell-interactive-mode-clear
+          "ss"  'spacemacs/haskell-interactive-bring
+          "sS"  'haskell-interactive-switch
+
+          "ca"  'haskell-process-cabal
+          "cb"  'haskell-process-cabal-build
+          "cc"  'haskell-compile
+          "cv"  'haskell-cabal-visit-file
+
+          "hd"  'inferior-haskell-find-haddock
+          "hh"  'hoogle
+          "hH"  'haskell-hoogle-lookup-from-local
+          "hi"  (lookup-key haskell-mode-map (kbd "C-c TAB"))
+          "ht"  (lookup-key haskell-mode-map (kbd "C-c C-t"))
+          "hT"  'spacemacs/haskell-process-do-type-on-prev-line
+          "hy"  'hayoo
+
+          "dd"  'haskell-debug
+          "db"  'haskell-debug/break-on-function
+          "dn"  'haskell-debug/next
+          "dN"  'haskell-debug/previous
+          "dB"  'haskell-debug/delete
+          "dc"  'haskell-debug/continue
+          "da"  'haskell-debug/abandon
+          "dr"  'haskell-debug/refresh))
 
       ;; configure C-c C-l so it doesn't throw any errors
       (bind-key "C-c C-l" 'haskell-process-load-file haskell-mode-map)


  (with-eval-after-load 'yasnippet (haskell-snippets-initialize)))

(defun haskell/init-hindent ()
  (use-package hindent
    :defer t

        (add-hook 'haskell-mode-hook 'interactive-haskell-mode))

      ;; prefixes
      (dolist (mode haskell-modes)
        (spacemacs/declare-prefix-for-mode mode "mg" "haskell/navigation")
        (spacemacs/declare-prefix-for-mode mode "ms" "haskell/repl")
        (spacemacs/declare-prefix-for-mode mode "mc" "haskell/cabal")
        (spacemacs/declare-prefix-for-mode mode "mh" "haskell/documentation")
        (spacemacs/declare-prefix-for-mode mode "md" "haskell/debug"))
      (spacemacs/declare-prefix-for-mode 'haskell-interactive-mode "ms" "haskell/repl")
      (spacemacs/declare-prefix-for-mode 'haskell-cabal-mode "ms" "haskell/repl")

