mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-12-01 20:46:12 +01:00
3638492702
Signed-off-by: main <magic_rb@redalder.org>
1.7 KiB
1.7 KiB
LSP
Python
Using the Microsoft language server as it's the best afaik. It's weird because it doesn't lookup the path to itself via PATH but has to be statically set.
(use-package lsp-python-ms
:straight t
:hook (python-mode . (lambda ()
(require 'lsp-python-ms)
(envrc-mode)
(setq-local lsp-python-ms-executable (executable-find "python-language-server"))
(lsp)))
:config
(defvar-local lsp-python-ms-executable ""))
C/C++
This just requires hooking lsp onto c-mode
and c++-mode
.
(with-eval-after-load 'lsp
(add-hook c-mode-hook #'lsp)
(add-hook c++-mode-hook #'lsp))
Haskell
Enable haskell-mode
, and lsp-haskell
(use-package haskell-mode
:straight t
:hook ((haskell-mode haskell-literate-mode) . interactive-haskell-mode)
:config
(setq lsp-haskell-plugin-ghcide-type-lenses-global-on nil
lsp-haskell-plugin-import-lens-code-lens-on nil))
(use-package lsp-haskell
:straight t
:after lsp-mode
:hook ((haskell-mode haskell-literate-mode) . #'lsp))
Disable the haskell-stack-ghc
flycheck checker, it's not used when lsp starts, but it does get loaded just before it. Loading and unloading it is slow and causes Emacs to freeze for a few seconds, so just disable it.
(with-eval-after-load "flycheck"
(add-to-list 'flycheck-disabled-checkers 'haskell-stack-ghc))