@pierre/diffs 1.4.0 → 1.4.1

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 (43) hide show
  1. package/dist/components/CodeView.d.ts +2 -0
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +36 -1
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts +7 -3
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +70 -53
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +7 -3
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +79 -49
  12. package/dist/components/FileDiff.js.map +1 -1
  13. package/dist/components/FileStream.js +1 -1
  14. package/dist/components/VirtualizedFile.d.ts +1 -0
  15. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  16. package/dist/components/VirtualizedFile.js +8 -8
  17. package/dist/components/VirtualizedFile.js.map +1 -1
  18. package/dist/components/VirtualizedFileDiff.d.ts +1 -0
  19. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  20. package/dist/components/VirtualizedFileDiff.js +8 -8
  21. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  22. package/dist/editor/editor.d.ts +1 -1
  23. package/dist/editor/editor.d.ts.map +1 -1
  24. package/dist/editor/editor.js +8 -4
  25. package/dist/editor/editor.js.map +1 -1
  26. package/dist/highlighter/shared_highlighter.d.ts +6 -2
  27. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  28. package/dist/highlighter/shared_highlighter.js +7 -3
  29. package/dist/highlighter/shared_highlighter.js.map +1 -1
  30. package/dist/highlighter/themes/areThemesAttached.js +1 -1
  31. package/dist/index.js +13 -13
  32. package/dist/renderers/DiffHunksRenderer.d.ts +1 -1
  33. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  34. package/dist/renderers/DiffHunksRenderer.js +8 -9
  35. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  36. package/dist/renderers/FileRenderer.d.ts +1 -1
  37. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  38. package/dist/renderers/FileRenderer.js +5 -5
  39. package/dist/renderers/FileRenderer.js.map +1 -1
  40. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  41. package/dist/worker/WorkerPoolManager.js +11 -2
  42. package/dist/worker/WorkerPoolManager.js.map +1 -1
  43. package/package.json +1 -1
@@ -265,6 +265,7 @@ var Editor = class {
265
265
  editor,
266
266
  lineAnnotations
267
267
  };
268
+ fileInstance.__acceptEditorChange(event);
268
269
  editor.#options.onChange?.(event);
269
270
  fileInstance.emitEditChange(event);
270
271
  };
@@ -279,6 +280,7 @@ var Editor = class {
279
280
  editor,
280
281
  lineAnnotations
281
282
  };
283
+ fileInstance.__acceptEditorChange(event);
282
284
  editor.#options.onChange?.(event);
283
285
  fileInstance.emitEditChange(event);
284
286
  };
@@ -612,8 +614,8 @@ var Editor = class {
612
614
  return snapshot != null ? cloneRetainedDiffSessionSnapshot(snapshot) : void 0;
613
615
  }
614
616
  /** @internal */
615
- __syncRenderView = (props) => {
616
- const { highlighter, fileContainer, renderRange, resetHistory = false } = props;
617
+ __syncRenderView(props) {
618
+ const { highlighter, fileContainer, renderRange, externalDocument = false } = props;
617
619
  const renderView = props;
618
620
  let fileOrDiff;
619
621
  if ("file" in renderView && this.type === "file") fileOrDiff = renderView.file;
@@ -621,7 +623,6 @@ var Editor = class {
621
623
  else throw new Error("Editor.__syncRenderView: Impossible render state");
622
624
  const lineAnnotations = renderView.lineAnnotations;
623
625
  const editStateKey = this.#editStateKey;
624
- const externalDocument = renderView.externalDocument === true;
625
626
  const fileInstance = this.#fileInstance;
626
627
  const editSession = this.#editSession;
627
628
  if (!this.#isRendering || fileInstance == null || editSession == null) return;
@@ -668,6 +669,7 @@ var Editor = class {
668
669
  const languageId = fileOrDiff.lang ?? getFiletypeFromFileName(fileOrDiff.name);
669
670
  const contents = "contents" in fileOrDiff ? fileOrDiff.contents : fileOrDiff.additionLines.join("");
670
671
  const previousTextDocument = editSession.document;
672
+ const resetHistory = props.resetHistory ?? (previousTextDocument != null && editSession.fileInfo != null && (editSession.fileInfo.name !== fileOrDiff.name || previousTextDocument.languageId !== languageId));
671
673
  const documentChanges = externalDocument && previousTextDocument !== void 0 && previousTextDocument.getText() !== contents ? [createFullDocumentChange(previousTextDocument.getText(), contents)] : void 0;
672
674
  const resetForExternalDocument = externalDocument && resetHistory;
673
675
  if (editSession.document == null || editSession.fileInfo == null || editStateKey == null && (editSession.fileInfo.name !== fileOrDiff.name || editSession.document.languageId !== languageId) || resetForExternalDocument) {
@@ -768,6 +770,7 @@ var Editor = class {
768
770
  const { startingLine, totalLines } = renderRange;
769
771
  console.log("[diffs/editor] render file:", fileOrDiff.name, "RenderRange:", startingLine + "-" + (startingLine + totalLines), "of", editSession.document?.lineCount, "lines");
770
772
  }
773
+ if (externalDocument) fileInstance.__acknowledgeDocumentUpdate();
771
774
  this.#checkpointEditSessionState();
772
775
  } catch (error) {
773
776
  this.#restoreEditorStateOnSync = restoreEditorStateOnSync;
@@ -776,7 +779,7 @@ var Editor = class {
776
779
  }
777
780
  if (documentChanges != null) this.#emitChange(documentChanges, lineAnnotations);
778
781
  this.#scheduleOnAttach(fileInstance);
779
- };
782
+ }
780
783
  #applyExternalDocumentReplacement(editSession, contents, lineAnnotations) {
781
784
  const textDocument = editSession.document;
782
785
  if (textDocument == null || textDocument.getText() === contents) return;
@@ -3403,6 +3406,7 @@ var Editor = class {
3403
3406
  }
3404
3407
  this.#rerender(change, newLineAnnotations, renderRange, shouldUpdateBuffer);
3405
3408
  if (newSelections != null) this.#updateSelections(newSelections);
3409
+ this.#fileInstance?.__acknowledgeDocumentUpdate();
3406
3410
  this.#checkpointEditSessionState();
3407
3411
  this.#recordEditPredictionHistory(change, options?.editSource ?? "user");
3408
3412
  this.#scheduleEditPrediction();