Format Haskell source code using ormolu. Requires reformatter.el.
With use-package:
(use-package ormolu
:hook (haskell-mode . ormolu-format-on-save-mode)
:bind
(:map haskell-mode-map
("C-c r" . ormolu-format-buffer)))
Without:
(push "~/.elib/contrib/reformatter.el" load-path)
(push "~/.elib/contrib/ormolu.el" load-path)
(load-library "ormolu")
(add-hook 'haskell-mode-hook 'ormolu-format-on-save-mode)
The package can be configured via the usual customize-group RET ormolu
mechanism. For example, to enable the TypeApplications
extension by default, you can put ("--ghc-opt" "-XTypeApplications")
under the "Ormolu Extra Args" option (ormolu-extra-args
elisp var).
This package is just a tiny wrapper on top of the reformatter.el
, I mean really tiny, just a few lines of code.