mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-29 11:36:16 +01:00
4315f5933f
Signed-off-by: main <magic_rb@redalder.org>
1.5 KiB
1.5 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
:config
(add-hook 'haskell-mode-hook #'lsp)
(add-hook 'haskell-literate-mode-hook #'lsp))
(use-package lsp-haskell
:straight t)
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))