Add LSP Rust configuration

main
Sergio Alvariño 2 years ago
parent 10adc96535
commit 26b8cdefd1

@ -571,63 +571,56 @@ Place your own snippets on =~/.cache/emacs/etc/yasnippet/snippets=
* company
Autocompletion with [[https://company-mode.github.io/][company]]
*Remember*: =company-lsp= is deprecated, don't use it.
#+begin_src emacs-lisp
(use-package company
:init
(global-company-mode t)
#+begin_src emacs-lisp
(use-package company
:init
(global-company-mode t)
;;(setq company-backends '((company-files company-keywords company-capf company-dabbrev-code company-etags company-dabbrev)))
:config
;; (setq company-idle-delay 0)
(setq company-idle-delay
(lambda () (if (company-in-string-or-comment) nil 0.3)))
(setq company-minimum-prefix-length 3)
;; (add-to-list 'company-backends 'company-yasnippet t)
:config
;; (setq company-idle-delay 0)
(setq company-idle-delay
(lambda () (if (company-in-string-or-comment) nil 0.3)))
(setq company-minimum-prefix-length 3)
;; (add-to-list 'company-backends 'company-yasnippet t)
:bind
("C-<iso-lefttab>" . company-complete-common-or-cycle)
)
#+end_src
** company-quickhelp
In case you want popup help instead of status line help
#+begin_src emacs-lisp
(use-package company-quickhelp
:config
(company-quickhelp-mode)
;; (setq company-quickhelp-delay nil) ; Uncoment to disable quickhelp (default 0.5)
)
#+end_src
:bind
("C-<iso-lefttab>" . company-complete-common-or-cycle)
)
#+end_src
** company-lsp (**DEPRECATED**)
** company-quickhelp
In case you want popup help instead of status line help
#+begin_src emacs-lisp
;; (use-package company-lsp
;; :ensure
;; :config
;; (push 'company-lsp company-backends)
;; )
(use-package company-quickhelp
:config
(company-quickhelp-mode)
;; (setq company-quickhelp-delay nil) ; Uncoment to disable quickhelp (default 0.5)
)
#+end_src
* org-mode
** org-bullets
Nice bullets for org-mode
#+begin_src emacs-lisp
(use-package org-bullets
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
)
#+end_src
#+begin_src emacs-lisp
(use-package org-bullets
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
)
#+end_src
* flycheck
You *must* use [[https://www.flycheck.org/en/latest/][flycheck]] if you use LSP. (Flymake + LSP is hell)
Syntax checking for programming languages
#+begin_src emacs-lisp
(use-package flycheck
:config
(global-set-key (kbd "C-c f p") 'flycheck-previous-error)
(global-set-key (kbd "C-c f n") 'flycheck-next-error)
:init
(global-flycheck-mode t)
)
#+end_src
#+begin_src emacs-lisp
(use-package flycheck
:config
(global-set-key (kbd "C-c f p") 'flycheck-previous-error)
(global-set-key (kbd "C-c f n") 'flycheck-next-error)
:init
(global-flycheck-mode t)
)
#+end_src
* LSP
We are using [[https://emacs-lsp.github.io/lsp-mode/][lsp-mode]] but keep an eye on [[https://github.com/joaotavora/eglot][eglot]] as an alternative.
@ -777,7 +770,6 @@ use for your debug templates!
;; )
#+end_src
** go
**WARNING**: you need to install =gopls= in your system.
**WARNING**: =company-go= is deprecated, don't use it
@ -832,13 +824,13 @@ References:
** Rust
- [[https://robert.kra.hn/posts/2021-02-07_rust-with-emacs/][Robert Kra Emacs Rust Configuration]]
#+begin_src emacs-lisp
;; (use-package rust-mode
;; :hook ((rust-mode . lsp)
;; (rust-mode . lsp-lens-mode)
;; )
;; :custom
;; (rust-format-on-save t)
;; (lsp-rust-server 'rust-analyzer))
(use-package rust-mode
:hook ((rust-mode . lsp)
(rust-mode . lsp-lens-mode)
)
:custom
(rust-format-on-save t)
(lsp-rust-server 'rust-analyzer))
#+end_src
** Python

Loading…
Cancel
Save