Name: Microsoft's python-language-server
URL: https://blogs.msdn.microsoft.com/pythonengineering/2018/07/18/introducing-the-python-language-server/
Microsoft have created a new language server for Python which will be used in VSCode. Once the stand alone component is released, it should be superior to the existing language server tool for Python.
It looks like this has been released: https://github.com/Microsoft/python-language-server
This would be a wonderful addition. Is it a big undertaking to add a new linter?
It should be easy to do.
@w0rp apologies if you've answered this before, but why do language servers need to be 'supported'? Isn't the point of the protocol that any client can integrate with any LSP? Having to manually add support brings us back to the 'matrix' problem it is trying to solve.
No disrespect, I love Ale.
I guess the "support" involves invoking the particular language server daemon in the first place?
I would imagine that could be left up to user configuration by allowing us to specify the executables per language e.g. let g:ale_python_language_server = ....
@baubler Here are the important points.
:help ale-lint directs you to :help ale#linter#Define(), which describes how to do this.initialize request, and it wouldn't respond to initialize. Because people want to actually use that language server, you have to handle that.Generally, by supporting language servers, ALE actually does a better job at supporting the language servers that aren't on the list than it would if it pretended to be agnostic to how they work. It's the difference between effectively targeting something and shooting in the dark.
Most helpful comment
@baubler Here are the important points.
:help ale-lintdirects you to:help ale#linter#Define(), which describes how to do this.initializerequest, and it wouldn't respond toinitialize. Because people want to actually use that language server, you have to handle that.Generally, by supporting language servers, ALE actually does a better job at supporting the language servers that aren't on the list than it would if it pretended to be agnostic to how they work. It's the difference between effectively targeting something and shooting in the dark.