- Update README
- Add eglot-specifics to cc, rs, py, hs
removing unused lsp-mode packages when eglot is active
- Add eglot-specific bindings
- Add doctor warnings for debugger +lsp and +peek
- Add eglot-backed lookup-handlers
- Add flycheck checker using eglot for :checkers
syntax users (using flycheck/flycheck#1676 and
flycheck/flycheck#1592 discussion).
This implementation is based on @marsam code, and uses recent
Flycheck development in order to make the code smaller and
easier to maintain.
The default lsp-mode bindings are bound to `s-l` which is impractical
for anyone using keybindings in their window manager. It also conflicts
w/ the doom approach of using leader keys. This change makes
all the default lsp bindings (see
https://github.com/emacs-lsp/lsp-mode#commands) available on SPC-c-l.
So for example, restarting the lsp server can be done with `SPC c l s r`.
For the sake of speed and reliability. Support for some of these
features are poorly implemented in some servers, and many are redundant
with mechanisms already available in Emacs/Doom.
* switch the company-backend used by lsp-mode from company-lsp to
company-capf (said to provide better performance and allows us to remove
the dependency on company-lsp)
* when available (on recent builds of Emacs 27+), lsp-mode buffers will
now use a larger than default value of `read-process-output-max`.
According to the lsp-mode performance guide, this can also significantly
improve lsp-mode performance
* flycheck support recently moved into lsp proper; with this commit,
the lsp module follows suit and prefers lsp-flycheck over
lsp-ui-flycheck
* if the new module flag `+no-peek` is set, doom-emacs will now use the xref
backend for reference and definition lookup instead of the lsp-ui-peek-*
backend offered by lsp-ui-mode
LSP has taken it upon themselves to aggressively install servers if they
are missing. No thanks. Promote deliberate use of lsp-install-server
where we can and load lsp-clients sooner.
* Add lsp-ivy and helm-lsp when :tools lsp
* Review
- Move the packages to :tools lsp
- Add bindings to config/+evil-bindings.el (no change to +emacs since
there was no 'code' prefix)
- Move README section
- Move the packages to :tools lsp
- Add bindings to config/+evil-bindings.el (no change to +emacs since
there was no 'code' prefix)
* FUp filechange noise