@jupyterlab/lsp 4.1.0-alpha.1 → 4.1.0-alpha.3
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/adapters/adapter.d.ts +20 -3
- package/lib/adapters/adapter.js +55 -2
- package/lib/adapters/adapter.js.map +1 -1
- package/lib/adapters/editorAdapter.d.ts +74 -0
- package/lib/adapters/editorAdapter.js +53 -0
- package/lib/adapters/editorAdapter.js.map +1 -0
- package/lib/adapters/index.d.ts +3 -0
- package/lib/adapters/index.js +6 -0
- package/lib/adapters/index.js.map +1 -0
- package/lib/adapters/tracker.d.ts +106 -0
- package/lib/adapters/tracker.js +175 -0
- package/lib/adapters/tracker.js.map +1 -0
- package/lib/connection_manager.d.ts +11 -5
- package/lib/connection_manager.js +10 -0
- package/lib/connection_manager.js.map +1 -1
- package/lib/feature.d.ts +7 -2
- package/lib/feature.js +17 -4
- package/lib/feature.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/lsp.d.ts +1 -0
- package/lib/lsp.js.map +1 -1
- package/lib/tokens.d.ts +132 -10
- package/lib/tokens.js +17 -0
- package/lib/tokens.js.map +1 -1
- package/lib/virtual/document.d.ts +7 -3
- package/lib/virtual/document.js +51 -13
- package/lib/virtual/document.js.map +1 -1
- package/package.json +12 -10
- package/src/adapters/adapter.ts +87 -6
- package/src/adapters/editorAdapter.ts +131 -0
- package/src/adapters/index.ts +6 -0
- package/src/adapters/tracker.ts +222 -0
- package/src/connection_manager.ts +23 -7
- package/src/feature.ts +20 -5
- package/src/index.ts +1 -1
- package/src/lsp.ts +2 -0
- package/src/tokens.ts +155 -13
- package/src/virtual/document.ts +62 -16
- package/style/index.css +2 -0
- package/style/index.js +2 -0
|
@@ -36,7 +36,7 @@ export interface IAdapterOptions {
|
|
|
36
36
|
* as this would make the logic of inspections caching impossible to maintain, thus the WidgetAdapter
|
|
37
37
|
* has to handle that, keeping multiple connections and multiple virtual documents.
|
|
38
38
|
*/
|
|
39
|
-
export declare abstract class WidgetLSPAdapter<T extends IDocumentWidget> implements IDisposable {
|
|
39
|
+
export declare abstract class WidgetLSPAdapter<T extends IDocumentWidget = IDocumentWidget> implements IDisposable {
|
|
40
40
|
widget: T;
|
|
41
41
|
protected options: IAdapterOptions;
|
|
42
42
|
constructor(widget: T, options: IAdapterOptions);
|
|
@@ -151,8 +151,8 @@ export declare abstract class WidgetLSPAdapter<T extends IDocumentWidget> implem
|
|
|
151
151
|
protected abstract createVirtualDocument(): VirtualDocument;
|
|
152
152
|
/**
|
|
153
153
|
* Get the index of editor from the cursor position in the virtual
|
|
154
|
-
* document.
|
|
155
|
-
* 0
|
|
154
|
+
* document.
|
|
155
|
+
* @deprecated This is error-prone and will be removed in JupyterLab 5.0, use `getEditorIndex()` with `virtualDocument.getEditorAtVirtualLine(position)` instead.
|
|
156
156
|
*
|
|
157
157
|
* @param position - the position of cursor in the virtual document.
|
|
158
158
|
* @return - index of the virtual editor
|
|
@@ -227,6 +227,9 @@ export declare abstract class WidgetLSPAdapter<T extends IDocumentWidget> implem
|
|
|
227
227
|
private _isConnected;
|
|
228
228
|
private _updateFinished;
|
|
229
229
|
private _virtualDocument;
|
|
230
|
+
private _editorToAdapter;
|
|
231
|
+
private _onEditorAdded;
|
|
232
|
+
private _onEditorRemoved;
|
|
230
233
|
/**
|
|
231
234
|
* Callback called when a foreign document is closed,
|
|
232
235
|
* the associated signals with this virtual document
|
|
@@ -252,4 +255,18 @@ export declare abstract class WidgetLSPAdapter<T extends IDocumentWidget> implem
|
|
|
252
255
|
* more resilient and editor-independent.
|
|
253
256
|
*/
|
|
254
257
|
private _onContentChanged;
|
|
258
|
+
/**
|
|
259
|
+
* Check if the virtual document should be updated on content
|
|
260
|
+
* changed signal. Returns `true` if two following conditions are
|
|
261
|
+
* are satisfied:
|
|
262
|
+
* - The LSP feature is enabled.
|
|
263
|
+
* - The LSP features list is not empty.
|
|
264
|
+
*/
|
|
265
|
+
private _shouldUpdateVirtualDocument;
|
|
266
|
+
/**
|
|
267
|
+
* Connect the virtual document update handler with the content
|
|
268
|
+
* updated signal.This method is invoked at startup and when
|
|
269
|
+
* the LSP server status changed or when a LSP feature is registered.
|
|
270
|
+
*/
|
|
271
|
+
private _onLspSessionOrFeatureChanged;
|
|
255
272
|
}
|
package/lib/adapters/adapter.js
CHANGED
|
@@ -4,6 +4,7 @@ import mergeWith from 'lodash.mergewith';
|
|
|
4
4
|
import { Dialog, showDialog } from '@jupyterlab/apputils';
|
|
5
5
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
6
6
|
import { Signal } from '@lumino/signaling';
|
|
7
|
+
import { EditorAdapter } from './editorAdapter';
|
|
7
8
|
const createButton = Dialog.createButton;
|
|
8
9
|
/**
|
|
9
10
|
* The values should follow the https://microsoft.github.io/language-server-protocol/specification guidelines
|
|
@@ -56,6 +57,11 @@ export class WidgetLSPAdapter {
|
|
|
56
57
|
this.widget.context.saveState.connect(this.onSaveState, this);
|
|
57
58
|
this.connectionManager.closed.connect(this.onConnectionClosed, this);
|
|
58
59
|
this.widget.disposed.connect(this.dispose, this);
|
|
60
|
+
this._editorToAdapter = new WeakMap();
|
|
61
|
+
this.editorAdded.connect(this._onEditorAdded, this);
|
|
62
|
+
this.editorRemoved.connect(this._onEditorRemoved, this);
|
|
63
|
+
this._connectionManager.languageServerManager.sessionsChanged.connect(this._onLspSessionOrFeatureChanged, this);
|
|
64
|
+
this.options.featureManager.featureRegistered.connect(this._onLspSessionOrFeatureChanged, this);
|
|
59
65
|
}
|
|
60
66
|
/**
|
|
61
67
|
* Check if the adapter is disposed
|
|
@@ -175,6 +181,10 @@ export class WidgetLSPAdapter {
|
|
|
175
181
|
if (this._isDisposed) {
|
|
176
182
|
return;
|
|
177
183
|
}
|
|
184
|
+
this.editorAdded.disconnect(this._onEditorAdded, this);
|
|
185
|
+
this.editorRemoved.disconnect(this._onEditorRemoved, this);
|
|
186
|
+
this._connectionManager.languageServerManager.sessionsChanged.disconnect(this._onLspSessionOrFeatureChanged, this);
|
|
187
|
+
this.options.featureManager.featureRegistered.disconnect(this._onLspSessionOrFeatureChanged, this);
|
|
178
188
|
this._isDisposed = true;
|
|
179
189
|
this.disconnect();
|
|
180
190
|
this._virtualDocument = null;
|
|
@@ -345,10 +355,9 @@ export class WidgetLSPAdapter {
|
|
|
345
355
|
*/
|
|
346
356
|
initVirtual() {
|
|
347
357
|
var _a;
|
|
348
|
-
const { model } = this.widget.context;
|
|
349
358
|
(_a = this._virtualDocument) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
350
359
|
this._virtualDocument = this.createVirtualDocument();
|
|
351
|
-
|
|
360
|
+
this._onLspSessionOrFeatureChanged();
|
|
352
361
|
}
|
|
353
362
|
/**
|
|
354
363
|
* Handler for opening a document contained in a parent document. The assumption
|
|
@@ -363,6 +372,21 @@ export class WidgetLSPAdapter {
|
|
|
363
372
|
await this.connectDocument(foreignDocument, true);
|
|
364
373
|
foreignDocument.foreignDocumentClosed.connect(this._onForeignDocumentClosed, this);
|
|
365
374
|
}
|
|
375
|
+
_onEditorAdded(sender, change) {
|
|
376
|
+
const { editor } = change;
|
|
377
|
+
const editorAdapter = new EditorAdapter({
|
|
378
|
+
editor: editor,
|
|
379
|
+
widgetAdapter: this,
|
|
380
|
+
extensions: this.options.featureManager.extensionFactories()
|
|
381
|
+
});
|
|
382
|
+
this._editorToAdapter.set(editor, editorAdapter);
|
|
383
|
+
}
|
|
384
|
+
_onEditorRemoved(sender, change) {
|
|
385
|
+
const { editor } = change;
|
|
386
|
+
const adapter = this._editorToAdapter.get(editor);
|
|
387
|
+
adapter === null || adapter === void 0 ? void 0 : adapter.dispose();
|
|
388
|
+
this._editorToAdapter.delete(editor);
|
|
389
|
+
}
|
|
366
390
|
/**
|
|
367
391
|
* Callback called when a foreign document is closed,
|
|
368
392
|
* the associated signals with this virtual document
|
|
@@ -438,5 +462,34 @@ export class WidgetLSPAdapter {
|
|
|
438
462
|
this._updateFinished = promise.catch(console.warn);
|
|
439
463
|
await this.updateFinished;
|
|
440
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Check if the virtual document should be updated on content
|
|
467
|
+
* changed signal. Returns `true` if two following conditions are
|
|
468
|
+
* are satisfied:
|
|
469
|
+
* - The LSP feature is enabled.
|
|
470
|
+
* - The LSP features list is not empty.
|
|
471
|
+
*/
|
|
472
|
+
_shouldUpdateVirtualDocument() {
|
|
473
|
+
const { languageServerManager } = this.connectionManager;
|
|
474
|
+
return (languageServerManager.isEnabled &&
|
|
475
|
+
this.options.featureManager.features.length > 0);
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Connect the virtual document update handler with the content
|
|
479
|
+
* updated signal.This method is invoked at startup and when
|
|
480
|
+
* the LSP server status changed or when a LSP feature is registered.
|
|
481
|
+
*/
|
|
482
|
+
_onLspSessionOrFeatureChanged() {
|
|
483
|
+
if (!this._virtualDocument) {
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
const { model } = this.widget.context;
|
|
487
|
+
if (this._shouldUpdateVirtualDocument()) {
|
|
488
|
+
model.contentChanged.connect(this._onContentChanged, this);
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
491
|
+
model.contentChanged.disconnect(this._onContentChanged, this);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
441
494
|
}
|
|
442
495
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapters/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { IConfigurableExtension, IEditorExtensionFactory } from '@jupyterlab/codemirror';
|
|
2
|
+
import { IDisposable } from '@lumino/disposable';
|
|
3
|
+
import { WidgetLSPAdapter } from './adapter';
|
|
4
|
+
import { Document } from '../tokens';
|
|
5
|
+
/**
|
|
6
|
+
* The CodeEditor.IEditor adapter.
|
|
7
|
+
*/
|
|
8
|
+
export declare class EditorAdapter implements IDisposable {
|
|
9
|
+
/**
|
|
10
|
+
* Instantiate a new EditorAdapter.
|
|
11
|
+
*
|
|
12
|
+
* @param options The instantiation options for a EditorAdapter.
|
|
13
|
+
*/
|
|
14
|
+
constructor(options: EditorAdapter.IOptions);
|
|
15
|
+
/**
|
|
16
|
+
* Whether the handler is disposed.
|
|
17
|
+
*/
|
|
18
|
+
isDisposed: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Dispose the handler.
|
|
21
|
+
*/
|
|
22
|
+
dispose(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Setup the editor.
|
|
25
|
+
*/
|
|
26
|
+
private _injectExtensions;
|
|
27
|
+
private _widgetAdapter;
|
|
28
|
+
private _extensions;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A namespace for EditorAdapter `statics`.
|
|
32
|
+
*/
|
|
33
|
+
export declare namespace EditorAdapter {
|
|
34
|
+
/**
|
|
35
|
+
* Instantiation options for `EditorAdapter`.
|
|
36
|
+
*/
|
|
37
|
+
interface IOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Editor wrapper enabling revealing the editor when detached (out of view).
|
|
40
|
+
*/
|
|
41
|
+
editor: Document.IEditor;
|
|
42
|
+
/**
|
|
43
|
+
* The widget lsp adapter.
|
|
44
|
+
*/
|
|
45
|
+
widgetAdapter: WidgetLSPAdapter;
|
|
46
|
+
/**
|
|
47
|
+
* The list of CodeMirror extension factories
|
|
48
|
+
*/
|
|
49
|
+
extensions: ILSPEditorExtensionFactory[];
|
|
50
|
+
}
|
|
51
|
+
interface ILSPEditorExtensionFactory extends Omit<IEditorExtensionFactory<any>, 'factory'> {
|
|
52
|
+
/**
|
|
53
|
+
* Extension factory.
|
|
54
|
+
*
|
|
55
|
+
* @param options
|
|
56
|
+
* @returns The extension builder or null if the extension is not active for that document
|
|
57
|
+
*/
|
|
58
|
+
readonly factory: (options: IFactoryOptions) => IConfigurableExtension<any> | null;
|
|
59
|
+
}
|
|
60
|
+
interface IFactoryOptions extends IEditorExtensionFactory.IOptions {
|
|
61
|
+
/**
|
|
62
|
+
* A path to a source file.
|
|
63
|
+
*/
|
|
64
|
+
path: string;
|
|
65
|
+
/**
|
|
66
|
+
* The code editor.
|
|
67
|
+
*/
|
|
68
|
+
editor: Document.IEditor;
|
|
69
|
+
/**
|
|
70
|
+
* The widget lsp adapter.
|
|
71
|
+
*/
|
|
72
|
+
widgetAdapter: WidgetLSPAdapter<any>;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
import { Signal } from '@lumino/signaling';
|
|
4
|
+
/**
|
|
5
|
+
* The CodeEditor.IEditor adapter.
|
|
6
|
+
*/
|
|
7
|
+
export class EditorAdapter {
|
|
8
|
+
/**
|
|
9
|
+
* Instantiate a new EditorAdapter.
|
|
10
|
+
*
|
|
11
|
+
* @param options The instantiation options for a EditorAdapter.
|
|
12
|
+
*/
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this._widgetAdapter = options.widgetAdapter;
|
|
15
|
+
this._extensions = options.extensions;
|
|
16
|
+
void options.editor.ready().then(editor => {
|
|
17
|
+
this._injectExtensions(options.editor);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Dispose the handler.
|
|
22
|
+
*/
|
|
23
|
+
dispose() {
|
|
24
|
+
if (this.isDisposed) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.isDisposed = true;
|
|
28
|
+
Signal.clearData(this);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Setup the editor.
|
|
32
|
+
*/
|
|
33
|
+
_injectExtensions(editor) {
|
|
34
|
+
const codeEditor = editor.getEditor();
|
|
35
|
+
if (codeEditor.isDisposed) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this._extensions.forEach(factory => {
|
|
39
|
+
const ext = factory.factory({
|
|
40
|
+
path: this._widgetAdapter.widget.context.path,
|
|
41
|
+
editor: editor,
|
|
42
|
+
widgetAdapter: this._widgetAdapter,
|
|
43
|
+
model: codeEditor.model,
|
|
44
|
+
inline: true
|
|
45
|
+
});
|
|
46
|
+
if (!ext) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
codeEditor.injectExtension(ext.instance(codeEditor));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=editorAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorAdapter.js","sourceRoot":"","sources":["../../src/adapters/editorAdapter.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAS3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAK3C;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB;;;;OAIG;IACH,YAAY,OAA+B;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACxC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAOD;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAwB;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAG,CAAC;QACvC,IAAI,UAAU,CAAC,UAAU,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC1B,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gBAC7C,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,IAAI,CAAC,cAAc;gBAClC,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO;aACR;YAED,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;CAIF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ISignal } from '@lumino/signaling';
|
|
2
|
+
import { WidgetLSPAdapter } from './adapter';
|
|
3
|
+
import { IShell, IWidgetLSPAdapterTracker } from '../tokens';
|
|
4
|
+
/**
|
|
5
|
+
* A class that keeps track of widget adapter instances.
|
|
6
|
+
*
|
|
7
|
+
* @typeparam T - The type of widget being tracked. Defaults to `WidgetLSPAdapter`.
|
|
8
|
+
*/
|
|
9
|
+
export declare class WidgetLSPAdapterTracker<T extends WidgetLSPAdapter = WidgetLSPAdapter> implements IWidgetLSPAdapterTracker<T> {
|
|
10
|
+
/**
|
|
11
|
+
* Create a new widget tracker.
|
|
12
|
+
*
|
|
13
|
+
* @param options - The instantiation options for a widget tracker.
|
|
14
|
+
*/
|
|
15
|
+
constructor(options: WidgetLSPAdapterTracker.IOptions);
|
|
16
|
+
/**
|
|
17
|
+
* A signal emitted when the current adapter changes.
|
|
18
|
+
*/
|
|
19
|
+
get currentChanged(): ISignal<this, T | null>;
|
|
20
|
+
/**
|
|
21
|
+
* The current adapter is the most recently focused or added adapter.
|
|
22
|
+
*
|
|
23
|
+
* #### Notes
|
|
24
|
+
* It is the most recently focused adapter, or the most recently added
|
|
25
|
+
* adapter if no adapter has taken focus.
|
|
26
|
+
*/
|
|
27
|
+
get currentAdapter(): T | null;
|
|
28
|
+
/**
|
|
29
|
+
* The number of adapter held by the tracker.
|
|
30
|
+
*/
|
|
31
|
+
get size(): number;
|
|
32
|
+
/**
|
|
33
|
+
* A signal emitted when an adapter is added.
|
|
34
|
+
*/
|
|
35
|
+
get adapterAdded(): ISignal<this, T>;
|
|
36
|
+
/**
|
|
37
|
+
* A signal emitted when an adapter is updated.
|
|
38
|
+
*/
|
|
39
|
+
get adapterUpdated(): ISignal<this, T>;
|
|
40
|
+
/**
|
|
41
|
+
* Add a new adapter to the tracker.
|
|
42
|
+
*
|
|
43
|
+
* @param adapter - The adapter being added.
|
|
44
|
+
*
|
|
45
|
+
* #### Notes.
|
|
46
|
+
* The newly added adapter becomes the current adapter unless the shell
|
|
47
|
+
* already had a DocumentWidget as the activeWidget.
|
|
48
|
+
*/
|
|
49
|
+
add(adapter: T): void;
|
|
50
|
+
/**
|
|
51
|
+
* Test whether the tracker is disposed.
|
|
52
|
+
*/
|
|
53
|
+
get isDisposed(): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Dispose of the resources held by the tracker.
|
|
56
|
+
*/
|
|
57
|
+
dispose(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Find the first adapter in the tracker that satisfies a filter function.
|
|
60
|
+
*
|
|
61
|
+
* @param - fn The filter function to call on each adapter.
|
|
62
|
+
*
|
|
63
|
+
* #### Notes
|
|
64
|
+
* If no adapter is found, the value returned is `undefined`.
|
|
65
|
+
*/
|
|
66
|
+
find(fn: (adapter: T) => boolean): T | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Iterate through each adapter in the tracker.
|
|
69
|
+
*
|
|
70
|
+
* @param fn - The function to call on each adapter.
|
|
71
|
+
*/
|
|
72
|
+
forEach(fn: (adapter: T) => void): void;
|
|
73
|
+
/**
|
|
74
|
+
* Filter the adapter in the tracker based on a predicate.
|
|
75
|
+
*
|
|
76
|
+
* @param fn - The function by which to filter.
|
|
77
|
+
*/
|
|
78
|
+
filter(fn: (adapter: T) => boolean): T[];
|
|
79
|
+
/**
|
|
80
|
+
* Check if this tracker has the specified adapter.
|
|
81
|
+
*
|
|
82
|
+
* @param adapter - The adapter whose existence is being checked.
|
|
83
|
+
*/
|
|
84
|
+
has(adapter: T): boolean;
|
|
85
|
+
private _isDisposed;
|
|
86
|
+
private _shell;
|
|
87
|
+
private _current;
|
|
88
|
+
private _adapters;
|
|
89
|
+
private _adapterAdded;
|
|
90
|
+
private _adapterUpdated;
|
|
91
|
+
private _currentChanged;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A namespace for `WidgetLSPAdapterTracker` statics.
|
|
95
|
+
*/
|
|
96
|
+
export declare namespace WidgetLSPAdapterTracker {
|
|
97
|
+
/**
|
|
98
|
+
* The instantiation options for the WidgetLSPAdapterTracker.
|
|
99
|
+
*/
|
|
100
|
+
interface IOptions {
|
|
101
|
+
/**
|
|
102
|
+
* The JupyterLab shell for tracking all widgets.
|
|
103
|
+
*/
|
|
104
|
+
shell: IShell;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
import { DocumentWidget } from '@jupyterlab/docregistry';
|
|
4
|
+
import { Signal } from '@lumino/signaling';
|
|
5
|
+
/**
|
|
6
|
+
* A class that keeps track of widget adapter instances.
|
|
7
|
+
*
|
|
8
|
+
* @typeparam T - The type of widget being tracked. Defaults to `WidgetLSPAdapter`.
|
|
9
|
+
*/
|
|
10
|
+
export class WidgetLSPAdapterTracker {
|
|
11
|
+
/**
|
|
12
|
+
* Create a new widget tracker.
|
|
13
|
+
*
|
|
14
|
+
* @param options - The instantiation options for a widget tracker.
|
|
15
|
+
*/
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this._isDisposed = false;
|
|
18
|
+
this._current = null;
|
|
19
|
+
this._adapters = new Set();
|
|
20
|
+
this._adapterAdded = new Signal(this);
|
|
21
|
+
this._adapterUpdated = new Signal(this);
|
|
22
|
+
this._currentChanged = new Signal(this);
|
|
23
|
+
const shell = (this._shell = options.shell);
|
|
24
|
+
shell.currentChanged.connect((_, args) => {
|
|
25
|
+
let newValue = args.newValue;
|
|
26
|
+
if (!newValue || !(newValue instanceof DocumentWidget)) {
|
|
27
|
+
console.log('No current widget');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const adapter = this.find(value => value.widget === newValue);
|
|
31
|
+
if (!adapter) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this._current = adapter;
|
|
35
|
+
this._currentChanged.emit(adapter);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A signal emitted when the current adapter changes.
|
|
40
|
+
*/
|
|
41
|
+
get currentChanged() {
|
|
42
|
+
return this._currentChanged;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The current adapter is the most recently focused or added adapter.
|
|
46
|
+
*
|
|
47
|
+
* #### Notes
|
|
48
|
+
* It is the most recently focused adapter, or the most recently added
|
|
49
|
+
* adapter if no adapter has taken focus.
|
|
50
|
+
*/
|
|
51
|
+
get currentAdapter() {
|
|
52
|
+
return this._current;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The number of adapter held by the tracker.
|
|
56
|
+
*/
|
|
57
|
+
get size() {
|
|
58
|
+
return this._adapters.size;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A signal emitted when an adapter is added.
|
|
62
|
+
*/
|
|
63
|
+
get adapterAdded() {
|
|
64
|
+
return this._adapterAdded;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A signal emitted when an adapter is updated.
|
|
68
|
+
*/
|
|
69
|
+
get adapterUpdated() {
|
|
70
|
+
return this._adapterUpdated;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Add a new adapter to the tracker.
|
|
74
|
+
*
|
|
75
|
+
* @param adapter - The adapter being added.
|
|
76
|
+
*
|
|
77
|
+
* #### Notes.
|
|
78
|
+
* The newly added adapter becomes the current adapter unless the shell
|
|
79
|
+
* already had a DocumentWidget as the activeWidget.
|
|
80
|
+
*/
|
|
81
|
+
add(adapter) {
|
|
82
|
+
if (adapter.isDisposed) {
|
|
83
|
+
const warning = 'A disposed object cannot be added.';
|
|
84
|
+
console.warn(warning, adapter);
|
|
85
|
+
throw new Error(warning);
|
|
86
|
+
}
|
|
87
|
+
if (this._adapters.has(adapter)) {
|
|
88
|
+
const warning = 'This object already exists in the pool.';
|
|
89
|
+
console.warn(warning, adapter);
|
|
90
|
+
throw new Error(warning);
|
|
91
|
+
}
|
|
92
|
+
this._adapters.add(adapter);
|
|
93
|
+
this._adapterAdded.emit(adapter);
|
|
94
|
+
adapter.disposed.connect(() => {
|
|
95
|
+
this._adapters.delete(adapter);
|
|
96
|
+
if (adapter === this._current) {
|
|
97
|
+
this._current = null;
|
|
98
|
+
this._currentChanged.emit(this._current);
|
|
99
|
+
}
|
|
100
|
+
}, this);
|
|
101
|
+
// Only update the current adapter, when there is no shell.activeWidget
|
|
102
|
+
// or the active widget is not a DocumentWidget
|
|
103
|
+
// We will be able to use other panels while keeping the current adapter.
|
|
104
|
+
const active = this._shell.activeWidget;
|
|
105
|
+
if (!active || !(active instanceof DocumentWidget)) {
|
|
106
|
+
this._current = adapter;
|
|
107
|
+
this._currentChanged.emit(adapter);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Test whether the tracker is disposed.
|
|
112
|
+
*/
|
|
113
|
+
get isDisposed() {
|
|
114
|
+
return this._isDisposed;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Dispose of the resources held by the tracker.
|
|
118
|
+
*/
|
|
119
|
+
dispose() {
|
|
120
|
+
if (this.isDisposed) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this._isDisposed = true;
|
|
124
|
+
this._adapters.clear();
|
|
125
|
+
Signal.clearData(this);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Find the first adapter in the tracker that satisfies a filter function.
|
|
129
|
+
*
|
|
130
|
+
* @param - fn The filter function to call on each adapter.
|
|
131
|
+
*
|
|
132
|
+
* #### Notes
|
|
133
|
+
* If no adapter is found, the value returned is `undefined`.
|
|
134
|
+
*/
|
|
135
|
+
find(fn) {
|
|
136
|
+
const values = this._adapters.values();
|
|
137
|
+
for (const value of values) {
|
|
138
|
+
if (fn(value)) {
|
|
139
|
+
return value;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Iterate through each adapter in the tracker.
|
|
146
|
+
*
|
|
147
|
+
* @param fn - The function to call on each adapter.
|
|
148
|
+
*/
|
|
149
|
+
forEach(fn) {
|
|
150
|
+
this._adapters.forEach(fn);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Filter the adapter in the tracker based on a predicate.
|
|
154
|
+
*
|
|
155
|
+
* @param fn - The function by which to filter.
|
|
156
|
+
*/
|
|
157
|
+
filter(fn) {
|
|
158
|
+
const filtered = [];
|
|
159
|
+
this.forEach(value => {
|
|
160
|
+
if (fn(value)) {
|
|
161
|
+
filtered.push(value);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return filtered;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check if this tracker has the specified adapter.
|
|
168
|
+
*
|
|
169
|
+
* @param adapter - The adapter whose existence is being checked.
|
|
170
|
+
*/
|
|
171
|
+
has(adapter) {
|
|
172
|
+
return this._adapters.has(adapter);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/adapters/tracker.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKpD;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIlC;;;;OAIG;IACH,YAAY,OAAyC;QA+K7C,gBAAW,GAAG,KAAK,CAAC;QAEpB,aAAQ,GAAa,IAAI,CAAC;QAC1B,cAAS,GAAG,IAAI,GAAG,EAAK,CAAC;QACzB,kBAAa,GAAG,IAAI,MAAM,CAAU,IAAI,CAAC,CAAC;QAC1C,oBAAe,GAAG,IAAI,MAAM,CAAU,IAAI,CAAC,CAAC;QAC5C,oBAAe,GAAG,IAAI,MAAM,CAAiB,IAAI,CAAC,CAAC;QApLzD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5C,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE7B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EAAE;gBACtD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO;aACR;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAE9D,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;aACR;YAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAU;QACZ,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,MAAM,OAAO,GAAG,oCAAoC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC/B,MAAM,OAAO,GAAG,yCAAyC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE/B,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE;gBAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1C;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,uEAAuE;QACvE,+CAA+C;QAC/C,yEAAyE;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,cAAc,CAAC,EAAE;YAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,EAA2B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;gBACb,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,EAAwB;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAA2B;QAChC,MAAM,QAAQ,GAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;gBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CASF"}
|