dense-analysis / dense-analysis/ale
Implement comprehensive LSP debugging
- Dominant language
- Vim Script
- Stars
- 14k
- Forks
- 1.5k
- Avg merge
- 17h 49m
- Merged PRs (30d)
- 1
Description
ALE supports a variety of Language Server Protocol features, and they generally work pretty well, but there is one glaring issue with Language Server Protocol. How do you figure out what is going wrong or where? Every time an issue is reported, you have to ask the following questions.
* Is this just a problem with the user's configuration?
* Is it a problem in the user's environment?
* Is it a bug in the server?
* Is it actually a bug in ALE?
* Is it all of the above?
There's no easy way to answer any of these questions, and most users have no hope of figuring it out themselves. To that end, I propose that we add support for comprehensively debugging LSP server communication, which will be disabled by default, which will print incredibly verbose information about what ALE is trying to do. We can log the following when the option is turned on.
* Completion data that is sent to the language server.
* Completion information that is received by a language server.
* Positions of cursors with the lines they are on and so on for hover information, finding references, and go to definition requests.
* When ALE tells a server that a document has changed.
* When ALE attempts to use a server to perform some action it doesn't support.
* Probably a whole lot more.
Contributor guide
Assessment
This issue has not been assessed yet.