vscode-languageserver-protocol 3.17.5 → 3.17.6-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,32 @@ import { RequestHandler, RequestHandler0 } from 'vscode-jsonrpc';
2
2
  import { TextDocumentIdentifier, uinteger, FoldingRange, FoldingRangeKind } from 'vscode-languageserver-types';
3
3
  import { MessageDirection, ProtocolRequestType, ProtocolRequestType0 } from './messages';
4
4
  import type { TextDocumentRegistrationOptions, StaticRegistrationOptions, PartialResultParams, WorkDoneProgressParams, WorkDoneProgressOptions } from './protocol';
5
+ /**
6
+ * @since 3.18.0
7
+ * @proposed
8
+ */
9
+ export interface ClientFoldingRangeKindOptions {
10
+ /**
11
+ * The folding range kind values the client supports. When this
12
+ * property exists the client also guarantees that it will
13
+ * handle values outside its set gracefully and falls back
14
+ * to a default value when unknown.
15
+ */
16
+ valueSet?: FoldingRangeKind[];
17
+ }
18
+ /**
19
+ * @since 3.18.0
20
+ * @proposed
21
+ */
22
+ export interface ClientFoldingRangeOptions {
23
+ /**
24
+ * If set, the client signals that it supports setting collapsedText on
25
+ * folding ranges to display custom labels instead of the default text.
26
+ *
27
+ * @since 3.17.0
28
+ */
29
+ collapsedText?: boolean;
30
+ }
5
31
  export interface FoldingRangeClientCapabilities {
6
32
  /**
7
33
  * Whether implementation supports dynamic registration for folding range
@@ -27,29 +53,13 @@ export interface FoldingRangeClientCapabilities {
27
53
  *
28
54
  * @since 3.17.0
29
55
  */
30
- foldingRangeKind?: {
31
- /**
32
- * The folding range kind values the client supports. When this
33
- * property exists the client also guarantees that it will
34
- * handle values outside its set gracefully and falls back
35
- * to a default value when unknown.
36
- */
37
- valueSet?: FoldingRangeKind[];
38
- };
56
+ foldingRangeKind?: ClientFoldingRangeKindOptions;
39
57
  /**
40
58
  * Specific options for the folding range.
41
59
  *
42
60
  * @since 3.17.0
43
61
  */
44
- foldingRange?: {
45
- /**
46
- * If set, the client signals that it supports setting collapsedText on
47
- * folding ranges to display custom labels instead of the default text.
48
- *
49
- * @since 3.17.0
50
- */
51
- collapsedText?: boolean;
52
- };
62
+ foldingRange?: ClientFoldingRangeOptions;
53
63
  }
54
64
  /**
55
65
  * Client workspace capabilities specific to folding ranges
@@ -2,6 +2,16 @@ import { RequestHandler, RequestHandler0 } from 'vscode-jsonrpc';
2
2
  import { Range, TextDocumentIdentifier, InlayHint } from 'vscode-languageserver-types';
3
3
  import { MessageDirection, ProtocolRequestType, ProtocolRequestType0 } from './messages';
4
4
  import type { StaticRegistrationOptions, TextDocumentRegistrationOptions, WorkDoneProgressOptions, WorkDoneProgressParams } from './protocol';
5
+ /**
6
+ * @since 3.18.0
7
+ * @proposed
8
+ */
9
+ export interface ClientInlayHintResolveOptions {
10
+ /**
11
+ * The properties that a client can resolve lazily.
12
+ */
13
+ properties: string[];
14
+ }
5
15
  /**
6
16
  * Inlay hint client capabilities.
7
17
  *
@@ -16,12 +26,7 @@ export type InlayHintClientCapabilities = {
16
26
  * Indicates which properties a client can resolve lazily on an inlay
17
27
  * hint.
18
28
  */
19
- resolveSupport?: {
20
- /**
21
- * The properties that a client can resolve lazily.
22
- */
23
- properties: string[];
24
- };
29
+ resolveSupport?: ClientInlayHintResolveOptions;
25
30
  };
26
31
  /**
27
32
  * Client workspace capabilities specific to inlay hints.
@@ -151,6 +151,45 @@ export type VersionedNotebookDocumentIdentifier = {
151
151
  */
152
152
  uri: URI;
153
153
  };
154
+ /**
155
+ * @since 3.18.0
156
+ * @proposed
157
+ */
158
+ export interface NotebookCellLanguage {
159
+ language: string;
160
+ }
161
+ /**
162
+ * @since 3.18.0
163
+ * @proposed
164
+ */
165
+ export interface NotebookDocumentFilterWithNotebook {
166
+ /**
167
+ * The notebook to be synced If a string
168
+ * value is provided it matches against the
169
+ * notebook type. '*' matches every notebook.
170
+ */
171
+ notebook: string | NotebookDocumentFilter;
172
+ /**
173
+ * The cells of the matching notebook to be synced.
174
+ */
175
+ cells?: NotebookCellLanguage[];
176
+ }
177
+ /**
178
+ * @since 3.18.0
179
+ * @proposed
180
+ */
181
+ export interface NotebookDocumentFilterWithCells {
182
+ /**
183
+ * The notebook to be synced If a string
184
+ * value is provided it matches against the
185
+ * notebook type. '*' matches every notebook.
186
+ */
187
+ notebook?: string | NotebookDocumentFilter;
188
+ /**
189
+ * The cells of the matching notebook to be synced.
190
+ */
191
+ cells: NotebookCellLanguage[];
192
+ }
154
193
  /**
155
194
  * Options specific to a notebook plus its cells
156
195
  * to be synced to the server.
@@ -170,33 +209,7 @@ export type NotebookDocumentSyncOptions = {
170
209
  /**
171
210
  * The notebooks to be synced
172
211
  */
173
- notebookSelector: ({
174
- /**
175
- * The notebook to be synced If a string
176
- * value is provided it matches against the
177
- * notebook type. '*' matches every notebook.
178
- */
179
- notebook: string | NotebookDocumentFilter;
180
- /**
181
- * The cells of the matching notebook to be synced.
182
- */
183
- cells?: {
184
- language: string;
185
- }[];
186
- } | {
187
- /**
188
- * The notebook to be synced If a string
189
- * value is provided it matches against the
190
- * notebook type. '*' matches every notebook.
191
- */
192
- notebook?: string | NotebookDocumentFilter;
193
- /**
194
- * The cells of the matching notebook to be synced.
195
- */
196
- cells: {
197
- language: string;
198
- }[];
199
- })[];
212
+ notebookSelector: (NotebookDocumentFilterWithNotebook | NotebookDocumentFilterWithCells)[];
200
213
  /**
201
214
  * Whether save notification should be forwarded to
202
215
  * the server. Will only be honored if mode === `notebook`.
@@ -265,6 +278,58 @@ export declare namespace NotebookCellArrayChange {
265
278
  function is(value: any): value is NotebookCellArrayChange;
266
279
  function create(start: uinteger, deleteCount: uinteger, cells?: NotebookCell[]): NotebookCellArrayChange;
267
280
  }
281
+ /**
282
+ * Structural changes to cells in a notebook document.
283
+ *
284
+ * @since 3.18.0
285
+ * @proposed
286
+ */
287
+ export interface NotebookDocumentCellChangeStructure {
288
+ /**
289
+ * The change to the cell array.
290
+ */
291
+ array: NotebookCellArrayChange;
292
+ /**
293
+ * Additional opened cell text documents.
294
+ */
295
+ didOpen?: TextDocumentItem[];
296
+ /**
297
+ * Additional closed cell text documents.
298
+ */
299
+ didClose?: TextDocumentIdentifier[];
300
+ }
301
+ /**
302
+ * Content changes to a cell in a notebook document.
303
+ *
304
+ * @since 3.18.0
305
+ * @proposed
306
+ */
307
+ export interface NotebookDocumentCellContentChanges {
308
+ document: VersionedTextDocumentIdentifier;
309
+ changes: TextDocumentContentChangeEvent[];
310
+ }
311
+ /**
312
+ * Cell changes to a notebook document.
313
+ *
314
+ * @since 3.18.0
315
+ * @proposed
316
+ */
317
+ export interface NotebookDocumentCellChanges {
318
+ /**
319
+ * Changes to the cell structure to add or
320
+ * remove cells.
321
+ */
322
+ structure?: NotebookDocumentCellChangeStructure;
323
+ /**
324
+ * Changes to notebook cells properties like its
325
+ * kind, execution summary or metadata.
326
+ */
327
+ data?: NotebookCell[];
328
+ /**
329
+ * Changes to the text content of notebook cells.
330
+ */
331
+ textContent?: NotebookDocumentCellContentChanges[];
332
+ }
268
333
  /**
269
334
  * A change event for a notebook document.
270
335
  *
@@ -280,38 +345,7 @@ export type NotebookDocumentChangeEvent = {
280
345
  /**
281
346
  * Changes to cells
282
347
  */
283
- cells?: {
284
- /**
285
- * Changes to the cell structure to add or
286
- * remove cells.
287
- */
288
- structure?: {
289
- /**
290
- * The change to the cell array.
291
- */
292
- array: NotebookCellArrayChange;
293
- /**
294
- * Additional opened cell text documents.
295
- */
296
- didOpen?: TextDocumentItem[];
297
- /**
298
- * Additional closed cell text documents.
299
- */
300
- didClose?: TextDocumentIdentifier[];
301
- };
302
- /**
303
- * Changes to notebook cells properties like its
304
- * kind, execution summary or metadata.
305
- */
306
- data?: NotebookCell[];
307
- /**
308
- * Changes to the text content of notebook cells.
309
- */
310
- textContent?: {
311
- document: VersionedTextDocumentIdentifier;
312
- changes: TextDocumentContentChangeEvent[];
313
- }[];
314
- };
348
+ cells?: NotebookDocumentCellChanges;
315
349
  };
316
350
  /**
317
351
  * The params sent in a change notebook document notification.
@@ -18,6 +18,33 @@ export declare namespace TokenFormat {
18
18
  const Relative: 'relative';
19
19
  }
20
20
  export type TokenFormat = 'relative';
21
+ /**
22
+ * @since 3.18.0
23
+ * @proposed
24
+ */
25
+ export interface ClientSemanticTokensRequestFullDelta {
26
+ /**
27
+ * The client will send the `textDocument/semanticTokens/full/delta` request if
28
+ * the server provides a corresponding handler.
29
+ */
30
+ delta?: boolean;
31
+ }
32
+ /**
33
+ * @since 3.18.0
34
+ * @proposed
35
+ */
36
+ export interface ClientSemanticTokensRequestOptions {
37
+ /**
38
+ * The client will send the `textDocument/semanticTokens/range` request if
39
+ * the server provides a corresponding handler.
40
+ */
41
+ range?: boolean | {};
42
+ /**
43
+ * The client will send the `textDocument/semanticTokens/full` request if
44
+ * the server provides a corresponding handler.
45
+ */
46
+ full?: boolean | ClientSemanticTokensRequestFullDelta;
47
+ }
21
48
  /**
22
49
  * @since 3.16.0
23
50
  */
@@ -38,24 +65,7 @@ export interface SemanticTokensClientCapabilities {
38
65
  * range provider the client might not render a minimap correctly or might
39
66
  * even decide to not show any semantic tokens at all.
40
67
  */
41
- requests: {
42
- /**
43
- * The client will send the `textDocument/semanticTokens/range` request if
44
- * the server provides a corresponding handler.
45
- */
46
- range?: boolean | {};
47
- /**
48
- * The client will send the `textDocument/semanticTokens/full` request if
49
- * the server provides a corresponding handler.
50
- */
51
- full?: boolean | {
52
- /**
53
- * The client will send the `textDocument/semanticTokens/full/delta` request if
54
- * the server provides a corresponding handler.
55
- */
56
- delta?: boolean;
57
- };
58
- };
68
+ requests: ClientSemanticTokensRequestOptions;
59
69
  /**
60
70
  * The token types that the client supports.
61
71
  */
@@ -99,6 +109,18 @@ export interface SemanticTokensClientCapabilities {
99
109
  */
100
110
  augmentsSyntaxTokens?: boolean;
101
111
  }
112
+ /**
113
+ * Semantic tokens options to support deltas for full documents
114
+ *
115
+ * @since 3.18.0
116
+ * @proposed
117
+ */
118
+ export interface SemanticTokensFullDelta {
119
+ /**
120
+ * The server supports deltas for full documents.
121
+ */
122
+ delta?: boolean;
123
+ }
102
124
  /**
103
125
  * @since 3.16.0
104
126
  */
@@ -115,12 +137,7 @@ export interface SemanticTokensOptions extends WorkDoneProgressOptions {
115
137
  /**
116
138
  * Server supports providing semantic tokens for a full document.
117
139
  */
118
- full?: boolean | {
119
- /**
120
- * The server supports deltas for full documents.
121
- */
122
- delta?: boolean;
123
- };
140
+ full?: boolean | SemanticTokensFullDelta;
124
141
  }
125
142
  /**
126
143
  * @since 3.16.0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vscode-languageserver-protocol",
3
3
  "description": "VSCode Language Server Protocol implementation",
4
- "version": "3.17.5",
4
+ "version": "3.17.6-next.1",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -18,8 +18,8 @@
18
18
  },
19
19
  "typings": "./lib/common/api.d.ts",
20
20
  "dependencies": {
21
- "vscode-jsonrpc": "8.2.0",
22
- "vscode-languageserver-types": "3.17.5"
21
+ "vscode-jsonrpc": "8.2.1-next.1",
22
+ "vscode-languageserver-types": "3.17.6-next.1"
23
23
  },
24
24
  "scripts": {
25
25
  "prepublishOnly": "echo \"⛔ Can only publish from a secure pipeline ⛔\" && node ../build/npm/fail",