;;; my-lsp.el --- Configures emacs for LSP -*- lexical-binding: t -*- ;; Author: Franck Cuny ;;; 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