@@ -48,19 +48,19 @@ public class ClientCapabilities
48
48
/// Workspace specific client capabilities.
49
49
/// </summary>
50
50
[ JsonProperty ]
51
- public WorkspaceCapability Workspace { get ; set ; }
51
+ public WorkspaceClientCapability Workspace { get ; set ; }
52
52
53
53
/// <summary>
54
54
/// Text document specific client capabilities.
55
55
/// </summary>
56
56
[ JsonProperty ]
57
- public TextDocumentCapability TextDocument { get ; set ; }
57
+ public TextDocumentClientCapabilities TextDocument { get ; set ; }
58
58
59
59
/// <summary>
60
60
/// Window specific client capabilities.
61
61
/// </summary>
62
62
[ JsonProperty ]
63
- public WindowCapability Window { get ; set ; }
63
+ public WindowClientCapability Window { get ; set ; }
64
64
65
65
/// <summary>
66
66
/// Experimental client capabilities.
@@ -73,7 +73,7 @@ public class ClientCapabilities
73
73
/// Defines capabilities the editor / tool provides on the workspace.
74
74
/// </summary>
75
75
[ JsonObject ( MemberSerialization . OptIn ) ]
76
- public class WorkspaceCapability
76
+ public class WorkspaceClientCapability
77
77
{
78
78
/// <summary>
79
79
/// The client supports applying batch edits to the workspace by supporting
@@ -130,7 +130,7 @@ public class WorkspaceEditCapability : ClientCapability
130
130
/// Defines capabilities the editor / tool provides on text documents.
131
131
/// </summary>
132
132
[ JsonObject ( MemberSerialization . OptIn ) ]
133
- public class TextDocumentCapability
133
+ public class TextDocumentClientCapabilities
134
134
{
135
135
136
136
/// <summary>
@@ -157,12 +157,30 @@ public class TextDocumentCapability
157
157
[ JsonProperty ]
158
158
public TextDocumentSignatureHelpCapability SignatureHelp { get ; set ; }
159
159
160
+ /// <summary>
161
+ /// Capabilities specific to the `textDocument/declaration` request. (LSP 3.14)
162
+ /// </summary>
163
+ [ JsonProperty ]
164
+ public DynamicClientCapability Declaration { get ; set ; }
165
+
160
166
/// <summary>
161
167
/// The server provides goto definition support.
162
168
/// </summary>
163
169
[ JsonProperty ]
164
170
public DynamicClientCapability Definition { get ; set ; }
165
171
172
+ /// <summary>
173
+ /// Capabilities specific to the `textDocument/implementation` request. (LSP 3.6)
174
+ /// </summary>
175
+ [ JsonProperty ]
176
+ public DynamicClientCapability Implementation { get ; set ; }
177
+
178
+ /// <summary>
179
+ /// Capabilities specific to the `textDocument/typeDefinition` request. (LSP 3.6)
180
+ /// </summary>
181
+ [ JsonProperty ]
182
+ public DynamicClientCapability TypeDefinition { get ; set ; }
183
+
166
184
/// <summary>
167
185
/// The server provides find references support.
168
186
/// </summary>
@@ -199,6 +217,19 @@ public class TextDocumentCapability
199
217
[ JsonProperty ]
200
218
public DynamicClientCapability CodeLens { get ; set ; }
201
219
220
+ /// <summary>
221
+ /// Capabilities specific to the `textDocument/documentLink` request.
222
+ /// </summary>
223
+ [ JsonProperty ]
224
+ public DynamicClientCapability DocumentLink { get ; set ; }
225
+
226
+ /// <summary>
227
+ /// Capabilities specific to the `textDocument/documentColor` and the `textDocument/colorPresentation` request.
228
+ /// (LSP 3.6)
229
+ /// </summary>
230
+ [ JsonProperty ]
231
+ public DynamicClientCapability ColorProvider { get ; set ; }
232
+
202
233
/// <summary>
203
234
/// The server provides document formatting.
204
235
/// </summary>
@@ -223,6 +254,24 @@ public class TextDocumentCapability
223
254
[ JsonProperty ]
224
255
public DynamicClientCapability Rename { get ; set ; }
225
256
257
+ /// <summary>
258
+ /// Capabilities specific to the `textDocument/publishDiagnostics` notification.
259
+ /// </summary>
260
+ [ JsonProperty ]
261
+ public DynamicClientCapability PublishDiagnostics { get ; set ; }
262
+
263
+ /// <summary>
264
+ /// Capabilities specific to the `textDocument/foldingRange` notification. (LSP 3.10)
265
+ /// </summary>
266
+ [ JsonProperty ]
267
+ public FoldingRangeClientCapabilities FoldingRange { get ; set ; }
268
+
269
+ /// <summary>
270
+ /// Capabilities specific to the `textDocument/selectionRange` notification. (LSP 3.15)
271
+ /// </summary>
272
+ [ JsonProperty ]
273
+ public DynamicClientCapability SelectionRange { get ; set ; }
274
+
226
275
}
227
276
228
277
public class TextDocumentSynchronizationCapability : DynamicClientCapability
@@ -352,7 +401,35 @@ public class TextDocumentSignatureInformationCapability
352
401
public IList < MarkupKind > DocumentationFormat { get ; set ; }
353
402
}
354
403
355
- public class WindowCapability : ClientCapability
404
+ [ JsonObject ( MemberSerialization . OptIn ) ]
405
+ public class DocumentLinkClientCapabilities : DynamicClientCapability
406
+ {
407
+ /// <summary>
408
+ /// Whether the client supports the `tooltip` property on `DocumentLink`. (LSP 3.15)
409
+ /// </summary>
410
+ [ JsonProperty ]
411
+ public bool TooltipSupport { get ; set ; }
412
+ }
413
+
414
+ [ JsonObject ( MemberSerialization . OptIn ) ]
415
+ public class FoldingRangeClientCapabilities : DynamicClientCapability
416
+ {
417
+ /// <summary>
418
+ /// The maximum number of folding ranges that the client prefers to receive per document.
419
+ /// The value serves as a hint, servers are free to follow the limit.
420
+ /// </summary>
421
+ [ JsonProperty ]
422
+ public int RangeLimit { get ; set ; }
423
+
424
+ /// <summary>
425
+ /// If set, the client signals that it only supports folding complete lines. If set, client will
426
+ /// ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange.
427
+ /// </summary>
428
+ [ JsonProperty ]
429
+ public bool LineFoldingOnly { get ; set ; }
430
+ }
431
+
432
+ public class WindowClientCapability : ClientCapability
356
433
{
357
434
/// <summary>
358
435
/// Whether client supports handling progress notifications.
0 commit comments