fsprojects / fsharp-language-server

Other
219 stars 37 forks source link

Working together with FSAC and Ionide #4

Open MangelMaxime opened 6 years ago

MangelMaxime commented 6 years ago

Would it be possible to work together with Ionide / FSAC ?

What I mean is if we could instead of having 2 projects one common projects it could be awesome.

Ionide have more feature and your implementation seems quicker according to you and the gif. Merging both world would benefit to all F# users under VsCode :)

Especially when there was/is already a WIP for providing LSP inside FSAC.

georgewfraser commented 6 years ago

Hi @MangelMaxime I'd be happy to work together. I think this could absolutely be part of Ionide, though @Krzysztof-Cieslak seemed to be against that when I brought it up in FSharp slack.

I don't think there's anything to be gained by implementing the language server inside of FSAC. FSAC contains a ton of complexity that is inherited from its history as a separate protocol, which all just disappears when you leverage the language-server-protocol. I truly believe LSP is the future of all open-source editors, not just VSCode, and I think it makes sense to just reboot, rather than try to morph FSAC into an LSP implementation.

This is especially true when you consider just how similar the LSP is to the FSharp Compiler Service API. Most of the work in this repo has been devoted to interacting with MSBuild. The F# part is comparatively easy, and getting good performance is a matter of calling the FCS in the way that it expects.

MangelMaxime commented 6 years ago

Thanks for the answer I will wait Krys answer as I didn't follow the discussion on slack.

IMO we should be able to find a common ground where every one is happy :)

iNecas commented 5 years ago

For anyone that would come across this issue, here's some more conversion on the subject https://github.com/fsharp/FsAutoComplete/issues/361