vscode-languageserver-protocol 3.17.0-next.10 → 3.17.0-next.14
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.
- package/lib/common/api.d.ts +29 -0
- package/lib/common/api.js +11 -0
- package/lib/common/proposed.notebooks.d.ts +443 -0
- package/lib/common/proposed.notebooks.js +238 -0
- package/lib/common/protocol.d.ts +103 -7
- package/lib/common/protocol.js +39 -9
- package/package.json +3 -3
package/lib/common/api.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export declare namespace LSPErrorCodes {
|
|
|
56
56
|
import * as diag from './proposed.diagnostic';
|
|
57
57
|
import * as typeh from './proposed.typeHierarchy';
|
|
58
58
|
import * as iv from './proposed.inlineValue';
|
|
59
|
+
import * as nb from './proposed.notebooks';
|
|
59
60
|
export declare namespace Proposed {
|
|
60
61
|
type DiagnosticClientCapabilities = diag.DiagnosticClientCapabilities;
|
|
61
62
|
type $DiagnosticClientCapabilities = diag.$DiagnosticClientCapabilities;
|
|
@@ -98,4 +99,32 @@ export declare namespace Proposed {
|
|
|
98
99
|
type InlineValuesParams = iv.InlineValuesParams;
|
|
99
100
|
const InlineValuesRequest: typeof iv.InlineValuesRequest;
|
|
100
101
|
const InlineValuesRefreshRequest: typeof iv.InlineValuesRefreshRequest;
|
|
102
|
+
type $NotebookDocumentClientCapabilities = nb.$NotebookDocumentClientCapabilities;
|
|
103
|
+
type NotebookDocumentSyncClientCapabilities = nb.NotebookDocumentSyncClientCapabilities;
|
|
104
|
+
type $NotebookDocumentSyncServerCapabilities = nb.$NotebookDocumentSyncServerCapabilities;
|
|
105
|
+
type NotebookCellKind = nb.NotebookCellKind;
|
|
106
|
+
const NotebookCellKind: typeof nb.NotebookCellKind;
|
|
107
|
+
type NotebookCell = nb.NotebookCell;
|
|
108
|
+
const NotebookCell: typeof nb.NotebookCell;
|
|
109
|
+
type NotebookCellArrayChange = nb.NotebookCellArrayChange;
|
|
110
|
+
type NotebookDocument = nb.NotebookDocument;
|
|
111
|
+
const NotebookDocument: typeof nb.NotebookDocument;
|
|
112
|
+
type NotebookDocumentChangeEvent = nb.NotebookDocumentChangeEvent;
|
|
113
|
+
type NotebookDocumentIdentifier = nb.NotebookDocumentIdentifier;
|
|
114
|
+
type VersionedNotebookDocumentIdentifier = nb.VersionedNotebookDocumentIdentifier;
|
|
115
|
+
type NotebookDocumentSyncOptions = nb.NotebookDocumentSyncOptions;
|
|
116
|
+
type NotebookDocumentSyncRegistrationOptions = nb.NotebookDocumentSyncRegistrationOptions;
|
|
117
|
+
const NotebookDocumentSyncRegistrationType: typeof nb.NotebookDocumentSyncRegistrationType;
|
|
118
|
+
type DidOpenNotebookDocumentParams = nb.DidOpenNotebookDocumentParams;
|
|
119
|
+
const DidOpenNotebookDocumentNotification: typeof nb.DidOpenNotebookDocumentNotification;
|
|
120
|
+
type DidChangeNotebookDocumentParams = nb.DidChangeNotebookDocumentParams;
|
|
121
|
+
const DidChangeNotebookDocumentNotification: typeof nb.DidChangeNotebookDocumentNotification;
|
|
122
|
+
type DidSaveNotebookDocumentParams = nb.DidSaveNotebookDocumentParams;
|
|
123
|
+
const DidSaveNotebookDocumentNotification: typeof nb.DidSaveNotebookDocumentNotification;
|
|
124
|
+
type DidCloseNotebookDocumentParams = nb.DidCloseNotebookDocumentParams;
|
|
125
|
+
const DidCloseNotebookDocumentNotification: typeof nb.DidCloseNotebookDocumentNotification;
|
|
126
|
+
type NotebookController = nb.NotebookController;
|
|
127
|
+
const NotebookController: typeof nb.NotebookController;
|
|
128
|
+
type DidSelectNotebookControllerParams = nb.DidSelectNotebookControllerParams;
|
|
129
|
+
const DidSelectNotebookControllerNotification: typeof nb.DidSelectNotebookControllerNotification;
|
|
101
130
|
}
|
package/lib/common/api.js
CHANGED
|
@@ -74,6 +74,7 @@ var LSPErrorCodes;
|
|
|
74
74
|
const diag = require("./proposed.diagnostic");
|
|
75
75
|
const typeh = require("./proposed.typeHierarchy");
|
|
76
76
|
const iv = require("./proposed.inlineValue");
|
|
77
|
+
const nb = require("./proposed.notebooks");
|
|
77
78
|
var Proposed;
|
|
78
79
|
(function (Proposed) {
|
|
79
80
|
Proposed.DiagnosticServerCancellationData = diag.DiagnosticServerCancellationData;
|
|
@@ -86,5 +87,15 @@ var Proposed;
|
|
|
86
87
|
Proposed.TypeHierarchySubtypesRequest = typeh.TypeHierarchySubtypesRequest;
|
|
87
88
|
Proposed.InlineValuesRequest = iv.InlineValuesRequest;
|
|
88
89
|
Proposed.InlineValuesRefreshRequest = iv.InlineValuesRefreshRequest;
|
|
90
|
+
Proposed.NotebookCellKind = nb.NotebookCellKind;
|
|
91
|
+
Proposed.NotebookCell = nb.NotebookCell;
|
|
92
|
+
Proposed.NotebookDocument = nb.NotebookDocument;
|
|
93
|
+
Proposed.NotebookDocumentSyncRegistrationType = nb.NotebookDocumentSyncRegistrationType;
|
|
94
|
+
Proposed.DidOpenNotebookDocumentNotification = nb.DidOpenNotebookDocumentNotification;
|
|
95
|
+
Proposed.DidChangeNotebookDocumentNotification = nb.DidChangeNotebookDocumentNotification;
|
|
96
|
+
Proposed.DidSaveNotebookDocumentNotification = nb.DidSaveNotebookDocumentNotification;
|
|
97
|
+
Proposed.DidCloseNotebookDocumentNotification = nb.DidCloseNotebookDocumentNotification;
|
|
98
|
+
Proposed.NotebookController = nb.NotebookController;
|
|
99
|
+
Proposed.DidSelectNotebookControllerNotification = nb.DidSelectNotebookControllerNotification;
|
|
89
100
|
})(Proposed = exports.Proposed || (exports.Proposed = {}));
|
|
90
101
|
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
import { URI, integer, DocumentUri, uinteger, LSPObject, TextDocumentItem, TextDocumentIdentifier, VersionedTextDocumentIdentifier } from 'vscode-languageserver-types';
|
|
2
|
+
import { ProtocolNotificationType, RegistrationType } from './messages';
|
|
3
|
+
import { StaticRegistrationOptions, NotebookDocumentFilter, TextDocumentContentChangeEvent } from './protocol';
|
|
4
|
+
/**
|
|
5
|
+
* Notebook specific client capabilities.
|
|
6
|
+
*
|
|
7
|
+
* @since 3.17.0 - proposed state
|
|
8
|
+
*/
|
|
9
|
+
export interface NotebookDocumentSyncClientCapabilities {
|
|
10
|
+
/**
|
|
11
|
+
* Whether implementation supports dynamic registration. If this is
|
|
12
|
+
* set to `true` the client supports the new
|
|
13
|
+
* `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
|
|
14
|
+
* return value for the corresponding server capability as well.
|
|
15
|
+
*/
|
|
16
|
+
dynamicRegistration?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The client supports sending execution summary data per cell.
|
|
19
|
+
*/
|
|
20
|
+
executionSummarySupport?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface $NotebookDocumentClientCapabilities {
|
|
23
|
+
notebookDocument?: {
|
|
24
|
+
synchronization: NotebookDocumentSyncClientCapabilities;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A notebook cell kind.
|
|
29
|
+
*
|
|
30
|
+
* @since 3.17.0 - proposed state
|
|
31
|
+
*/
|
|
32
|
+
export declare namespace NotebookCellKind {
|
|
33
|
+
/**
|
|
34
|
+
* A markup-cell is formatted source that is used for display.
|
|
35
|
+
*/
|
|
36
|
+
const Markup: 1;
|
|
37
|
+
/**
|
|
38
|
+
* A code-cell is source code.
|
|
39
|
+
*/
|
|
40
|
+
const Code: 2;
|
|
41
|
+
function is(value: any): value is NotebookCellKind;
|
|
42
|
+
}
|
|
43
|
+
export declare type NotebookCellKind = 1 | 2;
|
|
44
|
+
export declare type ExecutionSummary = {
|
|
45
|
+
/**
|
|
46
|
+
* A strict monotonically increasing value
|
|
47
|
+
* indicating the execution order of a cell
|
|
48
|
+
* inside a notebook.
|
|
49
|
+
*/
|
|
50
|
+
executionOrder: uinteger;
|
|
51
|
+
/**
|
|
52
|
+
* Whether the execution was successful or
|
|
53
|
+
* not if known by the client.
|
|
54
|
+
*/
|
|
55
|
+
success?: boolean;
|
|
56
|
+
};
|
|
57
|
+
export declare namespace ExecutionSummary {
|
|
58
|
+
function create(executionOrder: number, success?: boolean): ExecutionSummary;
|
|
59
|
+
function is(value: any): value is ExecutionSummary;
|
|
60
|
+
function equals(one: ExecutionSummary | undefined, other: ExecutionSummary | undefined): boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A notebook cell.
|
|
64
|
+
*
|
|
65
|
+
* A cell's document URI must be unique across ALL notebook
|
|
66
|
+
* cells and can therefore be used to uniquely identify a
|
|
67
|
+
* notebook cell or the cell's text document.
|
|
68
|
+
*
|
|
69
|
+
* @since 3.17.0 - proposed state
|
|
70
|
+
*/
|
|
71
|
+
export interface NotebookCell {
|
|
72
|
+
/**
|
|
73
|
+
* The cell's kind
|
|
74
|
+
*/
|
|
75
|
+
kind: NotebookCellKind;
|
|
76
|
+
/**
|
|
77
|
+
* The URI of the cell's text document
|
|
78
|
+
* content.
|
|
79
|
+
*/
|
|
80
|
+
document: DocumentUri;
|
|
81
|
+
/**
|
|
82
|
+
* Additional metadata stored with the cell.
|
|
83
|
+
*/
|
|
84
|
+
metadata?: LSPObject;
|
|
85
|
+
/**
|
|
86
|
+
* Additional execution summary information
|
|
87
|
+
* if supported by the client.
|
|
88
|
+
*/
|
|
89
|
+
executionSummary?: ExecutionSummary;
|
|
90
|
+
}
|
|
91
|
+
export declare namespace NotebookCell {
|
|
92
|
+
function create(kind: NotebookCellKind, document: DocumentUri): NotebookCell;
|
|
93
|
+
function is(value: any): value is NotebookCell;
|
|
94
|
+
function equals(one: NotebookCell, other: NotebookCell, compareMetaData?: boolean): boolean;
|
|
95
|
+
function diff(one: NotebookCell, two: NotebookCell): Set<keyof NotebookCell>;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A notebook document.
|
|
99
|
+
*
|
|
100
|
+
* @since 3.17.0 - proposed state
|
|
101
|
+
*/
|
|
102
|
+
export interface NotebookDocument {
|
|
103
|
+
/**
|
|
104
|
+
* The notebook document's uri.
|
|
105
|
+
*/
|
|
106
|
+
uri: URI;
|
|
107
|
+
/**
|
|
108
|
+
* The type of the notebook.
|
|
109
|
+
*/
|
|
110
|
+
notebookType: string;
|
|
111
|
+
/**
|
|
112
|
+
* The version number of this document (it will increase after each
|
|
113
|
+
* change, including undo/redo).
|
|
114
|
+
*/
|
|
115
|
+
version: integer;
|
|
116
|
+
/**
|
|
117
|
+
* Additional metadata stored with the notebook
|
|
118
|
+
* document.
|
|
119
|
+
*/
|
|
120
|
+
metadata?: LSPObject;
|
|
121
|
+
/**
|
|
122
|
+
* The cells of a notebook.
|
|
123
|
+
*/
|
|
124
|
+
cells: NotebookCell[];
|
|
125
|
+
}
|
|
126
|
+
export declare namespace NotebookDocument {
|
|
127
|
+
function create(uri: URI, notebookType: string, version: integer, cells: NotebookCell[]): NotebookDocument;
|
|
128
|
+
function is(value: any): value is NotebookDocument;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A literal to identify a notebook document in the client.
|
|
132
|
+
*
|
|
133
|
+
* @since 3.17.0 - proposed state
|
|
134
|
+
*/
|
|
135
|
+
export interface NotebookDocumentIdentifier {
|
|
136
|
+
/**
|
|
137
|
+
* The notebook document's uri.
|
|
138
|
+
*/
|
|
139
|
+
uri: URI;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* A versioned notebook document identifier.
|
|
143
|
+
*
|
|
144
|
+
* @since 3.17.0 - proposed state
|
|
145
|
+
*/
|
|
146
|
+
export interface VersionedNotebookDocumentIdentifier {
|
|
147
|
+
/**
|
|
148
|
+
* The version number of this notebook document.
|
|
149
|
+
*/
|
|
150
|
+
version: integer;
|
|
151
|
+
/**
|
|
152
|
+
* The notebook document's uri.
|
|
153
|
+
*/
|
|
154
|
+
uri: URI;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Options specific to a notebook plus its cells
|
|
158
|
+
* to be synced to the server.
|
|
159
|
+
*
|
|
160
|
+
* If a selector provide a notebook document
|
|
161
|
+
* filter but no cell selector all cells of a
|
|
162
|
+
* matching notebook document will be synced.
|
|
163
|
+
*
|
|
164
|
+
* If a selector provides no notebook document
|
|
165
|
+
* filter but only a cell selector all notebook
|
|
166
|
+
* document that contain at least one matching
|
|
167
|
+
* cell will be synced.
|
|
168
|
+
*
|
|
169
|
+
* @since 3.17.0 - proposed state
|
|
170
|
+
*/
|
|
171
|
+
export declare type NotebookDocumentSyncOptions = {
|
|
172
|
+
/**
|
|
173
|
+
* The notebook document to be synced
|
|
174
|
+
*/
|
|
175
|
+
notebookDocumentSelector: ({
|
|
176
|
+
/** The notebook documents to be synced */
|
|
177
|
+
notebookDocumentFilter: NotebookDocumentFilter;
|
|
178
|
+
/** The cells of the matching notebook to be synced */
|
|
179
|
+
cellSelector?: {
|
|
180
|
+
language: string;
|
|
181
|
+
}[];
|
|
182
|
+
} | {
|
|
183
|
+
/** The notebook documents to be synced */
|
|
184
|
+
notebookDocumentFilter?: NotebookDocumentFilter;
|
|
185
|
+
/** The cells of the matching notebook to be synced */
|
|
186
|
+
cellSelector: {
|
|
187
|
+
language: string;
|
|
188
|
+
}[];
|
|
189
|
+
})[];
|
|
190
|
+
/**
|
|
191
|
+
* Determines how the notebook is synchronized.
|
|
192
|
+
*
|
|
193
|
+
* If set to 'notebook' the notebook document,
|
|
194
|
+
* its meta data, cell structure and the cell's
|
|
195
|
+
* text documents are synchronized.
|
|
196
|
+
*
|
|
197
|
+
* If set to 'cellContent' only the cell content
|
|
198
|
+
* is synchronized using the available
|
|
199
|
+
* `textDocument/did*` notifications.
|
|
200
|
+
*/
|
|
201
|
+
mode: 'notebook' | 'cellContent';
|
|
202
|
+
/**
|
|
203
|
+
* Whether save notification should be forwarded to
|
|
204
|
+
* the server. Will only be honored if mode === `notebook`.
|
|
205
|
+
*/
|
|
206
|
+
save?: boolean;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* Registration options specific to a notebook.
|
|
210
|
+
*
|
|
211
|
+
* @since 3.17.0 - proposed state
|
|
212
|
+
*/
|
|
213
|
+
export declare type NotebookDocumentSyncRegistrationOptions = NotebookDocumentSyncOptions & StaticRegistrationOptions;
|
|
214
|
+
export interface $NotebookDocumentSyncServerCapabilities {
|
|
215
|
+
notebookDocumentSync?: NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions;
|
|
216
|
+
}
|
|
217
|
+
export declare namespace NotebookDocumentSyncRegistrationType {
|
|
218
|
+
const method: 'notebookDocument/sync';
|
|
219
|
+
const type: RegistrationType<NotebookDocumentSyncRegistrationOptions>;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* The params sent in a open notebook document notification.
|
|
223
|
+
*
|
|
224
|
+
* @since 3.17.0 - proposed state
|
|
225
|
+
*/
|
|
226
|
+
export interface DidOpenNotebookDocumentParams {
|
|
227
|
+
/**
|
|
228
|
+
* The notebook document that got opened.
|
|
229
|
+
*/
|
|
230
|
+
notebookDocument: NotebookDocument;
|
|
231
|
+
/**
|
|
232
|
+
* The text documents that represent the content
|
|
233
|
+
* of a notebook cell.
|
|
234
|
+
*/
|
|
235
|
+
cellTextDocuments: TextDocumentItem[];
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* A notification sent when a notebook opens.
|
|
239
|
+
*
|
|
240
|
+
* @since 3.17.0 - proposed state
|
|
241
|
+
*/
|
|
242
|
+
export declare namespace DidOpenNotebookDocumentNotification {
|
|
243
|
+
const method: 'notebookDocument/didOpen';
|
|
244
|
+
const type: ProtocolNotificationType<DidOpenNotebookDocumentParams, void>;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* A change describing how to move a `NotebookCell`
|
|
248
|
+
* array from state S to S'.
|
|
249
|
+
*
|
|
250
|
+
* @since 3.17.0 - proposed state
|
|
251
|
+
*/
|
|
252
|
+
export interface NotebookCellArrayChange {
|
|
253
|
+
/**
|
|
254
|
+
* The start oftest of the cell that changed.
|
|
255
|
+
*/
|
|
256
|
+
start: uinteger;
|
|
257
|
+
/**
|
|
258
|
+
* The deleted cells
|
|
259
|
+
*/
|
|
260
|
+
deleteCount: uinteger;
|
|
261
|
+
/**
|
|
262
|
+
* The new cells, if any
|
|
263
|
+
*/
|
|
264
|
+
cells?: NotebookCell[];
|
|
265
|
+
}
|
|
266
|
+
export declare namespace NotebookCellArrayChange {
|
|
267
|
+
function is(value: any): value is NotebookCellArrayChange;
|
|
268
|
+
function create(start: uinteger, deleteCount: uinteger, cells?: NotebookCell[]): NotebookCellArrayChange;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* A change event for a notebook document.
|
|
272
|
+
*
|
|
273
|
+
* @since 3.17.0 - proposed state
|
|
274
|
+
*/
|
|
275
|
+
export interface NotebookDocumentChangeEvent {
|
|
276
|
+
/**
|
|
277
|
+
* The changed meta data if any.
|
|
278
|
+
*/
|
|
279
|
+
metadata?: LSPObject;
|
|
280
|
+
/**
|
|
281
|
+
* Changes to cells
|
|
282
|
+
*/
|
|
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
|
+
};
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* The params sent in a change notebook document notification.
|
|
318
|
+
*
|
|
319
|
+
* @since 3.17.0 - proposed state
|
|
320
|
+
*/
|
|
321
|
+
export interface DidChangeNotebookDocumentParams {
|
|
322
|
+
/**
|
|
323
|
+
* The notebook document that did change. The version number points
|
|
324
|
+
* to the version after all provided changes have been applied. If
|
|
325
|
+
* only the text document content of a cell changes the notebook version
|
|
326
|
+
* doesn't necessarily have to change.
|
|
327
|
+
*/
|
|
328
|
+
notebookDocument: VersionedNotebookDocumentIdentifier;
|
|
329
|
+
/**
|
|
330
|
+
* The actual changes to the notebook document.
|
|
331
|
+
*
|
|
332
|
+
* The changes describe single state changes to the notebook document.
|
|
333
|
+
* So if there are two changes c1 (at array index 0) and c2 (at array
|
|
334
|
+
* index 1) for a notebook in state S then c1 moves the notebook from
|
|
335
|
+
* S to S' and c2 from S' to S''. So c1 is computed on the state S and
|
|
336
|
+
* c2 is computed on the state S'.
|
|
337
|
+
*
|
|
338
|
+
* To mirror the content of a notebook using change events use the following approach:
|
|
339
|
+
* - start with the same initial content
|
|
340
|
+
* - apply the 'notebookDocument/didChange' notifications in the order you receive them.
|
|
341
|
+
* - apply the `NotebookChangeEvent`s in a single notification in the order
|
|
342
|
+
* you receive them.
|
|
343
|
+
*/
|
|
344
|
+
change: NotebookDocumentChangeEvent;
|
|
345
|
+
}
|
|
346
|
+
export declare namespace DidChangeNotebookDocumentNotification {
|
|
347
|
+
const method: 'notebookDocument/didChange';
|
|
348
|
+
const type: ProtocolNotificationType<DidChangeNotebookDocumentParams, void>;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* The params sent in a save notebook document notification.
|
|
352
|
+
*
|
|
353
|
+
* @since 3.17.0 - proposed state
|
|
354
|
+
*/
|
|
355
|
+
export interface DidSaveNotebookDocumentParams {
|
|
356
|
+
/**
|
|
357
|
+
* The notebook document that got saved.
|
|
358
|
+
*/
|
|
359
|
+
notebookDocument: NotebookDocumentIdentifier;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* A notification sent when a notebook document is saved.
|
|
363
|
+
*
|
|
364
|
+
* @since 3.17.0 - proposed state
|
|
365
|
+
*/
|
|
366
|
+
export declare namespace DidSaveNotebookDocumentNotification {
|
|
367
|
+
const method: 'notebookDocument/didSave';
|
|
368
|
+
const type: ProtocolNotificationType<DidSaveNotebookDocumentParams, void>;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* The params sent in a close notebook document notification.
|
|
372
|
+
*
|
|
373
|
+
* @since 3.17.0 - proposed state
|
|
374
|
+
*/
|
|
375
|
+
export interface DidCloseNotebookDocumentParams {
|
|
376
|
+
/**
|
|
377
|
+
* The notebook document that got closed.
|
|
378
|
+
*/
|
|
379
|
+
notebookDocument: NotebookDocumentIdentifier;
|
|
380
|
+
/**
|
|
381
|
+
* The text documents that represent the content
|
|
382
|
+
* of a notebook cell that got closed.
|
|
383
|
+
*/
|
|
384
|
+
cellTextDocuments: TextDocumentIdentifier[];
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* A notification sent when a notebook closes.
|
|
388
|
+
*
|
|
389
|
+
* @since 3.17.0 - proposed state
|
|
390
|
+
*/
|
|
391
|
+
export declare namespace DidCloseNotebookDocumentNotification {
|
|
392
|
+
const method: 'notebookDocument/didClose';
|
|
393
|
+
const type: ProtocolNotificationType<DidCloseNotebookDocumentParams, void>;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* A notebook controller represents an entity that can execute
|
|
397
|
+
* notebook cells. This is often referred to as a kernel.
|
|
398
|
+
*
|
|
399
|
+
* There can be multiple controllers and the editor will let
|
|
400
|
+
* users choose which controller to use for a certain notebook.
|
|
401
|
+
*/
|
|
402
|
+
export interface NotebookController {
|
|
403
|
+
/**
|
|
404
|
+
* The identifier of this notebook controller.
|
|
405
|
+
*
|
|
406
|
+
* _Note_ that controllers are usually remembered
|
|
407
|
+
* by their identifier and that clients should use
|
|
408
|
+
* stable identifiers.
|
|
409
|
+
*/
|
|
410
|
+
id: string;
|
|
411
|
+
/**
|
|
412
|
+
* Additional metadata associated with
|
|
413
|
+
* this controller.
|
|
414
|
+
*/
|
|
415
|
+
metadata?: LSPObject;
|
|
416
|
+
}
|
|
417
|
+
export declare namespace NotebookController {
|
|
418
|
+
function create(id: string, metadata?: LSPObject): NotebookController;
|
|
419
|
+
function is(value: any): value is NotebookController;
|
|
420
|
+
}
|
|
421
|
+
export interface DidSelectNotebookControllerParams {
|
|
422
|
+
/**
|
|
423
|
+
* The notebook document
|
|
424
|
+
*/
|
|
425
|
+
notebookDocument: NotebookDocumentIdentifier;
|
|
426
|
+
/**
|
|
427
|
+
* The selected controller
|
|
428
|
+
*/
|
|
429
|
+
controller: NotebookController;
|
|
430
|
+
/**
|
|
431
|
+
* Whether the controller has been selected
|
|
432
|
+
* or unselected.
|
|
433
|
+
*/
|
|
434
|
+
selected: boolean;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* A notification send when a controller got selected
|
|
438
|
+
* for a specific notebook.
|
|
439
|
+
*/
|
|
440
|
+
export declare namespace DidSelectNotebookControllerNotification {
|
|
441
|
+
const method: 'notebookDocument/didSelectNotebookController';
|
|
442
|
+
const type: ProtocolNotificationType<DidSelectNotebookControllerParams, void>;
|
|
443
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* --------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
* ------------------------------------------------------------------------------------------ */
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.DidSelectNotebookControllerNotification = exports.NotebookController = exports.DidCloseNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification = exports.NotebookCellArrayChange = exports.DidOpenNotebookDocumentNotification = exports.NotebookDocumentSyncRegistrationType = exports.NotebookDocument = exports.NotebookCell = exports.ExecutionSummary = exports.NotebookCellKind = void 0;
|
|
8
|
+
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
9
|
+
const Is = require("./utils/is");
|
|
10
|
+
const messages_1 = require("./messages");
|
|
11
|
+
/**
|
|
12
|
+
* A notebook cell kind.
|
|
13
|
+
*
|
|
14
|
+
* @since 3.17.0 - proposed state
|
|
15
|
+
*/
|
|
16
|
+
var NotebookCellKind;
|
|
17
|
+
(function (NotebookCellKind) {
|
|
18
|
+
/**
|
|
19
|
+
* A markup-cell is formatted source that is used for display.
|
|
20
|
+
*/
|
|
21
|
+
NotebookCellKind.Markup = 1;
|
|
22
|
+
/**
|
|
23
|
+
* A code-cell is source code.
|
|
24
|
+
*/
|
|
25
|
+
NotebookCellKind.Code = 2;
|
|
26
|
+
function is(value) {
|
|
27
|
+
return value === 1 || value === 2;
|
|
28
|
+
}
|
|
29
|
+
NotebookCellKind.is = is;
|
|
30
|
+
})(NotebookCellKind = exports.NotebookCellKind || (exports.NotebookCellKind = {}));
|
|
31
|
+
var ExecutionSummary;
|
|
32
|
+
(function (ExecutionSummary) {
|
|
33
|
+
function create(executionOrder, success) {
|
|
34
|
+
const result = { executionOrder };
|
|
35
|
+
if (success === true || success === false) {
|
|
36
|
+
result.success = success;
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
ExecutionSummary.create = create;
|
|
41
|
+
function is(value) {
|
|
42
|
+
const candidate = value;
|
|
43
|
+
return Is.objectLiteral(candidate) && vscode_languageserver_types_1.uinteger.is(candidate.executionOrder) && (candidate.success === undefined || Is.boolean(candidate.success));
|
|
44
|
+
}
|
|
45
|
+
ExecutionSummary.is = is;
|
|
46
|
+
function equals(one, other) {
|
|
47
|
+
if (one === other) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
if (one === null || one === undefined || other === null || other === undefined) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
return one.executionOrder === other.executionOrder && one.success === other.success;
|
|
54
|
+
}
|
|
55
|
+
ExecutionSummary.equals = equals;
|
|
56
|
+
})(ExecutionSummary = exports.ExecutionSummary || (exports.ExecutionSummary = {}));
|
|
57
|
+
var NotebookCell;
|
|
58
|
+
(function (NotebookCell) {
|
|
59
|
+
function create(kind, document) {
|
|
60
|
+
return { kind, document };
|
|
61
|
+
}
|
|
62
|
+
NotebookCell.create = create;
|
|
63
|
+
function is(value) {
|
|
64
|
+
const candidate = value;
|
|
65
|
+
return Is.objectLiteral(candidate) && NotebookCellKind.is(candidate.kind) && vscode_languageserver_types_1.DocumentUri.is(candidate.document) &&
|
|
66
|
+
(candidate.metadata === undefined || Is.objectLiteral(candidate.metadata));
|
|
67
|
+
}
|
|
68
|
+
NotebookCell.is = is;
|
|
69
|
+
function equals(one, other, compareMetaData = true) {
|
|
70
|
+
if (one.kind !== other.kind || one.document !== other.document) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return !compareMetaData || (compareMetaData && equalsMetadata(one.metadata, other.metadata));
|
|
74
|
+
}
|
|
75
|
+
NotebookCell.equals = equals;
|
|
76
|
+
function equalsMetadata(one, other) {
|
|
77
|
+
if (one === other) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
if (one === null || one === undefined || other === null || other === undefined) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
if (typeof one !== typeof other) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if (typeof one !== 'object') {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
const oneArray = Array.isArray(one);
|
|
90
|
+
const otherArray = Array.isArray(other);
|
|
91
|
+
if (oneArray !== otherArray) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
if (oneArray && otherArray) {
|
|
95
|
+
if (one.length !== other.length) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
for (let i = 0; i < one.length; i++) {
|
|
99
|
+
if (!equalsMetadata(one[i], other[i])) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (Is.objectLiteral(one) && Is.objectLiteral(other)) {
|
|
105
|
+
const oneKeys = Object.keys(one);
|
|
106
|
+
const otherKeys = Object.keys(other);
|
|
107
|
+
if (oneKeys.length !== otherKeys.length) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
oneKeys.sort();
|
|
111
|
+
otherKeys.sort();
|
|
112
|
+
if (!equalsMetadata(oneKeys, otherKeys)) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
for (let i = 0; i < oneKeys.length; i++) {
|
|
116
|
+
const prop = oneKeys[i];
|
|
117
|
+
if (!equalsMetadata(one[prop], other[prop])) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
function diff(one, two) {
|
|
125
|
+
const result = new Set();
|
|
126
|
+
if (one.document !== two.document) {
|
|
127
|
+
result.add('document');
|
|
128
|
+
}
|
|
129
|
+
if (one.kind !== two.kind) {
|
|
130
|
+
result.add('kind');
|
|
131
|
+
}
|
|
132
|
+
if (one.executionSummary !== two.executionSummary) {
|
|
133
|
+
result.add('executionSummary');
|
|
134
|
+
}
|
|
135
|
+
if ((one.metadata !== undefined || two.metadata !== undefined) && !equalsMetadata(one.metadata, two.metadata)) {
|
|
136
|
+
result.add('metadata');
|
|
137
|
+
}
|
|
138
|
+
if ((one.executionSummary !== undefined || two.executionSummary !== undefined) && !ExecutionSummary.equals(one.executionSummary, two.executionSummary)) {
|
|
139
|
+
result.add('executionSummary');
|
|
140
|
+
}
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
NotebookCell.diff = diff;
|
|
144
|
+
})(NotebookCell = exports.NotebookCell || (exports.NotebookCell = {}));
|
|
145
|
+
var NotebookDocument;
|
|
146
|
+
(function (NotebookDocument) {
|
|
147
|
+
function create(uri, notebookType, version, cells) {
|
|
148
|
+
return { uri, notebookType, version, cells };
|
|
149
|
+
}
|
|
150
|
+
NotebookDocument.create = create;
|
|
151
|
+
function is(value) {
|
|
152
|
+
const candidate = value;
|
|
153
|
+
return Is.objectLiteral(candidate) && Is.string(candidate.uri) && vscode_languageserver_types_1.integer.is(candidate.version) && Is.typedArray(candidate.cells, NotebookCell.is);
|
|
154
|
+
}
|
|
155
|
+
NotebookDocument.is = is;
|
|
156
|
+
})(NotebookDocument = exports.NotebookDocument || (exports.NotebookDocument = {}));
|
|
157
|
+
var NotebookDocumentSyncRegistrationType;
|
|
158
|
+
(function (NotebookDocumentSyncRegistrationType) {
|
|
159
|
+
NotebookDocumentSyncRegistrationType.method = 'notebookDocument/sync';
|
|
160
|
+
NotebookDocumentSyncRegistrationType.type = new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType.method);
|
|
161
|
+
})(NotebookDocumentSyncRegistrationType = exports.NotebookDocumentSyncRegistrationType || (exports.NotebookDocumentSyncRegistrationType = {}));
|
|
162
|
+
/**
|
|
163
|
+
* A notification sent when a notebook opens.
|
|
164
|
+
*
|
|
165
|
+
* @since 3.17.0 - proposed state
|
|
166
|
+
*/
|
|
167
|
+
var DidOpenNotebookDocumentNotification;
|
|
168
|
+
(function (DidOpenNotebookDocumentNotification) {
|
|
169
|
+
DidOpenNotebookDocumentNotification.method = 'notebookDocument/didOpen';
|
|
170
|
+
DidOpenNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification.method);
|
|
171
|
+
})(DidOpenNotebookDocumentNotification = exports.DidOpenNotebookDocumentNotification || (exports.DidOpenNotebookDocumentNotification = {}));
|
|
172
|
+
var NotebookCellArrayChange;
|
|
173
|
+
(function (NotebookCellArrayChange) {
|
|
174
|
+
function is(value) {
|
|
175
|
+
const candidate = value;
|
|
176
|
+
return Is.objectLiteral(candidate) && vscode_languageserver_types_1.uinteger.is(candidate.start) && vscode_languageserver_types_1.uinteger.is(candidate.deleteCount) && (candidate.cells === undefined || Is.typedArray(candidate.cells, NotebookCell.is));
|
|
177
|
+
}
|
|
178
|
+
NotebookCellArrayChange.is = is;
|
|
179
|
+
function create(start, deleteCount, cells) {
|
|
180
|
+
const result = { start, deleteCount };
|
|
181
|
+
if (cells !== undefined) {
|
|
182
|
+
result.cells = cells;
|
|
183
|
+
}
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
NotebookCellArrayChange.create = create;
|
|
187
|
+
})(NotebookCellArrayChange = exports.NotebookCellArrayChange || (exports.NotebookCellArrayChange = {}));
|
|
188
|
+
var DidChangeNotebookDocumentNotification;
|
|
189
|
+
(function (DidChangeNotebookDocumentNotification) {
|
|
190
|
+
DidChangeNotebookDocumentNotification.method = 'notebookDocument/didChange';
|
|
191
|
+
DidChangeNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification.method);
|
|
192
|
+
})(DidChangeNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification || (exports.DidChangeNotebookDocumentNotification = {}));
|
|
193
|
+
/**
|
|
194
|
+
* A notification sent when a notebook document is saved.
|
|
195
|
+
*
|
|
196
|
+
* @since 3.17.0 - proposed state
|
|
197
|
+
*/
|
|
198
|
+
var DidSaveNotebookDocumentNotification;
|
|
199
|
+
(function (DidSaveNotebookDocumentNotification) {
|
|
200
|
+
DidSaveNotebookDocumentNotification.method = 'notebookDocument/didSave';
|
|
201
|
+
DidSaveNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification.method);
|
|
202
|
+
})(DidSaveNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification || (exports.DidSaveNotebookDocumentNotification = {}));
|
|
203
|
+
/**
|
|
204
|
+
* A notification sent when a notebook closes.
|
|
205
|
+
*
|
|
206
|
+
* @since 3.17.0 - proposed state
|
|
207
|
+
*/
|
|
208
|
+
var DidCloseNotebookDocumentNotification;
|
|
209
|
+
(function (DidCloseNotebookDocumentNotification) {
|
|
210
|
+
DidCloseNotebookDocumentNotification.method = 'notebookDocument/didClose';
|
|
211
|
+
DidCloseNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification.method);
|
|
212
|
+
})(DidCloseNotebookDocumentNotification = exports.DidCloseNotebookDocumentNotification || (exports.DidCloseNotebookDocumentNotification = {}));
|
|
213
|
+
var NotebookController;
|
|
214
|
+
(function (NotebookController) {
|
|
215
|
+
function create(id, metadata) {
|
|
216
|
+
const result = { id };
|
|
217
|
+
if (metadata !== undefined) {
|
|
218
|
+
result.metadata = metadata;
|
|
219
|
+
}
|
|
220
|
+
return result;
|
|
221
|
+
}
|
|
222
|
+
NotebookController.create = create;
|
|
223
|
+
function is(value) {
|
|
224
|
+
const candidate = value;
|
|
225
|
+
return Is.objectLiteral(candidate) && Is.string(candidate.id) && (candidate.metadata === undefined || Is.objectLiteral(candidate.metadata));
|
|
226
|
+
}
|
|
227
|
+
NotebookController.is = is;
|
|
228
|
+
})(NotebookController = exports.NotebookController || (exports.NotebookController = {}));
|
|
229
|
+
/**
|
|
230
|
+
* A notification send when a controller got selected
|
|
231
|
+
* for a specific notebook.
|
|
232
|
+
*/
|
|
233
|
+
var DidSelectNotebookControllerNotification;
|
|
234
|
+
(function (DidSelectNotebookControllerNotification) {
|
|
235
|
+
DidSelectNotebookControllerNotification.method = 'notebookDocument/didSelectNotebookController';
|
|
236
|
+
DidSelectNotebookControllerNotification.type = new messages_1.ProtocolNotificationType(DidSelectNotebookControllerNotification.method);
|
|
237
|
+
})(DidSelectNotebookControllerNotification = exports.DidSelectNotebookControllerNotification || (exports.DidSelectNotebookControllerNotification = {}));
|
|
238
|
+
//# sourceMappingURL=proposed.notebooks.js.map
|
package/lib/common/protocol.d.ts
CHANGED
|
@@ -33,8 +33,10 @@ import { InlineValuesClientCapabilities, InlineValuesOptions, InlineValuesRegist
|
|
|
33
33
|
*
|
|
34
34
|
* @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
|
|
35
35
|
* @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
|
|
36
|
+
*
|
|
37
|
+
* @since 3.17.0 - proposed state.
|
|
36
38
|
*/
|
|
37
|
-
export declare type
|
|
39
|
+
export declare type TextDocumentFilter = {
|
|
38
40
|
/** A language id, like `typescript`. */
|
|
39
41
|
language: string;
|
|
40
42
|
/** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
|
|
@@ -57,12 +59,106 @@ export declare type DocumentFilter = {
|
|
|
57
59
|
pattern: string;
|
|
58
60
|
};
|
|
59
61
|
/**
|
|
60
|
-
* The
|
|
61
|
-
* [
|
|
62
|
+
* The TextDocumentFilter namespace provides helper functions to work with
|
|
63
|
+
* [TextDocumentFilter](#TextDocumentFilter) literals.
|
|
64
|
+
*
|
|
65
|
+
* @since 3.17.0 - proposed state.
|
|
66
|
+
*/
|
|
67
|
+
export declare namespace TextDocumentFilter {
|
|
68
|
+
function is(value: any): value is TextDocumentFilter;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A notebook document filter denotes a notebook document by
|
|
72
|
+
* different properties.
|
|
73
|
+
*
|
|
74
|
+
* @since 3.17.0 - proposed state.
|
|
75
|
+
*/
|
|
76
|
+
export declare type NotebookDocumentFilter = {
|
|
77
|
+
/** The type of the enclosing notebook. */
|
|
78
|
+
notebookType: string;
|
|
79
|
+
/** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
|
|
80
|
+
* Will be matched against the URI of the notebook. */
|
|
81
|
+
scheme?: string;
|
|
82
|
+
/** A glob pattern, like `*.ipynb`.
|
|
83
|
+
* Will be matched against the notebooks` URI path section.*/
|
|
84
|
+
pattern?: string;
|
|
85
|
+
} | {
|
|
86
|
+
/** The type of the enclosing notebook. */
|
|
87
|
+
notebookType?: string;
|
|
88
|
+
/** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
|
|
89
|
+
* Will be matched against the URI of the notebook. */
|
|
90
|
+
scheme: string;
|
|
91
|
+
/** A glob pattern, like `*.ipynb`.
|
|
92
|
+
* Will be matched against the notebooks` URI path section.*/
|
|
93
|
+
pattern?: string;
|
|
94
|
+
} | {
|
|
95
|
+
/** The type of the enclosing notebook. */
|
|
96
|
+
notebookType?: string;
|
|
97
|
+
/** A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
|
|
98
|
+
* Will be matched against the URI of the notebook. */
|
|
99
|
+
scheme?: string;
|
|
100
|
+
/** A glob pattern, like `*.ipynb`.
|
|
101
|
+
* Will be matched against the notebooks` URI path section.*/
|
|
102
|
+
pattern: string;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* The NotebookDocumentFilter namespace provides helper functions to work with
|
|
106
|
+
* [NotebookDocumentFilter](#NotebookDocumentFilter) literals.
|
|
107
|
+
*
|
|
108
|
+
* @since 3.17.0 - proposed state.
|
|
109
|
+
*/
|
|
110
|
+
export declare namespace NotebookDocumentFilter {
|
|
111
|
+
function is(value: any): value is NotebookDocumentFilter;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* A notebook cell text document filter denotes a cell text
|
|
115
|
+
* document by different properties.
|
|
116
|
+
*
|
|
117
|
+
* @since 3.17.0 - proposed state.
|
|
118
|
+
*/
|
|
119
|
+
export declare type NotebookCellTextDocumentFilter = {
|
|
120
|
+
/**
|
|
121
|
+
* A filter that matches against the notebook
|
|
122
|
+
* containing the notebook cell.
|
|
123
|
+
*/
|
|
124
|
+
notebookDocument: NotebookDocumentFilter;
|
|
125
|
+
/**
|
|
126
|
+
* A language id like `python`.
|
|
127
|
+
*
|
|
128
|
+
* Will be matched against the language id of the
|
|
129
|
+
* notebook cell document.
|
|
130
|
+
*/
|
|
131
|
+
cellLanguage?: string;
|
|
132
|
+
} | {
|
|
133
|
+
/**
|
|
134
|
+
* A filter that matches against the notebook
|
|
135
|
+
* containing the notebook cell.
|
|
136
|
+
*/
|
|
137
|
+
notebookDocument?: NotebookDocumentFilter;
|
|
138
|
+
/**
|
|
139
|
+
* A language id like `python`.
|
|
140
|
+
*
|
|
141
|
+
* Will be matched against the language id of the
|
|
142
|
+
* notebook cell document.
|
|
143
|
+
*/
|
|
144
|
+
cellLanguage: string;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* The NotebookCellTextDocumentFilter namespace provides helper functions to work with
|
|
148
|
+
* [NotebookCellTextDocumentFilter](#NotebookCellTextDocumentFilter) literals.
|
|
149
|
+
*
|
|
150
|
+
* @since 3.17.0 - proposed state.
|
|
62
151
|
*/
|
|
63
|
-
export declare namespace
|
|
64
|
-
function is(value: any): value is
|
|
152
|
+
export declare namespace NotebookCellTextDocumentFilter {
|
|
153
|
+
function is(value: any): value is NotebookCellTextDocumentFilter;
|
|
65
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* A document filter describes a top level text document or
|
|
157
|
+
* a notebook cell document.
|
|
158
|
+
*
|
|
159
|
+
* @since 3.17.0 - proposed support for NotebookCellTextDocumentFilter.
|
|
160
|
+
*/
|
|
161
|
+
export declare type DocumentFilter = TextDocumentFilter | NotebookCellTextDocumentFilter;
|
|
66
162
|
/**
|
|
67
163
|
* A document selector is the combination of one or many document filters.
|
|
68
164
|
*
|
|
@@ -729,7 +825,7 @@ export interface _ServerCapabilities<T = any> {
|
|
|
729
825
|
*
|
|
730
826
|
* @since 3.17.0 - proposed state
|
|
731
827
|
*/
|
|
732
|
-
inlineValuesProvider?: boolean | InlineValuesOptions |
|
|
828
|
+
inlineValuesProvider?: boolean | InlineValuesOptions | InlineValuesRegistrationOptions;
|
|
733
829
|
/**
|
|
734
830
|
* Experimental server capabilities.
|
|
735
831
|
*/
|
|
@@ -2734,7 +2830,7 @@ export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions
|
|
|
2734
2830
|
* a workspace edit which the client will apply to the workspace.
|
|
2735
2831
|
*/
|
|
2736
2832
|
export declare namespace ExecuteCommandRequest {
|
|
2737
|
-
const type: ProtocolRequestType<ExecuteCommandParams, LSPAny, never, void, ExecuteCommandRegistrationOptions>;
|
|
2833
|
+
const type: ProtocolRequestType<ExecuteCommandParams, void | LSPAny, never, void, ExecuteCommandRegistrationOptions>;
|
|
2738
2834
|
}
|
|
2739
2835
|
export interface WorkspaceEditClientCapabilities {
|
|
2740
2836
|
/**
|
package/lib/common/protocol.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
5
|
* ------------------------------------------------------------------------------------------ */
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.MonikerRequest = exports.MonikerKind = exports.UniquenessLevel = exports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.WillRenameFilesRequest = exports.DidRenameFilesNotification = exports.WillCreateFilesRequest = exports.DidCreateFilesNotification = exports.FileOperationPatternKind = exports.LinkedEditingRangeRequest = exports.ShowDocumentRequest = exports.SemanticTokensRegistrationType = exports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.TokenFormat = exports.CallHierarchyPrepareRequest = exports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = exports.SelectionRangeRequest = exports.DeclarationRequest = exports.FoldingRangeRequest = exports.ColorPresentationRequest = exports.DocumentColorRequest = exports.ConfigurationRequest = exports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = exports.TypeDefinitionRequest = exports.ImplementationRequest = exports.ApplyWorkspaceEditRequest = exports.ExecuteCommandRequest = exports.PrepareRenameRequest = exports.RenameRequest = exports.PrepareSupportDefaultBehavior = exports.DocumentOnTypeFormattingRequest = exports.DocumentRangeFormattingRequest = exports.DocumentFormattingRequest = exports.DocumentLinkResolveRequest = exports.DocumentLinkRequest = void 0;
|
|
7
|
+
exports.CodeLensRequest = exports.WorkspaceSymbolResolveRequest = exports.WorkspaceSymbolRequest = exports.CodeActionResolveRequest = exports.CodeActionRequest = exports.DocumentSymbolRequest = exports.DocumentHighlightRequest = exports.ReferencesRequest = exports.DefinitionRequest = exports.SignatureHelpRequest = exports.SignatureHelpTriggerKind = exports.HoverRequest = exports.CompletionResolveRequest = exports.CompletionRequest = exports.CompletionTriggerKind = exports.PublishDiagnosticsNotification = exports.WatchKind = exports.FileChangeType = exports.DidChangeWatchedFilesNotification = exports.WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentNotification = exports.TextDocumentSaveReason = exports.DidSaveTextDocumentNotification = exports.DidCloseTextDocumentNotification = exports.DidChangeTextDocumentNotification = exports.TextDocumentContentChangeEvent = exports.DidOpenTextDocumentNotification = exports.TextDocumentSyncKind = exports.TelemetryEventNotification = exports.LogMessageNotification = exports.ShowMessageRequest = exports.ShowMessageNotification = exports.MessageType = exports.DidChangeConfigurationNotification = exports.ExitNotification = exports.ShutdownRequest = exports.InitializedNotification = exports.InitializeError = exports.InitializeRequest = exports.WorkDoneProgressOptions = exports.TextDocumentRegistrationOptions = exports.StaticRegistrationOptions = exports.FailureHandlingKind = exports.ResourceOperationKind = exports.UnregistrationRequest = exports.RegistrationRequest = exports.DocumentSelector = exports.NotebookCellTextDocumentFilter = exports.NotebookDocumentFilter = exports.TextDocumentFilter = void 0;
|
|
8
|
+
exports.MonikerRequest = exports.MonikerKind = exports.UniquenessLevel = exports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.WillRenameFilesRequest = exports.DidRenameFilesNotification = exports.WillCreateFilesRequest = exports.DidCreateFilesNotification = exports.FileOperationPatternKind = exports.LinkedEditingRangeRequest = exports.ShowDocumentRequest = exports.SemanticTokensRegistrationType = exports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.TokenFormat = exports.CallHierarchyPrepareRequest = exports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = exports.SelectionRangeRequest = exports.DeclarationRequest = exports.FoldingRangeRequest = exports.ColorPresentationRequest = exports.DocumentColorRequest = exports.ConfigurationRequest = exports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = exports.TypeDefinitionRequest = exports.ImplementationRequest = exports.ApplyWorkspaceEditRequest = exports.ExecuteCommandRequest = exports.PrepareRenameRequest = exports.RenameRequest = exports.PrepareSupportDefaultBehavior = exports.DocumentOnTypeFormattingRequest = exports.DocumentRangeFormattingRequest = exports.DocumentFormattingRequest = exports.DocumentLinkResolveRequest = exports.DocumentLinkRequest = exports.CodeLensRefreshRequest = exports.CodeLensResolveRequest = void 0;
|
|
9
9
|
const messages_1 = require("./messages");
|
|
10
10
|
const Is = require("./utils/is");
|
|
11
11
|
const protocol_implementation_1 = require("./protocol.implementation");
|
|
@@ -60,17 +60,47 @@ Object.defineProperty(exports, "MonikerRequest", { enumerable: true, get: functi
|
|
|
60
60
|
// @ts-ignore: to avoid inlining LocationLink as dynamic import
|
|
61
61
|
let __noDynamicImport;
|
|
62
62
|
/**
|
|
63
|
-
* The
|
|
64
|
-
* [
|
|
63
|
+
* The TextDocumentFilter namespace provides helper functions to work with
|
|
64
|
+
* [TextDocumentFilter](#TextDocumentFilter) literals.
|
|
65
|
+
*
|
|
66
|
+
* @since 3.17.0 - proposed state.
|
|
65
67
|
*/
|
|
66
|
-
var
|
|
67
|
-
(function (
|
|
68
|
+
var TextDocumentFilter;
|
|
69
|
+
(function (TextDocumentFilter) {
|
|
68
70
|
function is(value) {
|
|
69
71
|
const candidate = value;
|
|
70
72
|
return Is.string(candidate.language) || Is.string(candidate.scheme) || Is.string(candidate.pattern);
|
|
71
73
|
}
|
|
72
|
-
|
|
73
|
-
})(
|
|
74
|
+
TextDocumentFilter.is = is;
|
|
75
|
+
})(TextDocumentFilter = exports.TextDocumentFilter || (exports.TextDocumentFilter = {}));
|
|
76
|
+
/**
|
|
77
|
+
* The NotebookDocumentFilter namespace provides helper functions to work with
|
|
78
|
+
* [NotebookDocumentFilter](#NotebookDocumentFilter) literals.
|
|
79
|
+
*
|
|
80
|
+
* @since 3.17.0 - proposed state.
|
|
81
|
+
*/
|
|
82
|
+
var NotebookDocumentFilter;
|
|
83
|
+
(function (NotebookDocumentFilter) {
|
|
84
|
+
function is(value) {
|
|
85
|
+
const candidate = value;
|
|
86
|
+
return Is.objectLiteral(candidate) && (Is.string(candidate.notebookType) || Is.string(candidate.scheme) || Is.string(candidate.pattern));
|
|
87
|
+
}
|
|
88
|
+
NotebookDocumentFilter.is = is;
|
|
89
|
+
})(NotebookDocumentFilter = exports.NotebookDocumentFilter || (exports.NotebookDocumentFilter = {}));
|
|
90
|
+
/**
|
|
91
|
+
* The NotebookCellTextDocumentFilter namespace provides helper functions to work with
|
|
92
|
+
* [NotebookCellTextDocumentFilter](#NotebookCellTextDocumentFilter) literals.
|
|
93
|
+
*
|
|
94
|
+
* @since 3.17.0 - proposed state.
|
|
95
|
+
*/
|
|
96
|
+
var NotebookCellTextDocumentFilter;
|
|
97
|
+
(function (NotebookCellTextDocumentFilter) {
|
|
98
|
+
function is(value) {
|
|
99
|
+
const candidate = value;
|
|
100
|
+
return Is.objectLiteral(candidate) && (NotebookDocumentFilter.is(candidate.notebookDocument) || Is.string(candidate.cellLanguage));
|
|
101
|
+
}
|
|
102
|
+
NotebookCellTextDocumentFilter.is = is;
|
|
103
|
+
})(NotebookCellTextDocumentFilter = exports.NotebookCellTextDocumentFilter || (exports.NotebookCellTextDocumentFilter = {}));
|
|
74
104
|
/**
|
|
75
105
|
* The DocumentSelector namespace provides helper functions to work with
|
|
76
106
|
* [DocumentSelector](#DocumentSelector)s.
|
|
@@ -82,7 +112,7 @@ var DocumentSelector;
|
|
|
82
112
|
return false;
|
|
83
113
|
}
|
|
84
114
|
for (let elem of value) {
|
|
85
|
-
if (!Is.string(elem) && !
|
|
115
|
+
if (!Is.string(elem) && !TextDocumentFilter.is(elem) && !NotebookCellTextDocumentFilter.is(elem)) {
|
|
86
116
|
return false;
|
|
87
117
|
}
|
|
88
118
|
}
|
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.0-next.
|
|
4
|
+
"version": "3.17.0-next.14",
|
|
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.0.0-next.
|
|
22
|
-
"vscode-languageserver-types": "3.17.0-next.
|
|
21
|
+
"vscode-jsonrpc": "8.0.0-next.6",
|
|
22
|
+
"vscode-languageserver-types": "3.17.0-next.7"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"prepublishOnly": "git clean -xfd . && npm install && npm run clean && npm run compile && npm test",
|