I am currently developing an Extension which, among other things, adds support for a Language Server: GitHub - ilyakooo0/haskell-nova
The problem I am facing: when enabling the Language Server the performance of the editor becomes awful. The editor sometime dips to something like 1 frame her second rendering.
It is almost as if handling some part of the Language Server is done synchronously, and the Language server itself is slow to respond.
I have record a small clip of what it looks like when editing with the language server enabled: https://youtu.be/Fx36acLtxlU
After trying, also observed bad completion performance in my Swift language server extension.
It seems that Nova extension blocks the editing operation when providing completion. If code completion is disabled, the performance will be back to normal.
Update: even code completion is disabled, the problem still exists.
I’d like to look into this, as generally we test with several language servers in our release testing and so far haven’t noticed (or received word from users) about significant slowdowns in any of them (our tests include the TypeScript, Python, and Intelephense LSPs, fwiw).
I’m afraid I am wholy unqualified at Haskell, but I can definitely try and get the Swift extension you linked up and running to see what might be slowing things down.
After investigation, this does not appear to be specifically related to the LSP or the editor, but in fact to the debug messaging being printed to the Extension Console while the extension in debug mode. It’s outputting a huge amount of text that the console can’t quite keep up with. We’ll work on improving this.