blob: e530fbac3b36a46b3012bddb436e62fbc75533be (
plain) (
tree)
|
|
;;; init-lsp.el --- Configure LSP integration -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>
;;; Commentary:
;; Configure LSP integration
;;; Code:
(use-package eglot
:after yasnippet
:bind (:map eglot-mode-map
("C-c l a" . eglot-code-actions)
("C-c l r" . eglot-rename)
("C-c l f" . eglot-format-buffer))
:hook (eglot-managed-mode . (lambda () (eglot-inlay-hints-mode -1)))
:config
(setq eglot-autoshutdown t)
(setq-default read-process-output-max (* 1024 1024))
(setq-default eglot-workspace-configuration
'(:pylsp (:plugins (:ruff (:enabled t)))
:gopls (:usePlaceholders t
:staticcheck t
:completeUnimported t
:matcher "CaseSensitive")))
;; uses https://github.com/nix-community/nixd for the LSP server instead of rnix
(add-to-list 'eglot-server-programs '(nix-mode . ("nixd"))))
(use-package eldoc-box
:ensure t
:hook
(eglot-managed-mode . eldoc-box-hover-mode)
:custom
(eldoc-documentation-strategy 'eldoc-documentation-enthusiast)
:custom-face
(eldoc-box-body ((t (:background "#eeefff" :family "Monaspace Argon" :height 0.9)))))
(provide 'init-lsp)
;;; init-lsp.el ends here
|