-
Notifications
You must be signed in to change notification settings - Fork 205
Closed
Description
Most of the statements in lsp-mode/eglot comparison are either out of date, wrong or misleading. For example:
- new versions of lsp-mode have single entry point
- lsp-mode startup is also asynchronous
- lsp-mode supports flymake
- lsp has tests against real servers(~ at least 7 months).
- lsp-mode and eglot are comparable in size having in mind that the parser of eglot is in separate package and that lsp-mode core supports more functionality(real multifolder support, support for multiple servers in single file, etc.)
- lsp-mode is as minimal as eglot and it also works out of the box. Even more, lsp-mode does not depend neither on projectile/project.el since it uses the same root resolving logic as the reference LSP client implementation - VSCode.
- lsp-mode similar to eglot does not require any configuration and it automatically detects if the extension modules are present and it automatically configure them.
- lsp-mode automatically handles crashing servers
In addition to these base features lsp-mode has (in separate packages):
- Visual debugger integration via dap-mode
- Better support for the complex server. For example, Java LS has 40+ extension methods and none of them is exposed by eglot.
- Supports multiple servers in single file
- Third party integration with packages like flycheck, treemacs(and much more will be added in the near future).
- "Fancy" UI features provided by lsp-ui
- Spacemacs integration.
There are a lot of small things that are not included in the list, but this is the general overview.
easbarbabeyondpie
Metadata
Metadata
Assignees
Labels
No labels