summary refs log tree commit diff
path: root/emacs/custom/my-lsp.el
blob: 98c061a5c6df1240f704476383b206381c7c3e90 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
;;; my-lsp.el --- Configures emacs for LSP -*- lexical-binding: t -*-
;; Author: Franck Cuny <franck@fcuny.net>

;;; Commentary:

;;; Code:

(require 'lsp-mode)
(require 'lsp-ui)

(setq lsp-ui-doc-position 'at-point)
(setq lsp-ui-peek-enable                t) ;; Enable `lsp-ui-peek'.
(setq lsp-ui-peek-show-directory        t) ;; Show the directory of files.
(setq lsp-ui-sideline-enable            t) ;; Enable `lsp-ui-sideline'.
(setq lsp-ui-sideline-show-hover        t) ;; Show hover messages in sideline.
(setq lsp-ui-sideline-show-code-actions t) ;; Show code actions in sideline.

(setq lsp-completion-enable t) ;; Enable `completion-at-point' integration.

(require 'lsp-diagnostics)
(setq lsp-diagnostics-provider :flymake)

(add-hook 'lsp-mode-hook #'lsp-ui-mode)

(require 'consult-lsp)
(define-key lsp-mode-map [remap xref-find-apropos] #'consult-lsp-symbols)

(require 'lsp-completion)
(setq lsp-completion-provider :none)   ;; I use corfu
(add-hook 'lsp-completion-mode-hook
          (lambda ()
	    (setf (alist-get 'lsp-capf completion-category-defaults) '((styles . (orderless flex))))))

(provide 'my-lsp)

;;; my-lsp.el ends here