[emacs] assimilate hlint-refactor
authorAmin Bandali <amin@aminb.org>
Sat, 5 May 2018 23:48:58 +0000 (19:48 -0400)
committerAmin Bandali <amin@aminb.org>
Sat, 5 May 2018 23:48:58 +0000 (19:48 -0400)
.gitmodules
init.org
lib/hlint-refactor [new submodule]

index fdcca20..d267480 100644 (file)
@@ -58,6 +58,9 @@
 [submodule "helm"]
        path = lib/helm
        url = git@github.com:emacs-helm/helm.git
 [submodule "helm"]
        path = lib/helm
        url = git@github.com:emacs-helm/helm.git
+[submodule "hlint-refactor"]
+       path = lib/hlint-refactor
+       url = git@github.com:mpickering/hlint-refactor-mode.git
 [submodule "ivy"]
        path = lib/ivy
        url = git@github.com:abo-abo/swiper.git
 [submodule "ivy"]
        path = lib/ivy
        url = git@github.com:abo-abo/swiper.git
index 84f8408..7127c0e 100644 (file)
--- a/init.org
+++ b/init.org
@@ -941,7 +941,9 @@ TODO: break this giant source block down into individual org sections.
              ("S-SPC" . company-complete)))
 #+end_src
 
              ("S-SPC" . company-complete)))
 #+end_src
 
-** [[https://github.com/haskell/haskell-mode][Haskell]]
+** Haskell
+
+*** [[https://github.com/haskell/haskell-mode][haskell-mode]]
 
 #+begin_src emacs-lisp
 (use-package haskell-mode
 
 #+begin_src emacs-lisp
 (use-package haskell-mode
@@ -950,6 +952,20 @@ TODO: break this giant source block down into individual org sections.
         haskell-indentation-left-offset 4
         haskell-indentation-ifte-offset 4))
 #+end_src
         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
 * Post initialization
 :PROPERTIES:
 :CUSTOM_ID: post-initialization
diff --git a/lib/hlint-refactor b/lib/hlint-refactor
new file mode 160000 (submodule)
index 0000000..92c69aa
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 92c69aa01c65968e86c15db087bb1ea785e4736c