Closed
Description
In the implementation of #41567, it is likely that we will need to extend our support for workspace edits.
Specifically, the WorkspaceEdit protocol type supports resource operations creating, renaming, and deleting files:
documentChanges?: (
[TextDocumentEdit](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentEdit)[] |
([TextDocumentEdit](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentEdit) | [CreateFile](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#createFile) | [RenameFile](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#renameFile) | [DeleteFile](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#deleteFile))[]
);
However, our protocol generation only supports []TextDocumentEdit
:
https://cs.opensource.google/go/x/tools/+/master:internal/lsp/protocol/tsprotocol.go;l=5702;drc=b7d757405fe14c924baefbdedd785e4c6a7a0f88
In order to implement package renaming, we'll want to rename directories, and so will need to be able to express this in our WorkspaceEdit
response.