From 15db7620e4282ff0f31689f9634e69c02cb2b3d9 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 2 Dec 2025 21:13:35 -0500 Subject: [PATCH] fix(haskell): lsp activation w/ treesit & eglot Fixed an issue where eglot wouldn't activate if lsp-haskell was disabled or the user had +tree-sitter enabled. Fix: #8528 --- modules/lang/haskell/config.el | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index 567ccf1f0..f84668654 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -28,6 +28,10 @@ #'haskell-collapse-mode ; support folding haskell code blocks #'interactive-haskell-mode) + (when (modulep! +lsp) + (add-hook 'haskell-mode-local-vars-hook #'lsp! 'append) + (add-hook 'haskell-literate-mode-local-vars-hook #'lsp! 'append)) + (add-to-list 'completion-ignored-extensions ".hi") (map! :map haskell-mode-map @@ -52,15 +56,14 @@ '((haskell :url "https://github.com/tree-sitter/tree-sitter-haskell"))) :config (set-repl-handler! 'haskell-ts-mode #'run-haskell :persist t) - (set-eglot-client! 'haskell-ts-mode '("haskell-language-server-wrapper" "--lsp"))) + (set-eglot-client! 'haskell-ts-mode '("haskell-language-server-wrapper" "--lsp")) + (when (modulep! +lsp) + (add-hook 'haskell-ts-mode-local-vars-hook #'lsp! 'append))) (use-package! lsp-haskell :when (modulep! +lsp) :defer t - :init - (add-hook 'haskell-mode-local-vars-hook #'lsp! 'append) - (add-hook 'haskell-literate-mode-local-vars-hook #'lsp! 'append) :config ;; Does some strange indentation if it pastes in the snippet (setq-hook! 'haskell-mode-hook yas-indent-line 'fixed))