2.7 KiB
lang/haskell
Table of Contents TOC
Description
Adds Haskell support to Doom Emacs.
Maintainers
This module has no dedicated maintainers.
Module Flags
+lspEnable LSP support with for haskell-language-server (requires the:tools lspmodule).
Plugins
- haskell-mode
- lsp-haskell (
+lsp,:tools lsp)
Prerequisites
It is recommended to install the haskell tooling using ghcup. Only ghc is needed for basic functionality:
ghcup install ghc
but +lsp users should also install the language server:
ghcup install hls
Installing cabal or stack as well is recommended, and can be done through
ghcup.
haskell-mode provides support for hoogle, which can be installed through
system package manager, cabal, or stack.
haskell-language-server provides support for hlint, and haskell code
formatters such as brittany, floskell, ormolu, fourmolu, and stylish-haskell,
which can be installed through system package manager, cabal, or stack.
Features
This module intergrates the haskell packages into Doom by providing things such as repl support, project root recognition, etc. It also provide the following keybindings:
| Keybinding | Description |
|---|---|
<localleader> b |
Build the current cabal project |
<localleader> c |
Visit the .cabal file of the current buffer |
<localleader> h |
Toggle visibility of the form at point |
<localleader> H |
hides all top level functions |
Configuration
After installing your preferred formatter, make sure to set
lsp-haskell-formatting-provider to it.
Make sure to configure the lsp to use your perfered formatter, e.g.:
;; ~/.doom.d/config.el
(after!
(setq lsp-haskell-formatting-provider "brittany"))