Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi server support #423

Closed
theothornhill opened this issue Mar 5, 2020 · 3 comments
Closed

Multi server support #423

theothornhill opened this issue Mar 5, 2020 · 3 comments

Comments

@theothornhill
Copy link
Collaborator

Hello there!
I've been looking through other issues and PR's from earlier mentioning multi-server support. It doesn't seem to be a trivial thing to add to eglot as far as I can tell from your comments, but I believe it's a useful one.

The easiest example where multi-server support is wanted I can come up with is JavaScript and ESlint, notably the typescript-language-server and vscode-eslint. Many of the important code actions during for example React development relies on the ESlint server.

Is this something that could only be fixed by your earlier mentioned "server multiplexer program"?

@joaotavora
Copy link
Owner

Is this something that could only be fixed by your earlier mentioned "server multiplexer program"?

Not really, it could also be fixed by something else, like overhauling eglot.el's code to send two requests instead of one every time, and expect two responses.

But I think it's much cleaner to do the "server multiplexer". One way of the other, someone has to do the work. If you know Python, I encourage you to get started on the latter: I think it's the language to use for that development.

Where is the other issue, by the way? Can you link it here?

@theothornhill
Copy link
Collaborator Author

Just to be clear - you mean a program that would accept one request from Eglot (or other lsp clients), route that request to several servers, merging results from both and ship them back as one lsp compliant response to Eglot?

I just wonder whether this is something that is wanted from other lsp clients, since many of them already support multi server files.

You talked about it in #249, #180, #90 - where the last one seems like the most fruitful discussion.

@joaotavora
Copy link
Owner

Just to be clear - you mean a program that would accept one request from Eglot (or other lsp clients), route that request to several servers, merging results from both and ship them back as one lsp compliant response to Eglot?

yes

I just wonder whether this is something that is wanted from other lsp clients, since many of them already support multi server files.

Well, no idea if that is wanted by them, but I think this would be the best way to do it, because it's client-independent, and pretty clean. But I've never tried it, it's vapourware :-)

You talked about it in #249, #180, #90 - where the last one seems like the most fruitful discussion.

Yes, I had a feeling there was an issue for that already. Let's close this one then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants