@@ -83,7 +83,7 @@ public partial record FileCreate : FileOperationItem;
83
83
[ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
84
84
[ RegistrationOptions ( typeof ( DidRenameFileRegistrationOptions ) ) ]
85
85
[ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
86
- public partial record DidRenameFileParams : FileOperationParams < FileRename > , IRequest
86
+ public partial record DidRenameFileParams : RenameFileOperationParams , IRequest
87
87
{
88
88
public static implicit operator WillRenameFileParams ( DidRenameFileParams @params )
89
89
{
@@ -99,16 +99,44 @@ public static implicit operator WillRenameFileParams(DidRenameFileParams @params
99
99
[ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
100
100
[ RegistrationOptions ( typeof ( WillRenameFileRegistrationOptions ) ) ]
101
101
[ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
102
- public partial record WillRenameFileParams : FileOperationParams < FileRename > , IRequest < WorkspaceEdit ? >
102
+ public partial record WillRenameFileParams : RenameFileOperationParams , IRequest < WorkspaceEdit ? >
103
103
{
104
104
public static implicit operator DidRenameFileParams ( WillRenameFileParams @params )
105
105
{
106
106
return new ( ) { Files = @params . Files } ;
107
107
}
108
108
}
109
109
110
- /// <inheritdoc cref="FileOperationItem" />
111
- public partial record FileRename : FileOperationItem ;
110
+ /// <summary>
111
+ /// The parameters sent in notifications/requests for user-initiated renames
112
+ /// of files.
113
+ ///
114
+ /// @since 3.16.0
115
+ /// </summary>
116
+ public abstract record RenameFileOperationParams
117
+ {
118
+ /// <summary>
119
+ /// An array of all files/folders renamed in this operation.
120
+ /// When a folder is renamed, only the folder will be included, and not its children.
121
+ /// </summary>
122
+ public Container < FileRename > Files { get ; init ; } = null ! ;
123
+ }
124
+
125
+ /// <summary>
126
+ /// Represents information on a file/folder rename.
127
+ /// </summary>
128
+ public partial record FileRename
129
+ {
130
+ /// <summary>
131
+ /// A file:// URI for the original location of the file/folder being renamed.
132
+ /// </summary>
133
+ public Uri OldUri { get ; init ; } = null ! ;
134
+
135
+ /// <summary>
136
+ /// A file:// URI for the new location of the file/folder being renamed.
137
+ /// </summary>
138
+ public Uri NewUri { get ; init ; } = null ! ;
139
+ }
112
140
113
141
/// <inheritdoc cref="FileOperationParams{T}" />
114
142
[ Parallel ]
0 commit comments