csharp-language-server-protocol
csharp-language-server-protocol copied to clipboard
FileRename record implementation is incorrect
In specification:
export interface FileRename {
oldUri: string;
newUri: string;
}
public abstract record FileOperationItem
{
public Uri Uri { get; init; } = null!;
}
public partial record FileRename : FileOperationItem;
When using DidRenameFileParams/WillRenameFileParams (handling workspace/didRenameFiles/workspace/willRenameFiles), items in request.Files only include one URI. I haven't tested the requests but I suppose the param objects cannot be deserialized as expected.
(Packages like vscode-languagesclient implement this correctly.)
By the way, shouldn't these classes be named as DidRenameFilesParams/WillRenameFilesParams (plural form; the same also applies to corresponding handler classes and interfaces)?
Hello, it appears that this fix is not in a release yet. Any idea when this will make it into a Release? In the meantime, is there any possible work around? I'm not sure if I can override the default deserializer for this message.