Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [lsp4e-dev] [CAUTION] Re: Requesting feedback to a change that adds support for nested sub-projects to LSP4E

Hi Gunnar,

 

To make this behaviour configurable is also fine with me. But even if it’s configurable you have to add some complexity to the LanguageServerWrapper, since it has to evaluate the configuration and adapt the behaviour during runtime. I’m not so deep into the LSP4E plugin, but from my understanding the LanguageServerWrapper decides if a new instance of a language server is created or not. The language server itself can’t prevent the creation of a new instance for a nested sub-project, this decision is done by the wrapper. Please correct me if I’m wrong.

What would be the right approach to make this configurable? Enhance the LSP extension point?

 

Thanks,

Markus

 

From: <lsp4e-dev-bounces@xxxxxxxxxxx> on behalf of Gunnar Wagenknecht <gunnar@xxxxxxxxxxxxxxx>
Reply-To: lsp4e developer discussions <lsp4e-dev@xxxxxxxxxxx>
Date: Tuesday, 8. May 2018 at 20:04
To: lsp4e developer discussions <lsp4e-dev@xxxxxxxxxxx>
Subject: Re: [lsp4e-dev] [CAUTION] Re: Requesting feedback to a change that adds support for nested sub-projects to LSP4E

 

Would it make sense to make a default but allow LS implementors providing their own policy?

 

Looking at the review, it could keep the complexity out of LanguageServerWrapper and allow to provide custom/pluggable extensions to allow flexibility for the project to LS mapping.

 

-Gunnar


-- 
Gunnar Wagenknecht
gunnar@xxxxxxxxxxxxxxx, http://guw.io/

 






On May 8, 2018, at 16:36, Pohl, Christoph <christoph.pohl@xxxxxxx> wrote:

 

Hi all,

 

Dbaeumers response does not sound like the protocol will change in this respect:

 

Actually the specification intentionally doesn't clarify this since it might depend on the server implementation. For example the TSServer handles all workspace root folders and nested projects in one server. The MS C++ server can only handle on project pre server and the client starts a server per project and dispatches the requests to the corresponding server. For VS Code we even maintain two example projects demos both use cases here: https://github.com/Microsoft/vscode-extension-samples

 


--
Christoph

 

From: lsp4e-dev-bounces@xxxxxxxxxxx [mailto:lsp4e-dev-bounces@xxxxxxxxxxx] On Behalf Of Ofterdinger, Markus
Sent: Montag, 7. Mai 2018 09:57
To: lsp4e developer discussions <lsp4e-dev@xxxxxxxxxxx>
Subject: [CAUTION] Re: [lsp4e-dev] Requesting feedback to a change that adds support for nested sub-projects to LSP4E

 

Hi Mikael,

 

I created an issue to ask for clarification: https://github.com/Microsoft/language-server-protocol/issues/475

 

Thanks,

Markus

 

From: <lsp4e-dev-bounces@xxxxxxxxxxx> on behalf of Mickael Istria <mistria@xxxxxxxxxx>
Reply-To: lsp4e developer discussions <lsp4e-dev@xxxxxxxxxxx>
Date: Friday, 4. May 2018 at 09:46
To: lsp4e developer discussions <lsp4e-dev@xxxxxxxxxxx>
Subject: Re: [lsp4e-dev] Requesting feedback to a change that adds support for nested sub-projects to LSP4E

 

Hi,

Thanks a lot for this interesting proposal and opening it for discussion.

As mentioned on the bug, I think you should immediately consider enabling multi-root support in your LS to workaround this issue (additionally to the tremendous perf benefit brought by 1 LS per workspace instead of 1 LS per project). That said...

 

I think it's also worth starting the discussion on the LSP tracker itself about whether the protocol should emit some documentation, constraints or recommendations for such case: is a language-server expected to serve for all children file of the root folder? Can you please bring this to the LSP spec too? LSP4E can take a pragmatic choice independently of the spec: if we see all LS that are used over LSP4E these days do work for any child under a project, let's not make the spec a blocker and let's proceed with your proposal.


I'll have to check with Eclipse aCute (Omnisharp-Roslyn language server) and Eclipse Corrosion (RustLS) but I'm quite busy today and I'm on PTO for a week after that. Lucas is also on PTO for 2 or 3 weeks IIRC, so we won't be able to provide feedback about those projects before ~10 days.

If after extensive thoughts and testing (ideally against aCute and Corrosion too) some other committers are fine merging this change in my absence, I'm all fine with it. I don't want to be a blocker here.

Cheers,

_______________________________________________
lsp4e-dev mailing list
lsp4e-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/lsp4e-dev

 


Back to the top