[emacs] assimilate hlint-refactor
[~bandali/configs] / init.org
index 1062c17..7127c0e 100644 (file)
--- a/init.org
+++ b/init.org
@@ -933,7 +933,7 @@ TODO: break this giant source block down into individual org sections.
 
 * Programming modes
 
-** Lean mode
+** [[https://github.com/leanprover/lean-mode][Lean]]
 
 #+begin_src emacs-lisp
 (use-package lean-mode
@@ -941,6 +941,31 @@ TODO: break this giant source block down into individual org sections.
              ("S-SPC" . company-complete)))
 #+end_src
 
+** Haskell
+
+*** [[https://github.com/haskell/haskell-mode][haskell-mode]]
+
+#+begin_src emacs-lisp
+(use-package haskell-mode
+  :config
+  (setq haskell-indentation-layout-offset 4
+        haskell-indentation-left-offset 4
+        haskell-indentation-ifte-offset 4))
+#+end_src
+
+*** [[https://github.com/mpickering/hlint-refactor-mode][hlint-refactor]]
+
+Emacs bindings for [[https://github.com/ndmitchell/hlint][hlint]]'s refactor option. This requires the refact
+executable from [[https://github.com/mpickering/apply-refact][apply-refact]].
+
+#+begin_src emacs-lisp
+(use-package hlint-refactor
+  :bind (:map hlint-refactor-mode-map
+             ("C-c l b" . hlint-refactor-refactor-buffer)
+             ("C-c l r" . hlint-refactor-refactor-at-point))
+  :hook (haskell-mode . hlint-refactor-mode))
+#+end_src
+
 * Post initialization
 :PROPERTIES:
 :CUSTOM_ID: post-initialization