@jupyterlab/lsp 4.1.0-alpha.2 → 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.
@@ -255,4 +255,18 @@ export declare abstract class WidgetLSPAdapter<T extends IDocumentWidget = IDocu
255
255
  * more resilient and editor-independent.
256
256
  */
257
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;
258
272
  }
@@ -60,6 +60,8 @@ export class WidgetLSPAdapter {
60
60
  this._editorToAdapter = new WeakMap();
61
61
  this.editorAdded.connect(this._onEditorAdded, this);
62
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);
63
65
  }
64
66
  /**
65
67
  * Check if the adapter is disposed
@@ -181,6 +183,8 @@ export class WidgetLSPAdapter {
181
183
  }
182
184
  this.editorAdded.disconnect(this._onEditorAdded, this);
183
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);
184
188
  this._isDisposed = true;
185
189
  this.disconnect();
186
190
  this._virtualDocument = null;
@@ -351,10 +355,9 @@ export class WidgetLSPAdapter {
351
355
  */
352
356
  initVirtual() {
353
357
  var _a;
354
- const { model } = this.widget.context;
355
358
  (_a = this._virtualDocument) === null || _a === void 0 ? void 0 : _a.dispose();
356
359
  this._virtualDocument = this.createVirtualDocument();
357
- model.contentChanged.connect(this._onContentChanged, this);
360
+ this._onLspSessionOrFeatureChanged();
358
361
  }
359
362
  /**
360
363
  * Handler for opening a document contained in a parent document. The assumption
@@ -459,5 +462,34 @@ export class WidgetLSPAdapter {
459
462
  this._updateFinished = promise.catch(console.warn);
460
463
  await this.updateFinished;
461
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
+ }
462
494
  }
463
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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"}
@@ -355,6 +355,11 @@ export declare class VirtualDocument implements IDisposable {
355
355
  * to the virtual document and those do not exist in the source document.
356
356
  */
357
357
  transformVirtualToSource(position: IVirtualPosition): ISourcePosition | null;
358
+ /**
359
+ * Compute the position in root document from the position of
360
+ * a virtual document.
361
+ */
362
+ transformVirtualToRoot(position: IVirtualPosition): IRootPosition | null;
358
363
  /**
359
364
  * Get the corresponding editor of the virtual line.
360
365
  */
@@ -395,7 +400,7 @@ export declare class VirtualDocument implements IDisposable {
395
400
  /**
396
401
  * Get the foreign document that can be opened with the input extractor.
397
402
  */
398
- private chooseForeignDocument;
403
+ private _chooseForeignDocument;
399
404
  /**
400
405
  * Create a foreign document from input language and file extension.
401
406
  *
@@ -85,7 +85,7 @@ export class VirtualDocumentInfo {
85
85
  * No dependency on editor implementation (such as CodeMirrorEditor)
86
86
  * is allowed for VirtualEditor.
87
87
  */
88
- class VirtualDocument {
88
+ export class VirtualDocument {
89
89
  constructor(options) {
90
90
  /**
91
91
  * Number of blank lines appended to the virtual document between
@@ -232,11 +232,14 @@ class VirtualDocument {
232
232
  * Clear the virtual document and all related stuffs
233
233
  */
234
234
  clear() {
235
+ this.unusedStandaloneDocuments.clear();
235
236
  for (let document of this.foreignDocuments.values()) {
236
237
  document.clear();
238
+ if (document.standalone) {
239
+ let set = this.unusedStandaloneDocuments.get(document.language);
240
+ set.push(document);
241
+ }
237
242
  }
238
- // TODO - deep clear (assure that there is no memory leak)
239
- this.unusedStandaloneDocuments.clear();
240
243
  this.virtualLines.clear();
241
244
  this.sourceLines.clear();
242
245
  this.lastVirtualLine = 0;
@@ -438,7 +441,7 @@ class VirtualDocument {
438
441
  console.log('Failure in foreign code extraction: `range` is null but `foreign_code` is not!');
439
442
  continue;
440
443
  }
441
- let foreignDocument = this.chooseForeignDocument(extractor);
444
+ let foreignDocument = this._chooseForeignDocument(extractor);
442
445
  foreignDocumentsMap.set(result.range, {
443
446
  virtualLine: foreignDocument.lastVirtualLine,
444
447
  virtualDocument: foreignDocument,
@@ -567,6 +570,19 @@ class VirtualDocument {
567
570
  line: line
568
571
  };
569
572
  }
573
+ /**
574
+ * Compute the position in root document from the position of
575
+ * a virtual document.
576
+ */
577
+ transformVirtualToRoot(position) {
578
+ var _a;
579
+ const editor = (_a = this.virtualLines.get(position.line)) === null || _a === void 0 ? void 0 : _a.editor;
580
+ const editorPosition = this.transformVirtualToEditor(position);
581
+ if (!editor || !editorPosition) {
582
+ return null;
583
+ }
584
+ return this.root.transformFromEditorToRoot(editor, editorPosition);
585
+ }
570
586
  /**
571
587
  * Get the corresponding editor of the virtual line.
572
588
  */
@@ -618,7 +634,7 @@ class VirtualDocument {
618
634
  /**
619
635
  * Get the foreign document that can be opened with the input extractor.
620
636
  */
621
- chooseForeignDocument(extractor) {
637
+ _chooseForeignDocument(extractor) {
622
638
  let foreignDocument;
623
639
  // if not standalone, try to append to existing document
624
640
  let foreignExists = this.foreignDocuments.has(extractor.language);
@@ -628,7 +644,13 @@ class VirtualDocument {
628
644
  else {
629
645
  // if (previous document does not exists) or (extractor produces standalone documents
630
646
  // and no old standalone document could be reused): create a new document
631
- foreignDocument = this.openForeign(extractor.language, extractor.standalone, extractor.fileExtension);
647
+ let unusedStandalone = this.unusedStandaloneDocuments.get(extractor.language);
648
+ if (extractor.standalone && unusedStandalone.length > 0) {
649
+ foreignDocument = unusedStandalone.pop();
650
+ }
651
+ else {
652
+ foreignDocument = this.openForeign(extractor.language, extractor.standalone, extractor.fileExtension);
653
+ }
632
654
  }
633
655
  return foreignDocument;
634
656
  }
@@ -640,7 +662,7 @@ class VirtualDocument {
640
662
  * @param fileExtension - File extension.
641
663
  */
642
664
  openForeign(language, standalone, fileExtension) {
643
- let document = new VirtualDocument({
665
+ let document = new this.constructor({
644
666
  ...this.options,
645
667
  parent: this,
646
668
  standalone: standalone,
@@ -692,7 +714,6 @@ class VirtualDocument {
692
714
  }
693
715
  }
694
716
  VirtualDocument.instancesCount = 0;
695
- export { VirtualDocument };
696
717
  /**
697
718
  * Create foreign documents if available from input virtual documents.
698
719
  * @param virtualDocument - the virtual document to be collected
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/virtual/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/virtual/document.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/lsp",
3
- "version": "4.1.0-alpha.2",
3
+ "version": "4.1.0-alpha.3",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -41,13 +41,13 @@
41
41
  "watch": "tsc -b --watch"
42
42
  },
43
43
  "dependencies": {
44
- "@jupyterlab/apputils": "^4.2.0-alpha.2",
45
- "@jupyterlab/codeeditor": "^4.1.0-alpha.2",
46
- "@jupyterlab/codemirror": "^4.1.0-alpha.2",
47
- "@jupyterlab/coreutils": "^6.1.0-alpha.2",
48
- "@jupyterlab/docregistry": "^4.1.0-alpha.2",
49
- "@jupyterlab/services": "^7.1.0-alpha.2",
50
- "@jupyterlab/translation": "^4.1.0-alpha.2",
44
+ "@jupyterlab/apputils": "^4.2.0-alpha.3",
45
+ "@jupyterlab/codeeditor": "^4.1.0-alpha.3",
46
+ "@jupyterlab/codemirror": "^4.1.0-alpha.3",
47
+ "@jupyterlab/coreutils": "^6.1.0-alpha.3",
48
+ "@jupyterlab/docregistry": "^4.1.0-alpha.3",
49
+ "@jupyterlab/services": "^7.1.0-alpha.3",
50
+ "@jupyterlab/translation": "^4.1.0-alpha.3",
51
51
  "@lumino/coreutils": "^2.1.2",
52
52
  "@lumino/disposable": "^2.1.2",
53
53
  "@lumino/signaling": "^2.1.2",
@@ -58,13 +58,13 @@
58
58
  "vscode-ws-jsonrpc": "~1.0.2"
59
59
  },
60
60
  "devDependencies": {
61
- "@jupyterlab/testing": "^4.1.0-alpha.2",
61
+ "@jupyterlab/testing": "^4.1.0-alpha.3",
62
62
  "@types/jest": "^29.2.0",
63
63
  "@types/lodash.mergewith": "^4.6.1",
64
64
  "jest": "^29.2.0",
65
65
  "json-schema-to-typescript": "^8.0.0",
66
- "rimraf": "~3.0.0",
67
- "typescript": "~5.0.4"
66
+ "rimraf": "~5.0.5",
67
+ "typescript": "~5.1.6"
68
68
  },
69
69
  "publishConfig": {
70
70
  "access": "public"
@@ -97,6 +97,14 @@ export abstract class WidgetLSPAdapter<
97
97
  this._editorToAdapter = new WeakMap();
98
98
  this.editorAdded.connect(this._onEditorAdded, this);
99
99
  this.editorRemoved.connect(this._onEditorRemoved, this);
100
+ this._connectionManager.languageServerManager.sessionsChanged.connect(
101
+ this._onLspSessionOrFeatureChanged,
102
+ this
103
+ );
104
+ this.options.featureManager.featureRegistered.connect(
105
+ this._onLspSessionOrFeatureChanged,
106
+ this
107
+ );
100
108
  }
101
109
 
102
110
  /**
@@ -271,6 +279,14 @@ export abstract class WidgetLSPAdapter<
271
279
  }
272
280
  this.editorAdded.disconnect(this._onEditorAdded, this);
273
281
  this.editorRemoved.disconnect(this._onEditorRemoved, this);
282
+ this._connectionManager.languageServerManager.sessionsChanged.disconnect(
283
+ this._onLspSessionOrFeatureChanged,
284
+ this
285
+ );
286
+ this.options.featureManager.featureRegistered.disconnect(
287
+ this._onLspSessionOrFeatureChanged,
288
+ this
289
+ );
274
290
  this._isDisposed = true;
275
291
  this.disconnect();
276
292
  this._virtualDocument = null;
@@ -531,10 +547,9 @@ export abstract class WidgetLSPAdapter<
531
547
  * Create the virtual document using current path and language.
532
548
  */
533
549
  protected initVirtual(): void {
534
- const { model } = this.widget.context;
535
550
  this._virtualDocument?.dispose();
536
551
  this._virtualDocument = this.createVirtualDocument();
537
- model.contentChanged.connect(this._onContentChanged, this);
552
+ this._onLspSessionOrFeatureChanged();
538
553
  }
539
554
 
540
555
  /**
@@ -718,4 +733,38 @@ export abstract class WidgetLSPAdapter<
718
733
  this._updateFinished = promise.catch(console.warn);
719
734
  await this.updateFinished;
720
735
  }
736
+
737
+ /**
738
+ * Check if the virtual document should be updated on content
739
+ * changed signal. Returns `true` if two following conditions are
740
+ * are satisfied:
741
+ * - The LSP feature is enabled.
742
+ * - The LSP features list is not empty.
743
+ */
744
+ private _shouldUpdateVirtualDocument(): boolean {
745
+ const { languageServerManager } = this.connectionManager;
746
+ return (
747
+ languageServerManager.isEnabled &&
748
+ this.options.featureManager.features.length > 0
749
+ );
750
+ }
751
+
752
+ /**
753
+ * Connect the virtual document update handler with the content
754
+ * updated signal.This method is invoked at startup and when
755
+ * the LSP server status changed or when a LSP feature is registered.
756
+ */
757
+ private _onLspSessionOrFeatureChanged(): void {
758
+ if (!this._virtualDocument) {
759
+ return;
760
+ }
761
+
762
+ const { model } = this.widget.context;
763
+
764
+ if (this._shouldUpdateVirtualDocument()) {
765
+ model.contentChanged.connect(this._onContentChanged, this);
766
+ } else {
767
+ model.contentChanged.disconnect(this._onContentChanged, this);
768
+ }
769
+ }
721
770
  }
@@ -461,13 +461,16 @@ export class VirtualDocument implements IDisposable {
461
461
  * Clear the virtual document and all related stuffs
462
462
  */
463
463
  clear(): void {
464
+ this.unusedStandaloneDocuments.clear();
465
+
464
466
  for (let document of this.foreignDocuments.values()) {
465
467
  document.clear();
468
+ if (document.standalone) {
469
+ let set = this.unusedStandaloneDocuments.get(document.language);
470
+ set.push(document);
471
+ }
466
472
  }
467
473
 
468
- // TODO - deep clear (assure that there is no memory leak)
469
- this.unusedStandaloneDocuments.clear();
470
-
471
474
  this.virtualLines.clear();
472
475
  this.sourceLines.clear();
473
476
  this.lastVirtualLine = 0;
@@ -739,7 +742,7 @@ export class VirtualDocument implements IDisposable {
739
742
  );
740
743
  continue;
741
744
  }
742
- let foreignDocument = this.chooseForeignDocument(extractor);
745
+ let foreignDocument = this._chooseForeignDocument(extractor);
743
746
  foreignDocumentsMap.set(result.range, {
744
747
  virtualLine: foreignDocument.lastVirtualLine,
745
748
  virtualDocument: foreignDocument,
@@ -888,6 +891,19 @@ export class VirtualDocument implements IDisposable {
888
891
  } as ISourcePosition;
889
892
  }
890
893
 
894
+ /**
895
+ * Compute the position in root document from the position of
896
+ * a virtual document.
897
+ */
898
+ transformVirtualToRoot(position: IVirtualPosition): IRootPosition | null {
899
+ const editor = this.virtualLines.get(position.line)?.editor;
900
+ const editorPosition = this.transformVirtualToEditor(position);
901
+ if (!editor || !editorPosition) {
902
+ return null;
903
+ }
904
+ return this.root.transformFromEditorToRoot(editor, editorPosition);
905
+ }
906
+
891
907
  /**
892
908
  * Get the corresponding editor of the virtual line.
893
909
  */
@@ -965,7 +981,7 @@ export class VirtualDocument implements IDisposable {
965
981
  /**
966
982
  * Get the foreign document that can be opened with the input extractor.
967
983
  */
968
- private chooseForeignDocument(
984
+ private _chooseForeignDocument(
969
985
  extractor: IForeignCodeExtractor
970
986
  ): VirtualDocument {
971
987
  let foreignDocument: VirtualDocument;
@@ -976,11 +992,18 @@ export class VirtualDocument implements IDisposable {
976
992
  } else {
977
993
  // if (previous document does not exists) or (extractor produces standalone documents
978
994
  // and no old standalone document could be reused): create a new document
979
- foreignDocument = this.openForeign(
980
- extractor.language,
981
- extractor.standalone,
982
- extractor.fileExtension
995
+ let unusedStandalone = this.unusedStandaloneDocuments.get(
996
+ extractor.language
983
997
  );
998
+ if (extractor.standalone && unusedStandalone.length > 0) {
999
+ foreignDocument = unusedStandalone.pop()!;
1000
+ } else {
1001
+ foreignDocument = this.openForeign(
1002
+ extractor.language,
1003
+ extractor.standalone,
1004
+ extractor.fileExtension
1005
+ );
1006
+ }
984
1007
  }
985
1008
  return foreignDocument;
986
1009
  }
@@ -997,13 +1020,16 @@ export class VirtualDocument implements IDisposable {
997
1020
  standalone: boolean,
998
1021
  fileExtension: string
999
1022
  ): VirtualDocument {
1000
- let document = new VirtualDocument({
1023
+ let document = new (this.constructor as new (
1024
+ ...args: ConstructorParameters<typeof VirtualDocument>
1025
+ ) => VirtualDocument)({
1001
1026
  ...this.options,
1002
1027
  parent: this,
1003
1028
  standalone: standalone,
1004
1029
  fileExtension: fileExtension,
1005
1030
  language: language
1006
1031
  });
1032
+
1007
1033
  const context: Document.IForeignContext = {
1008
1034
  foreignDocument: document,
1009
1035
  parentHost: this