summaryrefslogtreecommitdiffhomepage
path: root/init.el
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-09-23 01:05:11 +0100
committerjao <jao@gnu.org>2022-09-23 01:05:11 +0100
commit6ab6ed95bfbae9a06e04049843f8b087b92f4cc4 (patch)
tree8fe89657cb20166c660aaf0f2354540173d83de6 /init.el
parentae8e24df46851ff7e597d5f0c233d75a8c850ece (diff)
downloadelibs-6ab6ed95bfbae9a06e04049843f8b087b92f4cc4.tar.gz
elibs-6ab6ed95bfbae9a06e04049843f8b087b92f4cc4.tar.bz2
haskell with eglot
Diffstat (limited to 'init.el')
-rw-r--r--init.el43
1 files changed, 20 insertions, 23 deletions
diff --git a/init.el b/init.el
index 101519c..b1ff066 100644
--- a/init.el
+++ b/init.el
@@ -2100,11 +2100,16 @@
:ensure t
:custom ((flymake-mode-line-format '(" " flymake-mode-line-counters)))
:config (jao-define-attached-buffer "^\\*Flymake diagnostics .*\\*\\'")
- :bind (:map flymake-mode-map (("s-f n" . flymake-goto-next-error)
- ("s-f p" . flymake-goto-prev-error)
- ("s-f i" . flymake-show-diagnostic)
- ("s-f f" . flymake-show-buffer-diagnostics)
- ("s-f l" . consult-flymake))))
+ :bind (:map flymake-mode-map (("M-m n" . flymake-goto-next-error)
+ ("M-m p" . flymake-goto-prev-error)
+ ("M-m i" . flymake-show-diagnostic)
+ ("M-m f" . flymake-show-buffer-diagnostics)
+ ("M-m l" . consult-flymake))))
+
+;;;; eglot
+(use-package eglot
+ :ensure t
+ :hook ((haskell-mode . eglot-ensure)))
;;;; workarounds
(setq c-type-finder-time-slot nil)
@@ -2385,13 +2390,9 @@
'safe-local-variable
(apply-partially #'seq-every-p #'stringp))
- (require 'haskell-doc)
- (dolist (h '(interactive-haskell-mode
- haskell-doc-mode
- haskell-decl-scan-mode
+ (dolist (h '(haskell-decl-scan-mode
haskell-indentation-mode
- flymake-mode
- (lambda () (eldoc-mode -1))))
+ interactive-haskell-mode))
(add-hook 'haskell-mode-hook h))
(add-hook 'haskell-presentation-mode-hook (lambda () (whitespace-mode -1)))
@@ -2400,6 +2401,8 @@
(("C-c C-d" . jao-haskell-hoogle)
("C-c h" . haskell-hoogle)
("C-c C-e" . haskell-command-insert-language-pragma)
+ ("C-M-n" . flymake-goto-next-error)
+ ("C-M-p" . flymake-goto-prev-error)
("<f3>" . haskell-session-kill))))
(require 'haskell)
@@ -2412,13 +2415,6 @@
(jao-define-attached-buffer '(major-mode . haskell-interactive-mode) 0.33)
(jao-define-attached-buffer '(major-mode . haskell-presentation-mode) 0.25)
-;; needs cabal install apply-refact
-(use-package hlint-refactor
- :ensure t
- :after (haskell-mode)
- :diminish ""
- :hook (haskell-mode . hlint-refactor-mode))
-
;;;;; transient
(jao-transient-major-mode haskell
["Imports"
@@ -2427,11 +2423,12 @@
("is" "Sort imports" haskell-sort-imports)
("ia" "Align imports" haskell-align-imports)]
["Code"
- ("c" "haskell check (hlint)" haskell-check)
- ("l" "insert language pragma" haskell-command-insert-language-pragma)]
- ["Help"
- ("h" "Hoogle" jao-haskell-hoogle)
- ("TAB" "show info" haskell-process-do-info)])
+ ("e" "insert language pragma" haskell-command-insert-language-pragma)
+ ("v" "visit cabal file" haskell-cabal-visit-file)
+ ("h" "Hoogle" jao-haskell-hoogle)]
+ ["Flymake"
+ ("n" "next error" flymake-goto-next-error)
+ ("p" "previous error" flymake-goto-prev-error)])
;;;; Pie
(jao-load-path "pie")