@pierre/diffs 1.3.0-beta.6 → 1.3.0-beta.8

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 (180) hide show
  1. package/dist/components/CodeView.d.ts +90 -5
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +291 -38
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts +1 -0
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +20 -6
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +38 -23
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +144 -61
  12. package/dist/components/FileDiff.js.map +1 -1
  13. package/dist/components/UnresolvedFile.d.ts +3 -2
  14. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  15. package/dist/components/UnresolvedFile.js +4 -2
  16. package/dist/components/UnresolvedFile.js.map +1 -1
  17. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  18. package/dist/components/VirtualizedFile.js +6 -8
  19. package/dist/components/VirtualizedFile.js.map +1 -1
  20. package/dist/components/VirtualizedFileDiff.d.ts +13 -5
  21. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  22. package/dist/components/VirtualizedFileDiff.js +192 -55
  23. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  24. package/dist/components/Virtualizer.d.ts +2 -0
  25. package/dist/components/Virtualizer.d.ts.map +1 -1
  26. package/dist/components/Virtualizer.js +16 -3
  27. package/dist/components/Virtualizer.js.map +1 -1
  28. package/dist/constants.d.ts +3 -1
  29. package/dist/constants.d.ts.map +1 -1
  30. package/dist/constants.js +3 -1
  31. package/dist/constants.js.map +1 -1
  32. package/dist/editor/command.d.ts +1 -1
  33. package/dist/editor/command.d.ts.map +1 -1
  34. package/dist/editor/command.js +8 -0
  35. package/dist/editor/command.js.map +1 -1
  36. package/dist/editor/editor.d.ts +10 -3
  37. package/dist/editor/editor.d.ts.map +1 -1
  38. package/dist/editor/editor.js +325 -135
  39. package/dist/editor/editor.js.map +1 -1
  40. package/dist/editor/editor2.js +1 -1
  41. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  42. package/dist/editor/lineAnnotations.js +84 -12
  43. package/dist/editor/lineAnnotations.js.map +1 -1
  44. package/dist/editor/marker.d.ts +5 -3
  45. package/dist/editor/marker.d.ts.map +1 -1
  46. package/dist/editor/marker.js +35 -12
  47. package/dist/editor/marker.js.map +1 -1
  48. package/dist/editor/matchBrackets.d.ts +8 -0
  49. package/dist/editor/matchBrackets.d.ts.map +1 -0
  50. package/dist/editor/matchBrackets.js +146 -0
  51. package/dist/editor/matchBrackets.js.map +1 -0
  52. package/dist/editor/popover.d.ts +45 -0
  53. package/dist/editor/popover.d.ts.map +1 -0
  54. package/dist/editor/popover.js +145 -0
  55. package/dist/editor/popover.js.map +1 -0
  56. package/dist/editor/selection.d.ts +14 -2
  57. package/dist/editor/selection.d.ts.map +1 -1
  58. package/dist/editor/selection.js +142 -41
  59. package/dist/editor/selection.js.map +1 -1
  60. package/dist/editor/selectionAction.d.ts +20 -3
  61. package/dist/editor/selectionAction.d.ts.map +1 -1
  62. package/dist/editor/selectionAction.js +41 -10
  63. package/dist/editor/selectionAction.js.map +1 -1
  64. package/dist/editor/textDocument.d.ts +2 -0
  65. package/dist/editor/textDocument.d.ts.map +1 -1
  66. package/dist/editor/textDocument.js +22 -6
  67. package/dist/editor/textDocument.js.map +1 -1
  68. package/dist/editor/textMeasure.d.ts.map +1 -1
  69. package/dist/editor/textMeasure.js +25 -7
  70. package/dist/editor/textMeasure.js.map +1 -1
  71. package/dist/editor/tokenzier.d.ts +6 -7
  72. package/dist/editor/tokenzier.d.ts.map +1 -1
  73. package/dist/editor/tokenzier.js +83 -34
  74. package/dist/editor/tokenzier.js.map +1 -1
  75. package/dist/editor/utils.d.ts +3 -1
  76. package/dist/editor/utils.d.ts.map +1 -1
  77. package/dist/editor/utils.js +14 -1
  78. package/dist/editor/utils.js.map +1 -1
  79. package/dist/index.d.ts +9 -7
  80. package/dist/index.js +6 -4
  81. package/dist/managers/InteractionManager.d.ts.map +1 -1
  82. package/dist/managers/InteractionManager.js +0 -1
  83. package/dist/managers/InteractionManager.js.map +1 -1
  84. package/dist/managers/ResizeManager.d.ts +10 -2
  85. package/dist/managers/ResizeManager.d.ts.map +1 -1
  86. package/dist/managers/ResizeManager.js +33 -13
  87. package/dist/managers/ResizeManager.js.map +1 -1
  88. package/dist/react/CodeView.d.ts +25 -1
  89. package/dist/react/CodeView.d.ts.map +1 -1
  90. package/dist/react/CodeView.js +76 -17
  91. package/dist/react/CodeView.js.map +1 -1
  92. package/dist/react/EditorContext.d.ts +2 -2
  93. package/dist/react/EditorContext.d.ts.map +1 -1
  94. package/dist/react/EditorContext.js.map +1 -1
  95. package/dist/react/MultiFileDiff.d.ts +3 -4
  96. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  97. package/dist/react/MultiFileDiff.js.map +1 -1
  98. package/dist/react/index.d.ts +2 -2
  99. package/dist/react/utils/useFileDiffInstance.js +14 -15
  100. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  101. package/dist/renderers/DiffHunksRenderer.d.ts +2 -2
  102. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  103. package/dist/renderers/DiffHunksRenderer.js +45 -23
  104. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  105. package/dist/renderers/FileRenderer.d.ts +2 -1
  106. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  107. package/dist/renderers/FileRenderer.js +58 -38
  108. package/dist/renderers/FileRenderer.js.map +1 -1
  109. package/dist/ssr/index.d.ts +2 -2
  110. package/dist/ssr/preloadDiffs.d.ts +11 -10
  111. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  112. package/dist/ssr/preloadDiffs.js +14 -6
  113. package/dist/ssr/preloadDiffs.js.map +1 -1
  114. package/dist/types.d.ts +100 -6
  115. package/dist/types.d.ts.map +1 -1
  116. package/dist/utils/applyLineTextWithNewline.d.ts +5 -0
  117. package/dist/utils/applyLineTextWithNewline.d.ts.map +1 -0
  118. package/dist/utils/applyLineTextWithNewline.js +11 -0
  119. package/dist/utils/applyLineTextWithNewline.js.map +1 -0
  120. package/dist/utils/areHunkDataEqual.js +1 -1
  121. package/dist/utils/areHunkDataEqual.js.map +1 -1
  122. package/dist/utils/areManagedSnapshotsEqual.d.ts +2 -2
  123. package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  124. package/dist/utils/areManagedSnapshotsEqual.js +5 -0
  125. package/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  126. package/dist/utils/awaitWithTimeout.d.ts +5 -0
  127. package/dist/utils/awaitWithTimeout.d.ts.map +1 -0
  128. package/dist/utils/awaitWithTimeout.js +15 -0
  129. package/dist/utils/awaitWithTimeout.js.map +1 -0
  130. package/dist/utils/cloneFileDiffMetadata.d.ts +7 -0
  131. package/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -0
  132. package/dist/utils/cloneFileDiffMetadata.js +16 -0
  133. package/dist/utils/cloneFileDiffMetadata.js.map +1 -0
  134. package/dist/utils/computeEstimatedDiffHeights.d.ts +3 -1
  135. package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  136. package/dist/utils/computeEstimatedDiffHeights.js +8 -1
  137. package/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
  138. package/dist/utils/createCodeViewHeaderFooterHostElement.d.ts +5 -0
  139. package/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -0
  140. package/dist/utils/createCodeViewHeaderFooterHostElement.js +19 -0
  141. package/dist/utils/createCodeViewHeaderFooterHostElement.js.map +1 -0
  142. package/dist/utils/createPreElement.js +0 -1
  143. package/dist/utils/createPreElement.js.map +1 -1
  144. package/dist/utils/getDiffFileInput.d.ts +14 -0
  145. package/dist/utils/getDiffFileInput.d.ts.map +1 -0
  146. package/dist/utils/getDiffFileInput.js +24 -0
  147. package/dist/utils/getDiffFileInput.js.map +1 -0
  148. package/dist/utils/getDiffHunksRendererOptions.js +1 -0
  149. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  150. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  151. package/dist/utils/getFiletypeFromFileName.js +2 -0
  152. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  153. package/dist/utils/hydratePartialDiff.d.ts +10 -0
  154. package/dist/utils/hydratePartialDiff.d.ts.map +1 -0
  155. package/dist/utils/hydratePartialDiff.js +140 -0
  156. package/dist/utils/hydratePartialDiff.js.map +1 -0
  157. package/dist/utils/iterateOverDiff.js +3 -3
  158. package/dist/utils/iterateOverDiff.js.map +1 -1
  159. package/dist/utils/parseDiffFromFile.d.ts +1 -1
  160. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  161. package/dist/utils/parseDiffFromFile.js +26 -5
  162. package/dist/utils/parseDiffFromFile.js.map +1 -1
  163. package/dist/utils/setWrapperNodeProps.js +0 -1
  164. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  165. package/dist/utils/updateDiffHunks.d.ts +5 -1
  166. package/dist/utils/updateDiffHunks.d.ts.map +1 -1
  167. package/dist/utils/updateDiffHunks.js +48 -4
  168. package/dist/utils/updateDiffHunks.js.map +1 -1
  169. package/dist/worker/WorkerPoolManager.d.ts +7 -2
  170. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  171. package/dist/worker/WorkerPoolManager.js +78 -15
  172. package/dist/worker/WorkerPoolManager.js.map +1 -1
  173. package/dist/worker/index.d.ts +2 -2
  174. package/dist/worker/types.d.ts +7 -1
  175. package/dist/worker/types.d.ts.map +1 -1
  176. package/dist/worker/worker-portable.js +5 -3
  177. package/dist/worker/worker-portable.js.map +1 -1
  178. package/dist/worker/worker.js +5 -3
  179. package/dist/worker/worker.js.map +1 -1
  180. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewLayout, CodeViewScrollTarget, HunkSeparators, SelectedLineRange, SmoothScrollSettings, VirtualFileMetrics, VirtualWindowSpecs } from "../types.js";
1
+ import { CodeViewCreateEditorOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewLayout, CodeViewScrollTarget, DiffLineAnnotation, DiffsEditorHost, FileContents, HunkSeparators, SelectedLineRange, SmoothScrollSettings, VirtualFileMetrics, VirtualWindowSpecs } from "../types.js";
2
2
  import { SelectionWriteOptions } from "../managers/InteractionManager.js";
3
3
  import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
4
4
  import { FileOptions } from "./File.js";
@@ -54,6 +54,11 @@ interface CodeViewRenderedFileItem<LAnnotation> {
54
54
  instance: VirtualizedFile<LAnnotation>;
55
55
  }
56
56
  type CodeViewRenderedItem<LAnnotation> = CodeViewRenderedDiffItem<LAnnotation> | CodeViewRenderedFileItem<LAnnotation>;
57
+ interface CodeViewSlotSnapshot<LAnnotation> {
58
+ items: CodeViewRenderedItem<LAnnotation>[] | undefined;
59
+ header: HTMLElement | undefined;
60
+ footer: HTMLElement | undefined;
61
+ }
57
62
  interface CodeViewLineSelection {
58
63
  id: string;
59
64
  range: SelectedLineRange;
@@ -62,7 +67,7 @@ interface CodeViewCoordinator<LAnnotation> {
62
67
  hasHeaderRenderers: boolean;
63
68
  hasAnnotationRenderer: boolean;
64
69
  hasGutterRenderer: boolean;
65
- onSnapshotChange(snapshot: CodeViewRenderedItem<LAnnotation>[] | undefined): void;
70
+ onSnapshotChange(snapshot: CodeViewSlotSnapshot<LAnnotation> | undefined): void;
66
71
  }
67
72
  type CodeViewScrollListener<LAnnotation> = (scrollTop: number, viewer: CodeView<LAnnotation>) => void;
68
73
  type OverloadCallbackArgs<TCallback> = TCallback extends ((...args: infer TArgs) => unknown) ? TArgs : never;
@@ -73,8 +78,9 @@ type CodeViewOptionCallback<LAnnotation, TKey extends keyof FileOptions<LAnnotat
73
78
  (...args: [...OverloadFileCallbackArgs<LAnnotation, TKey>, context: CodeViewFileItemContext<LAnnotation>]): CallbackReturn<NonNullable<FileOptions<LAnnotation>[TKey]>>;
74
79
  (...args: [...OverloadDiffCallbackArgs<LAnnotation, TKey>, context: CodeViewDiffItemContext<LAnnotation>]): CallbackReturn<NonNullable<FileDiffOptions<LAnnotation>[TKey]>>;
75
80
  };
76
- declare const CODE_VIEW_DIFF_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'diffStyle', 'diffIndicators', 'disableBackground', 'expandUnchanged', 'collapsedContextThreshold', 'lineDiffType', 'maxLineDiffLength', 'expansionLineCount', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
81
+ declare const CODE_VIEW_DIFF_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'diffStyle', 'diffIndicators', 'disableBackground', 'expandUnchanged', 'loadDiffFiles', 'collapsedContextThreshold', 'lineDiffType', 'maxLineDiffLength', 'expansionLineCount', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
77
82
  type CodeViewDiffOptionKeys = (typeof CODE_VIEW_DIFF_OPTION_KEYS)[number];
83
+ declare const CODE_VIEW_FILE_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
78
84
  type CodeViewPassThroughOptions<LAnnotation> = Pick<FileDiffOptions<LAnnotation>, CodeViewDiffOptionKeys>;
79
85
  declare const CODE_VIEW_SHARED_CALLBACK_KEYS: readonly ['renderCustomHeader', 'renderHeaderPrefix', 'renderHeaderFilenameSuffix', 'renderHeaderMetadata', 'renderAnnotation', 'renderGutterUtility', 'onPostRender', 'onGutterUtilityClick', 'onLineClick', 'onLineNumberClick', 'onLineEnter', 'onLineLeave', 'onTokenClick', 'onTokenEnter', 'onTokenLeave'];
80
86
  declare const CODE_VIEW_SELECTION_CALLBACK_KEYS: readonly ['onLineSelected', 'onLineSelectionStart', 'onLineSelectionChange', 'onLineSelectionEnd'];
@@ -91,6 +97,45 @@ interface CodeViewOptions<LAnnotation> extends CodeViewPassThroughOptions<LAnnot
91
97
  controlledSelection?: boolean;
92
98
  onSelectedLinesChange?(selection: CodeViewLineSelection | null): void;
93
99
  layout?: CodeViewLayout;
100
+ /**
101
+ * Create an editor for an item entering edit mode (`edit: true`). Providing
102
+ * this option is what enables item editing. Pass the given options into the
103
+ * editor constructor — `new Editor(options)` — so CodeView can route
104
+ * document changes to `onItemEditChange`. CodeView owns the returned
105
+ * editor's lifecycle: it attaches when the edited item mounts, re-attaches
106
+ * across virtualization unmounts, and cleans the editor up once the item
107
+ * stops being editable (edit off, collapsed, or removed). Returning
108
+ * undefined declines the attach; CodeView retries on later render passes.
109
+ */
110
+ createEditor?(options: CodeViewCreateEditorOptions<LAnnotation>): DiffsEditorHost<LAnnotation> | undefined;
111
+ /**
112
+ * Called when an edited item's document changes, with the owning item
113
+ * resolved by CodeView.
114
+ */
115
+ onItemEditChange?(item: CodeViewItem<LAnnotation>, file: FileContents, lineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;
116
+ /**
117
+ * Called once when an item's edit session ends — edit turned off, item
118
+ * removed (including a controlled `setItems([])` that empties the list),
119
+ * item collapsed, or `createEditor` unset — with the final contents from
120
+ * the session's last document change. Not called when the session produced
121
+ * no changes, nor on a direct `reset()`/`cleanUp()` teardown.
122
+ *
123
+ * Committing is user-space: CodeView never writes item data itself. The
124
+ * recommended handler makes one combined item write (`updateItem` with a
125
+ * `version` bump) carrying the new file/fileDiff — with a fresh `cacheKey`,
126
+ * since the delivered contents differ from what the old key cached — along
127
+ * with `edit: false`.
128
+ */
129
+ onItemEditComplete?(item: CodeViewItem<LAnnotation>, file: FileContents, lineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;
130
+ /** Render a non-virtualized element at the very start of the scroll content,
131
+ * before the first item. It is always rendered and scrolls with the content.
132
+ * Return the same element across calls and mutate it in place to update;
133
+ * height changes are measured automatically. */
134
+ renderCodeViewHeader?(): HTMLElement | undefined;
135
+ /** Render a non-virtualized element at the very end of the scroll content,
136
+ * after the last item. Always rendered; height changes are measured
137
+ * automatically. */
138
+ renderCodeViewFooter?(): HTMLElement | undefined;
94
139
  /** Internal dev-only check to ensure your `itemMetrics` are correct. Its
95
140
  * automatically disabled in a production build because it will hurt
96
141
  * performance fairly significantly */
@@ -104,6 +149,8 @@ declare class CodeView<LAnnotation = undefined> {
104
149
  private items;
105
150
  private idToItem;
106
151
  private selectedLines;
152
+ private itemEditors;
153
+ private attachedEditors;
107
154
  private instanceToItem;
108
155
  private layoutDirtyIndex;
109
156
  private pendingLayoutReset;
@@ -135,15 +182,19 @@ declare class CodeView<LAnnotation = undefined> {
135
182
  private container;
136
183
  private stickyContainer;
137
184
  private stickyOffset;
185
+ private header;
186
+ private footer;
138
187
  private elementPool;
139
188
  private elementPoolVersion;
140
189
  private elementPoolTracker;
141
190
  private pendingElementPool;
142
191
  private options;
143
192
  private workerManager;
193
+ private isReadySubscription;
144
194
  private isContainerManaged;
145
195
  constructor(options?: CodeViewOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);
146
196
  private getLayout;
197
+ private getItemTopOffset;
147
198
  private computeMetricsCache;
148
199
  private getSmoothScrollSettings;
149
200
  private shouldDisablePointerEvents;
@@ -154,6 +205,10 @@ declare class CodeView<LAnnotation = undefined> {
154
205
  private suspendScrollInteractions;
155
206
  private restoreScrollInteractions;
156
207
  private syncLayout;
208
+ private reconcileHeaderFooterHosts;
209
+ private reconcileHost;
210
+ private setHostHeight;
211
+ private measureMountedHosts;
157
212
  setup(root: HTMLElement): void;
158
213
  reset(): void;
159
214
  cleanUp(): void;
@@ -179,6 +234,12 @@ declare class CodeView<LAnnotation = undefined> {
179
234
  getSelectedLines(): CodeViewLineSelection | null;
180
235
  clearSelectedLines(options?: SelectionWriteOptions): void;
181
236
  getItem(itemId: string): CodeViewItem<LAnnotation> | undefined;
237
+ /**
238
+ * Get the live editor for an item currently in edit mode. Use this to drive
239
+ * editor APIs CodeView does not wrap (applyEdits, undo, setMarkers, …).
240
+ * Returns undefined once the item leaves edit mode.
241
+ */
242
+ getEditor(itemId: string): DiffsEditorHost<LAnnotation> | undefined;
182
243
  updateItem(input: CodeViewItem<LAnnotation>): boolean;
183
244
  updateItemId(oldId: string, newId: string): boolean;
184
245
  addItem(input: CodeViewItem<LAnnotation>): void;
@@ -196,18 +257,42 @@ declare class CodeView<LAnnotation = undefined> {
196
257
  setOptions(options: CodeViewOptions<LAnnotation> | undefined): void;
197
258
  private capturePendingLayoutAnchor;
198
259
  render(immediate?: boolean): void;
260
+ private isReady;
261
+ private clearReadySubscription;
199
262
  instanceChanged(instance: VirtualizedFile<LAnnotation> | VirtualizedFileDiff<LAnnotation>, layoutDirty: boolean): void;
200
263
  getWindowSpecs(): VirtualWindowSpecs;
201
264
  getContainerElement(): HTMLElement | undefined;
265
+ getHeaderElement(): HTMLElement | undefined;
266
+ getFooterElement(): HTMLElement | undefined;
202
267
  getRenderedItems(): CodeViewRenderedItem<LAnnotation>[];
203
268
  setSlotCoordinator(coordinator?: CodeViewCoordinator<LAnnotation>): boolean;
204
- getSlotSnapshot(coordinator: CodeViewCoordinator<LAnnotation>): CodeViewRenderedItem<LAnnotation>[] | undefined;
269
+ getSlotSnapshot(coordinator: CodeViewCoordinator<LAnnotation>): CodeViewSlotSnapshot<LAnnotation> | undefined;
270
+ private buildSlotSnapshot;
205
271
  subscribeToScroll(listener: CodeViewScrollListener<LAnnotation>): () => void;
206
272
  getLocalTopForInstance(instance: VirtualizedFile<LAnnotation> | VirtualizedFileDiff<LAnnotation>): number;
207
273
  getTopForItem(id: string): number | undefined;
208
274
  private createItem;
209
275
  private applySelectedLines;
210
276
  private syncSelection;
277
+ private isItemInEditMode;
278
+ private isReceiverEdited;
279
+ /**
280
+ * Attach (or lazily create) the editor for a mounted edit-mode item. Called
281
+ * from the render loop so every mounted item passes through it: fresh
282
+ * mounts, remounts after virtualization released the item, and items whose
283
+ * edit flag was just turned on. Editors persist across unmounts, so a
284
+ * remounted item re-attaches its existing editor and resumes the retained
285
+ * document; the renderers keep the host's file/diff data in sync with the
286
+ * session so the remount paints the edited text.
287
+ */
288
+ private attachItemEditor;
289
+ /**
290
+ * Drop editors for items that can no longer be edited: removed, edit turned
291
+ * off, collapsed, or the createEditor option was unset. Attachment happens
292
+ * in the render loop via attachItemEditor, so this only reconciles editors
293
+ * CodeView is already holding.
294
+ */
295
+ private syncItemEditors;
211
296
  private renamePendingScrollTarget;
212
297
  private renamePendingLayoutAnchor;
213
298
  private createFileOptionsPrototype;
@@ -385,5 +470,5 @@ declare class CodeView<LAnnotation = undefined> {
385
470
  private getFitPerfectlyOverscroll;
386
471
  }
387
472
  //#endregion
388
- export { CodeView, CodeViewCoordinator, CodeViewLineSelection, CodeViewOptions, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, CodeViewScrollListener };
473
+ export { CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CodeView, CodeViewCoordinator, CodeViewLineSelection, CodeViewOptions, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, CodeViewScrollListener, CodeViewSlotSnapshot };
389
474
  //# sourceMappingURL=CodeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}
1
+ {"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}