I do a workspace/applyEdit capability gate in {Asset,Snippet}RenameHandler.
If the client doesn't support it, don't try to do it.
The problem is that workspace/applyEdit is a Server->Client request, and if the client doesn't handle it, the request will hang and never complete.
We already do that kind of feature gating in our ExecuteCommand providers, so I'm repeating the pattern here.
I specifically chose to do it in each handler because I don't know what kind of stuff we'll do in rename handlers and I'm not sure I can guarantee that we'll always do workspace/applyEdit requests in them.
I made that kind of assumption in execute command and it makes writing different providers/handlers complicated for no good reason.
What are you adding in this PR?
workspace/applyEdit
capability gate in{Asset,Snippet}RenameHandler
.workspace/applyEdit
is aServer->Client
request, and if the client doesn't handle it, the request will hang and never complete.I specifically chose to do it in each handler because I don't know what kind of stuff we'll do in rename handlers and I'm not sure I can guarantee that we'll always do
workspace/applyEdit
requests in them.I made that kind of assumption in execute command and it makes writing different providers/handlers complicated for no good reason.
Fixes #579
Before you deploy
changeset