doomemacs/modules/lang/haskell
Henrik Lissner 616956ac94 fix(haskell): remove evil-digit-argument-evil-beginning-of-line call
evil-digit motions were refactored in emacs-evil/evil#1519 (where
evil-digit-argument-evil-beginning-of-line was removed), which was
pulled in during 8645634608.

Fix: #5731
Ref: 8645634608
Ref: emacs-evil/evil#1519
2021-11-21 16:10:49 +01:00
..
autoload.el fix(haskell): remove evil-digit-argument-evil-beginning-of-line call 2021-11-21 16:10:49 +01:00
config.el refactor(haskell): move +lsp setup to config.el 2021-09-15 01:56:26 +03:00
doctor.el docs(haskell): improve doctor checks 2021-09-15 01:56:26 +03:00
packages.el bump: :lang 2021-09-15 01:22:33 +02:00
README.org docs(haskell): rewrite readme 2021-09-15 01:56:26 +03:00

lang/haskell

Description

Adds Haskell support to Doom Emacs.

Maintainers

This module has no dedicated maintainers.

Module Flags

Plugins

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"))