diff --git a/modules/lang/haskell/+lsp.el b/modules/lang/haskell/+lsp.el new file mode 100644 index 000000000..d963d3e83 --- /dev/null +++ b/modules/lang/haskell/+lsp.el @@ -0,0 +1,8 @@ +;;; lang/haskell/+lsp.el -*- lexical-binding: t; -*- + +(def-package! lsp-haskell + :after haskell-mode + :init (add-hook 'haskell-mode-hook #'lsp) + :config + ;; Does some strange indentation if it pastes in the snippet + (setq company-lsp-enable-snippet nil)) diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index aedfce663..a62a64d87 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -1,7 +1,8 @@ ;;; lang/haskell/config.el -*- lexical-binding: t; -*- (cond ((featurep! +intero) (load! "+intero")) - ((featurep! +dante) (load! "+dante"))) + ((featurep! +dante) (load! "+dante")) + ((featurep! +lsp) (load! "+lsp"))) ;; ;; Common packages diff --git a/modules/lang/haskell/packages.el b/modules/lang/haskell/packages.el index ec400afaf..b2fd48e5e 100644 --- a/modules/lang/haskell/packages.el +++ b/modules/lang/haskell/packages.el @@ -7,4 +7,6 @@ (package! dante) (package! attrap)) ((featurep! +intero) - (package! intero))) + (package! intero)) + ((featurep! +lsp) + (package! lsp-haskell)))