From 6ab6ed95bfbae9a06e04049843f8b087b92f4cc4 Mon Sep 17 00:00:00 2001 From: jao Date: Fri, 23 Sep 2022 01:05:11 +0100 Subject: haskell with eglot --- init.el | 43 ++++++++++++++++++++----------------------- 1 file 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) ("" . 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") -- cgit v1.2.3