@@ -20,7 +20,7 @@ namespace Models
2020 ///
2121 /// @since 3.16.0
2222 /// </summary>
23- public abstract record FileOperationParams < T >
23+ public abstract record FileOperationsParams < T >
2424 where T : FileOperationItem
2525 {
2626 /// <summary>
@@ -40,33 +40,33 @@ public abstract record FileOperationItem
4040 public Uri Uri { get ; init ; } = null ! ;
4141 }
4242
43- /// <inheritdoc cref="FileOperationParams {T}" />
43+ /// <inheritdoc cref="FileOperationsParams {T}" />
4444 [ Parallel ]
4545 [ Method ( WorkspaceNames . DidCreateFiles , Direction . ClientToServer ) ]
4646 [ GenerateHandler ( "OmniSharp.Extensions.LanguageServer.Protocol.Workspace" ) ]
4747 [ GenerateHandlerMethods ]
4848 [ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
49- [ RegistrationOptions ( typeof ( DidCreateFileRegistrationOptions ) ) ]
49+ [ RegistrationOptions ( typeof ( DidCreateFilesRegistrationOptions ) ) ]
5050 [ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
51- public partial record DidCreateFileParams : FileOperationParams < FileCreate > , IRequest
51+ public partial record DidCreateFilesParams : FileOperationsParams < FileCreate > , IRequest
5252 {
53- public static implicit operator WillCreateFileParams ( DidCreateFileParams @params )
53+ public static implicit operator WillCreateFilesParams ( DidCreateFilesParams @params )
5454 {
5555 return new ( ) { Files = @params . Files } ;
5656 }
5757 }
5858
59- /// <inheritdoc cref="FileOperationParams {T}" />
59+ /// <inheritdoc cref="FileOperationsParams {T}" />
6060 [ Parallel ]
6161 [ Method ( WorkspaceNames . WillCreateFiles , Direction . ClientToServer ) ]
6262 [ GenerateHandler ( "OmniSharp.Extensions.LanguageServer.Protocol.Workspace" ) ]
6363 [ GenerateHandlerMethods ]
6464 [ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
65- [ RegistrationOptions ( typeof ( WillCreateFileRegistrationOptions ) ) ]
65+ [ RegistrationOptions ( typeof ( WillCreateFilesRegistrationOptions ) ) ]
6666 [ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
67- public partial record WillCreateFileParams : FileOperationParams < FileCreate > , IRequest < WorkspaceEdit ? >
67+ public partial record WillCreateFilesParams : FileOperationsParams < FileCreate > , IRequest < WorkspaceEdit ? >
6868 {
69- public static implicit operator DidCreateFileParams ( WillCreateFileParams @params )
69+ public static implicit operator DidCreateFilesParams ( WillCreateFilesParams @params )
7070 {
7171 return new ( ) { Files = @params . Files } ;
7272 }
@@ -75,68 +75,96 @@ public static implicit operator DidCreateFileParams(WillCreateFileParams @params
7575 /// <inheritdoc cref="FileOperationItem" />
7676 public partial record FileCreate : FileOperationItem ;
7777
78- /// <inheritdoc cref="FileOperationParams {T}" />
78+ /// <inheritdoc cref="FileOperationsParams {T}" />
7979 [ Parallel ]
8080 [ Method ( WorkspaceNames . DidRenameFiles , Direction . ClientToServer ) ]
8181 [ GenerateHandler ( "OmniSharp.Extensions.LanguageServer.Protocol.Workspace" ) ]
8282 [ GenerateHandlerMethods ]
8383 [ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
84- [ RegistrationOptions ( typeof ( DidRenameFileRegistrationOptions ) ) ]
84+ [ RegistrationOptions ( typeof ( DidRenameFilesRegistrationOptions ) ) ]
8585 [ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
86- public partial record DidRenameFileParams : FileOperationParams < FileRename > , IRequest
86+ public partial record DidRenameFilesParams : RenameFilesOperationParams , IRequest
8787 {
88- public static implicit operator WillRenameFileParams ( DidRenameFileParams @params )
88+ public static implicit operator WillRenameFilesParams ( DidRenameFilesParams @params )
8989 {
9090 return new ( ) { Files = @params . Files } ;
9191 }
9292 }
9393
94- /// <inheritdoc cref="FileOperationParams {T}" />
94+ /// <inheritdoc cref="FileOperationsParams {T}" />
9595 [ Parallel ]
9696 [ Method ( WorkspaceNames . WillRenameFiles , Direction . ClientToServer ) ]
9797 [ GenerateHandler ( "OmniSharp.Extensions.LanguageServer.Protocol.Workspace" ) ]
9898 [ GenerateHandlerMethods ]
9999 [ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
100- [ RegistrationOptions ( typeof ( WillRenameFileRegistrationOptions ) ) ]
100+ [ RegistrationOptions ( typeof ( WillRenameFilesRegistrationOptions ) ) ]
101101 [ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
102- public partial record WillRenameFileParams : FileOperationParams < FileRename > , IRequest < WorkspaceEdit ? >
102+ public partial record WillRenameFilesParams : RenameFilesOperationParams , IRequest < WorkspaceEdit ? >
103103 {
104- public static implicit operator DidRenameFileParams ( WillRenameFileParams @params )
104+ public static implicit operator DidRenameFilesParams ( WillRenameFilesParams @params )
105105 {
106106 return new ( ) { Files = @params . Files } ;
107107 }
108108 }
109109
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 RenameFilesOperationParams
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+ }
112140
113- /// <inheritdoc cref="FileOperationParams {T}" />
141+ /// <inheritdoc cref="FileOperationsParams {T}" />
114142 [ Parallel ]
115143 [ Method ( WorkspaceNames . DidDeleteFiles , Direction . ClientToServer ) ]
116144 [ GenerateHandler ( "OmniSharp.Extensions.LanguageServer.Protocol.Workspace" ) ]
117145 [ GenerateHandlerMethods ]
118146 [ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
119- [ RegistrationOptions ( typeof ( DidDeleteFileRegistrationOptions ) ) ]
147+ [ RegistrationOptions ( typeof ( DidDeleteFilesRegistrationOptions ) ) ]
120148 [ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
121- public partial record DidDeleteFileParams : FileOperationParams < FileDelete > , IRequest
149+ public partial record DidDeleteFilesParams : FileOperationsParams < FileDelete > , IRequest
122150 {
123- public static implicit operator WillDeleteFileParams ( DidDeleteFileParams @params )
151+ public static implicit operator WillDeleteFilesParams ( DidDeleteFilesParams @params )
124152 {
125153 return new ( ) { Files = @params . Files } ;
126154 }
127155 }
128156
129- /// <inheritdoc cref="FileOperationParams {T}" />
157+ /// <inheritdoc cref="FileOperationsParams {T}" />
130158 [ Parallel ]
131159 [ Method ( WorkspaceNames . WillDeleteFiles , Direction . ClientToServer ) ]
132160 [ GenerateHandler ( "OmniSharp.Extensions.LanguageServer.Protocol.Workspace" ) ]
133161 [ GenerateHandlerMethods ]
134162 [ GenerateRequestMethods ( typeof ( IWorkspaceLanguageClient ) , typeof ( ILanguageClient ) ) ]
135- [ RegistrationOptions ( typeof ( WillDeleteFileRegistrationOptions ) ) ]
163+ [ RegistrationOptions ( typeof ( WillDeleteFilesRegistrationOptions ) ) ]
136164 [ Capability ( typeof ( FileOperationsWorkspaceClientCapabilities ) ) ]
137- public partial record WillDeleteFileParams : FileOperationParams < FileDelete > , IRequest < WorkspaceEdit ? >
165+ public partial record WillDeleteFilesParams : FileOperationsParams < FileDelete > , IRequest < WorkspaceEdit ? >
138166 {
139- public static implicit operator DidDeleteFileParams ( WillDeleteFileParams @params )
167+ public static implicit operator DidDeleteFilesParams ( WillDeleteFilesParams @params )
140168 {
141169 return new ( ) { Files = @params . Files } ;
142170 }
@@ -151,7 +179,7 @@ public partial record FileDelete : FileOperationItem;
151179 nameof ( FileOperationsWorkspaceServerCapabilities . WillCreate )
152180 ) ]
153181 [ RegistrationName ( WorkspaceNames . WillCreateFiles ) ]
154- public partial class WillCreateFileRegistrationOptions : IFileOperationRegistrationOptions
182+ public partial class WillCreateFilesRegistrationOptions : IFileOperationRegistrationOptions
155183 {
156184 /// <summary>
157185 /// The actual filters.
@@ -165,7 +193,7 @@ public partial class WillCreateFileRegistrationOptions : IFileOperationRegistrat
165193 nameof ( FileOperationsWorkspaceServerCapabilities . DidCreate )
166194 ) ]
167195 [ RegistrationName ( WorkspaceNames . DidCreateFiles ) ]
168- public partial class DidCreateFileRegistrationOptions : IFileOperationRegistrationOptions
196+ public partial class DidCreateFilesRegistrationOptions : IFileOperationRegistrationOptions
169197 {
170198 /// <summary>
171199 /// The actual filters.
@@ -179,7 +207,7 @@ public partial class DidCreateFileRegistrationOptions : IFileOperationRegistrati
179207 nameof ( FileOperationsWorkspaceServerCapabilities . WillRename )
180208 ) ]
181209 [ RegistrationName ( WorkspaceNames . WillRenameFiles ) ]
182- public partial class WillRenameFileRegistrationOptions : IFileOperationRegistrationOptions
210+ public partial class WillRenameFilesRegistrationOptions : IFileOperationRegistrationOptions
183211 {
184212 /// <summary>
185213 /// The actual filters.
@@ -193,7 +221,7 @@ public partial class WillRenameFileRegistrationOptions : IFileOperationRegistrat
193221 nameof ( FileOperationsWorkspaceServerCapabilities . DidRename )
194222 ) ]
195223 [ RegistrationName ( WorkspaceNames . DidRenameFiles ) ]
196- public partial class DidRenameFileRegistrationOptions : IFileOperationRegistrationOptions
224+ public partial class DidRenameFilesRegistrationOptions : IFileOperationRegistrationOptions
197225 {
198226 /// <summary>
199227 /// The actual filters.
@@ -207,7 +235,7 @@ public partial class DidRenameFileRegistrationOptions : IFileOperationRegistrati
207235 nameof ( FileOperationsWorkspaceServerCapabilities . WillDelete )
208236 ) ]
209237 [ RegistrationName ( WorkspaceNames . WillDeleteFiles ) ]
210- public partial class WillDeleteFileRegistrationOptions : IFileOperationRegistrationOptions
238+ public partial class WillDeleteFilesRegistrationOptions : IFileOperationRegistrationOptions
211239 {
212240 /// <summary>
213241 /// The actual filters.
@@ -221,7 +249,7 @@ public partial class WillDeleteFileRegistrationOptions : IFileOperationRegistrat
221249 nameof ( FileOperationsWorkspaceServerCapabilities . DidDelete )
222250 ) ]
223251 [ RegistrationName ( WorkspaceNames . DidDeleteFiles ) ]
224- public partial class DidDeleteFileRegistrationOptions : IFileOperationRegistrationOptions
252+ public partial class DidDeleteFilesRegistrationOptions : IFileOperationRegistrationOptions
225253 {
226254 /// <summary>
227255 /// The actual filters.
@@ -335,37 +363,37 @@ public class FileOperationsWorkspaceServerCapabilities
335363 /// The client has support for sending didCreateFiles notifications.
336364 /// </summary>
337365 [ Optional ]
338- public DidCreateFileRegistrationOptions . StaticOptions ? DidCreate { get ; set ; }
366+ public DidCreateFilesRegistrationOptions . StaticOptions ? DidCreate { get ; set ; }
339367
340368 /// <summary>
341369 /// The client has support for sending willCreateFiles requests.
342370 /// </summary>
343371 [ Optional ]
344- public WillCreateFileRegistrationOptions . StaticOptions ? WillCreate { get ; set ; }
372+ public WillCreateFilesRegistrationOptions . StaticOptions ? WillCreate { get ; set ; }
345373
346374 /// <summary>
347375 /// The client has support for sending didRenameFiles notifications.
348376 /// </summary>
349377 [ Optional ]
350- public DidRenameFileRegistrationOptions . StaticOptions ? DidRename { get ; set ; }
378+ public DidRenameFilesRegistrationOptions . StaticOptions ? DidRename { get ; set ; }
351379
352380 /// <summary>
353381 /// The client has support for sending willRenameFiles requests.
354382 /// </summary>
355383 [ Optional ]
356- public WillRenameFileRegistrationOptions . StaticOptions ? WillRename { get ; set ; }
384+ public WillRenameFilesRegistrationOptions . StaticOptions ? WillRename { get ; set ; }
357385
358386 /// <summary>
359387 /// The client has support for sending didDeleteFiles notifications.
360388 /// </summary>
361389 [ Optional ]
362- public DidDeleteFileRegistrationOptions . StaticOptions ? DidDelete { get ; set ; }
390+ public DidDeleteFilesRegistrationOptions . StaticOptions ? DidDelete { get ; set ; }
363391
364392 /// <summary>
365393 /// The client has support for sending willDeleteFiles requests.
366394 /// </summary>
367395 [ Optional ]
368- public WillDeleteFileRegistrationOptions . StaticOptions ? WillDelete { get ; set ; }
396+ public WillDeleteFilesRegistrationOptions . StaticOptions ? WillDelete { get ; set ; }
369397 }
370398 }
371399
0 commit comments