@jupyterlab/lsp 4.0.11 → 4.0.12

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.
@@ -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
  *
@@ -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,
@@ -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.0.11",
3
+ "version": "4.0.12",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -44,12 +44,12 @@
44
44
  "vscode-languageserver-protocol": "^3.17.0"
45
45
  },
46
46
  "dependencies": {
47
- "@jupyterlab/apputils": "^4.1.11",
48
- "@jupyterlab/codeeditor": "^4.0.11",
49
- "@jupyterlab/coreutils": "^6.0.11",
50
- "@jupyterlab/docregistry": "^4.0.11",
51
- "@jupyterlab/services": "^7.0.11",
52
- "@jupyterlab/translation": "^4.0.11",
47
+ "@jupyterlab/apputils": "^4.1.12",
48
+ "@jupyterlab/codeeditor": "^4.0.12",
49
+ "@jupyterlab/coreutils": "^6.0.12",
50
+ "@jupyterlab/docregistry": "^4.0.12",
51
+ "@jupyterlab/services": "^7.0.12",
52
+ "@jupyterlab/translation": "^4.0.12",
53
53
  "@lumino/coreutils": "^2.1.2",
54
54
  "@lumino/disposable": "^2.1.2",
55
55
  "@lumino/signaling": "^2.1.2",
@@ -59,7 +59,7 @@
59
59
  "vscode-ws-jsonrpc": "~1.0.2"
60
60
  },
61
61
  "devDependencies": {
62
- "@jupyterlab/testing": "^4.0.11",
62
+ "@jupyterlab/testing": "^4.0.12",
63
63
  "@types/jest": "^29.2.0",
64
64
  "@types/lodash.mergewith": "^4.6.1",
65
65
  "jest": "^29.2.0",
@@ -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