atom / atom-languageclient

Language Server Protocol support for Atom (the basis of Atom-IDE)
https://ide.atom.io/
MIT License
388 stars 78 forks source link

HACK: Support eclipe.jdt.ls's break with the LSP spec #268

Open 50Wliu opened 5 years ago

50Wliu commented 5 years ago

This is a rather hacky hack to support eclipse.jdt.ls's custom java.apply.workspaceEdit command that they expect the client to handle.

Originally I tried to implement a way for clients to specify which commands they wanted to handle as suggested in #183, but I ran into issues with being unable to actually follow through with the command. I can get the client to receive the command fine, but since all the logic is still in atom-languageclient, I can't hook into applyWorkspaceEdit or anything of the sort 😓. Maybe I'm missing something that would make this approach feasible?

Aerijo commented 5 years ago

Could it be possible to add a command interface that ide-java can hook into on preinitialisation? Like this method but for commands.

As an aside, it seems they make decisions because "it works in VS Code", not because it conforms with the LSP spec. As such, I will now be referring to the Eclipse language server as a VS Code extension that happens to match some of the LSP. I was only half joking just then.

50Wliu commented 5 years ago

Sorry for the late reply. Yeah, I can add a hook, but the issue still is lack of context. I'll need at the minimum a way to apply a workspace edit from within ide-java.

hoihoi500 commented 4 years ago

Alles komt goed