Closed fommil closed 5 years ago
We could rename lsp-scala
to lsp-scala-metals
and provide an lsp-scala-ensime
definition alongside it. Alternatively, it might work to rename the lsp-scala-metals-command
to lsp-scala-server-command
and document the proper command line for other language servers.
I'd welcome a PR for this.
I have no time to get involved. Since the main advantage of lsp is that the client side is supposed to be sharable, wouldn't it be best to just allow the server launcher and port finder to be configurable?
Launching ensime is very easy, all the information is in the .ensime file. We've been through all this coursier launcher route before and we settled on making the build tool responsible. Less moving parts.
The server launcher is configurable. I renamed the variable from lsp-scala-metals-command
to lsp-scala-server-command
to reflect that it's not coupled to metals.
I don't use ensime anymore, so don't have an .ensime
, but I'll still accept a PR from anyone who has the necessary bits to make it work.
Perf issues in ensime got fixed last week btw.
As noted in https://github.com/ensime/ensime-server/issues/1918 there is zero interest in the ensime lsp.
Perhaps if you were to do the same thing for ensime as for metals it might encourage people to try it out. Obviously there will be some teething since it's bleeding edge stuff.