@jupyterlab/lsp 4.1.0-alpha.1 → 4.1.0-alpha.2

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.
Files changed (42) hide show
  1. package/lib/adapters/adapter.d.ts +6 -3
  2. package/lib/adapters/adapter.js +21 -0
  3. package/lib/adapters/adapter.js.map +1 -1
  4. package/lib/adapters/editorAdapter.d.ts +74 -0
  5. package/lib/adapters/editorAdapter.js +53 -0
  6. package/lib/adapters/editorAdapter.js.map +1 -0
  7. package/lib/adapters/index.d.ts +3 -0
  8. package/lib/adapters/index.js +6 -0
  9. package/lib/adapters/index.js.map +1 -0
  10. package/lib/adapters/tracker.d.ts +106 -0
  11. package/lib/adapters/tracker.js +175 -0
  12. package/lib/adapters/tracker.js.map +1 -0
  13. package/lib/connection_manager.d.ts +11 -5
  14. package/lib/connection_manager.js +10 -0
  15. package/lib/connection_manager.js.map +1 -1
  16. package/lib/feature.d.ts +7 -2
  17. package/lib/feature.js +17 -4
  18. package/lib/feature.js.map +1 -1
  19. package/lib/index.d.ts +1 -1
  20. package/lib/index.js +1 -1
  21. package/lib/index.js.map +1 -1
  22. package/lib/lsp.d.ts +1 -0
  23. package/lib/lsp.js.map +1 -1
  24. package/lib/tokens.d.ts +132 -10
  25. package/lib/tokens.js +17 -0
  26. package/lib/tokens.js.map +1 -1
  27. package/lib/virtual/document.d.ts +1 -2
  28. package/lib/virtual/document.js +22 -5
  29. package/lib/virtual/document.js.map +1 -1
  30. package/package.json +10 -8
  31. package/src/adapters/adapter.ts +36 -4
  32. package/src/adapters/editorAdapter.ts +131 -0
  33. package/src/adapters/index.ts +6 -0
  34. package/src/adapters/tracker.ts +222 -0
  35. package/src/connection_manager.ts +23 -7
  36. package/src/feature.ts +20 -5
  37. package/src/index.ts +1 -1
  38. package/src/lsp.ts +2 -0
  39. package/src/tokens.ts +155 -13
  40. package/src/virtual/document.ts +26 -6
  41. package/style/index.css +2 -0
  42. 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. Since there is only one editor, this method always return
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
@@ -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,9 @@ 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);
59
63
  }
60
64
  /**
61
65
  * Check if the adapter is disposed
@@ -175,6 +179,8 @@ export class WidgetLSPAdapter {
175
179
  if (this._isDisposed) {
176
180
  return;
177
181
  }
182
+ this.editorAdded.disconnect(this._onEditorAdded, this);
183
+ this.editorRemoved.disconnect(this._onEditorRemoved, this);
178
184
  this._isDisposed = true;
179
185
  this.disconnect();
180
186
  this._virtualDocument = null;
@@ -363,6 +369,21 @@ export class WidgetLSPAdapter {
363
369
  await this.connectDocument(foreignDocument, true);
364
370
  foreignDocument.foreignDocumentClosed.connect(this._onForeignDocumentClosed, this);
365
371
  }
372
+ _onEditorAdded(sender, change) {
373
+ const { editor } = change;
374
+ const editorAdapter = new EditorAdapter({
375
+ editor: editor,
376
+ widgetAdapter: this,
377
+ extensions: this.options.featureManager.extensionFactories()
378
+ });
379
+ this._editorToAdapter.set(editor, editorAdapter);
380
+ }
381
+ _onEditorRemoved(sender, change) {
382
+ const { editor } = change;
383
+ const adapter = this._editorToAdapter.get(editor);
384
+ adapter === null || adapter === void 0 ? void 0 : adapter.dispose();
385
+ this._editorToAdapter.delete(editor);
386
+ }
366
387
  /**
367
388
  * Callback called when a foreign document is closed,
368
389
  * the associated signals with this virtual document
@@ -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,3 @@
1
+ export * from './adapter';
2
+ export * from './editorAdapter';
3
+ export * from './tracker';
@@ -0,0 +1,6 @@
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
3
+ export * from './adapter';
4
+ export * from './editorAdapter';
5
+ export * from './tracker';
6
+ //# sourceMappingURL=index.js.map
@@ -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":"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"}
@@ -1,9 +1,8 @@
1
- import { IDocumentWidget } from '@jupyterlab/docregistry';
2
1
  import { ISignal } from '@lumino/signaling';
3
- import { WidgetLSPAdapter } from './adapters/adapter';
2
+ import { WidgetLSPAdapter } from './adapters';
4
3
  import { LSPConnection } from './connection';
5
4
  import { AskServersToSendTraceNotifications } from './plugin';
6
- import { Document, IDocumentConnectionData, ILanguageServerManager, ILSPConnection, ILSPDocumentConnectionManager, ISocketConnectionOptions, TLanguageServerConfigurations, TLanguageServerId } from './tokens';
5
+ import { Document, IDocumentConnectionData, ILanguageServerManager, ILSPConnection, ILSPDocumentConnectionManager, ISocketConnectionOptions, IWidgetLSPAdapterTracker, TLanguageServerConfigurations, TLanguageServerId } from './tokens';
7
6
  import { VirtualDocument } from './virtual/document';
8
7
  /**
9
8
  * Each Widget with a document (whether file or a notebook) has the same DocumentConnectionManager
@@ -18,9 +17,10 @@ export declare class DocumentConnectionManager implements ILSPDocumentConnection
18
17
  */
19
18
  readonly connections: Map<VirtualDocument.uri, LSPConnection>;
20
19
  /**
20
+ * @deprecated
21
21
  * Map between the path of the document and its adapter
22
22
  */
23
- readonly adapters: Map<string, WidgetLSPAdapter<IDocumentWidget>>;
23
+ readonly adapters: Map<string, WidgetLSPAdapter>;
24
24
  /**
25
25
  * Map between the URI of the virtual document and the document itself.
26
26
  */
@@ -83,12 +83,14 @@ export declare class DocumentConnectionManager implements ILSPDocumentConnection
83
83
  */
84
84
  onForeignDocumentClosed(_host: VirtualDocument, context: Document.IForeignContext): void;
85
85
  /**
86
+ * @deprecated
87
+ *
86
88
  * Register a widget adapter with this manager
87
89
  *
88
90
  * @param path - path to the inner document of the adapter
89
91
  * @param adapter - the adapter to be registered
90
92
  */
91
- registerAdapter(path: string, adapter: WidgetLSPAdapter<IDocumentWidget>): void;
93
+ registerAdapter(path: string, adapter: WidgetLSPAdapter): void;
92
94
  /**
93
95
  * Handles the settings that do not require an existing connection
94
96
  * with a language server (or can influence to which server the
@@ -163,6 +165,10 @@ export declare namespace DocumentConnectionManager {
163
165
  * The language server manager instance.
164
166
  */
165
167
  languageServerManager: ILanguageServerManager;
168
+ /**
169
+ * The WidgetLSPAdapter's tracker.
170
+ */
171
+ adapterTracker: IWidgetLSPAdapterTracker;
166
172
  }
167
173
  /**
168
174
  * Generate the URI of a virtual document from input
@@ -70,6 +70,10 @@ export class DocumentConnectionManager {
70
70
  this._ignoredLanguages = new Set();
71
71
  this.languageServerManager = options.languageServerManager;
72
72
  Private.setLanguageServerManager(options.languageServerManager);
73
+ options.adapterTracker.adapterAdded.connect((_, adapter) => {
74
+ const path = adapter.widget.context.path;
75
+ this.registerAdapter(path, adapter);
76
+ });
73
77
  }
74
78
  /**
75
79
  * Signal emitted when the manager is initialized.
@@ -154,6 +158,8 @@ export class DocumentConnectionManager {
154
158
  this.disconnectDocumentSignals(foreignDocument);
155
159
  }
156
160
  /**
161
+ * @deprecated
162
+ *
157
163
  * Register a widget adapter with this manager
158
164
  *
159
165
  * @param path - path to the inner document of the adapter
@@ -161,6 +167,10 @@ export class DocumentConnectionManager {
161
167
  */
162
168
  registerAdapter(path, adapter) {
163
169
  this.adapters.set(path, adapter);
170
+ adapter.widget.context.pathChanged.connect((context, newPath) => {
171
+ this.adapters.delete(path);
172
+ this.adapters.set(newPath, adapter);
173
+ });
164
174
  adapter.disposed.connect(() => {
165
175
  if (adapter.virtualDocument) {
166
176
  this.documents.delete(adapter.virtualDocument.uri);