@pierre/diffs 1.3.0-beta.9 → 1.3.0-rc.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 (241) hide show
  1. package/README.md +9 -0
  2. package/dist/components/CodeView.d.ts +12 -13
  3. package/dist/components/CodeView.d.ts.map +1 -1
  4. package/dist/components/CodeView.js +50 -58
  5. package/dist/components/CodeView.js.map +1 -1
  6. package/dist/components/File.d.ts +10 -3
  7. package/dist/components/File.d.ts.map +1 -1
  8. package/dist/components/File.js +41 -10
  9. package/dist/components/File.js.map +1 -1
  10. package/dist/components/FileDiff.d.ts +37 -6
  11. package/dist/components/FileDiff.d.ts.map +1 -1
  12. package/dist/components/FileDiff.js +202 -19
  13. package/dist/components/FileDiff.js.map +1 -1
  14. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  15. package/dist/components/UnresolvedFile.js +7 -2
  16. package/dist/components/UnresolvedFile.js.map +1 -1
  17. package/dist/components/VirtualizedFile.d.ts +2 -1
  18. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  19. package/dist/components/VirtualizedFile.js +9 -5
  20. package/dist/components/VirtualizedFile.js.map +1 -1
  21. package/dist/components/VirtualizedFileDiff.d.ts +14 -0
  22. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  23. package/dist/components/VirtualizedFileDiff.js +61 -3
  24. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  25. package/dist/components/Virtualizer.d.ts +14 -2
  26. package/dist/components/Virtualizer.d.ts.map +1 -1
  27. package/dist/components/Virtualizer.js +27 -2
  28. package/dist/components/Virtualizer.js.map +1 -1
  29. package/dist/edit/index.d.ts +5 -0
  30. package/dist/edit/index.js +3 -0
  31. package/dist/editor/command.d.ts +1 -1
  32. package/dist/editor/command.d.ts.map +1 -1
  33. package/dist/editor/command.js +11 -0
  34. package/dist/editor/command.js.map +1 -1
  35. package/dist/editor/editStack.d.ts +6 -2
  36. package/dist/editor/editStack.d.ts.map +1 -1
  37. package/dist/editor/editStack.js +53 -12
  38. package/dist/editor/editStack.js.map +1 -1
  39. package/dist/editor/editor.d.ts +51 -23
  40. package/dist/editor/editor.d.ts.map +1 -1
  41. package/dist/editor/editor.js +977 -241
  42. package/dist/editor/editor.js.map +1 -1
  43. package/dist/editor/editor2.js +1 -1
  44. package/dist/editor/languages.d.ts +26 -0
  45. package/dist/editor/languages.d.ts.map +1 -0
  46. package/dist/editor/languages.js +363 -0
  47. package/dist/editor/languages.js.map +1 -0
  48. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  49. package/dist/editor/lineAnnotations.js +25 -26
  50. package/dist/editor/lineAnnotations.js.map +1 -1
  51. package/dist/editor/marker.d.ts +5 -3
  52. package/dist/editor/marker.d.ts.map +1 -1
  53. package/dist/editor/marker.js +111 -91
  54. package/dist/editor/marker.js.map +1 -1
  55. package/dist/editor/matchBrackets.d.ts +3 -2
  56. package/dist/editor/matchBrackets.d.ts.map +1 -1
  57. package/dist/editor/matchBrackets.js +2 -10
  58. package/dist/editor/matchBrackets.js.map +1 -1
  59. package/dist/editor/pieceTable.d.ts +2 -1
  60. package/dist/editor/pieceTable.d.ts.map +1 -1
  61. package/dist/editor/pieceTable.js +103 -39
  62. package/dist/editor/pieceTable.js.map +1 -1
  63. package/dist/editor/platform.js +2 -0
  64. package/dist/editor/platform.js.map +1 -1
  65. package/dist/editor/popover.d.ts +25 -5
  66. package/dist/editor/popover.d.ts.map +1 -1
  67. package/dist/editor/popover.js +60 -14
  68. package/dist/editor/popover.js.map +1 -1
  69. package/dist/editor/searchPanel.d.ts.map +1 -1
  70. package/dist/editor/searchPanel.js +9 -2
  71. package/dist/editor/searchPanel.js.map +1 -1
  72. package/dist/editor/selection.d.ts +31 -11
  73. package/dist/editor/selection.d.ts.map +1 -1
  74. package/dist/editor/selection.js +198 -70
  75. package/dist/editor/selection.js.map +1 -1
  76. package/dist/editor/selectionAction.d.ts +4 -3
  77. package/dist/editor/selectionAction.d.ts.map +1 -1
  78. package/dist/editor/selectionAction.js +9 -5
  79. package/dist/editor/selectionAction.js.map +1 -1
  80. package/dist/editor/stateStorage.d.ts +15 -0
  81. package/dist/editor/stateStorage.d.ts.map +1 -0
  82. package/dist/editor/stateStorage.js +65 -0
  83. package/dist/editor/stateStorage.js.map +1 -0
  84. package/dist/editor/textDocument.d.ts +12 -77
  85. package/dist/editor/textDocument.d.ts.map +1 -1
  86. package/dist/editor/textDocument.js +76 -34
  87. package/dist/editor/textDocument.js.map +1 -1
  88. package/dist/editor/textMeasure.d.ts +7 -12
  89. package/dist/editor/textMeasure.d.ts.map +1 -1
  90. package/dist/editor/textMeasure.js +40 -32
  91. package/dist/editor/textMeasure.js.map +1 -1
  92. package/dist/editor/{tokenzier.d.ts → tokenizer.d.ts} +3 -3
  93. package/dist/editor/tokenizer.d.ts.map +1 -0
  94. package/dist/editor/{tokenzier.js → tokenizer.js} +170 -50
  95. package/dist/editor/tokenizer.js.map +1 -0
  96. package/dist/editor/utils.js +1 -1
  97. package/dist/editor/utils.js.map +1 -1
  98. package/dist/index.d.ts +4 -3
  99. package/dist/index.js +6 -5
  100. package/dist/managers/InteractionManager.d.ts +18 -7
  101. package/dist/managers/InteractionManager.d.ts.map +1 -1
  102. package/dist/managers/InteractionManager.js +154 -99
  103. package/dist/managers/InteractionManager.js.map +1 -1
  104. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  105. package/dist/managers/UniversalRenderingManager.js +1 -2
  106. package/dist/managers/UniversalRenderingManager.js.map +1 -1
  107. package/dist/react/CodeView.d.ts +13 -13
  108. package/dist/react/CodeView.d.ts.map +1 -1
  109. package/dist/react/CodeView.js +37 -28
  110. package/dist/react/CodeView.js.map +1 -1
  111. package/dist/react/EditContext.d.ts +20 -0
  112. package/dist/react/EditContext.d.ts.map +1 -0
  113. package/dist/react/EditContext.js +20 -0
  114. package/dist/react/EditContext.js.map +1 -0
  115. package/dist/react/File.d.ts +2 -1
  116. package/dist/react/File.d.ts.map +1 -1
  117. package/dist/react/File.js +3 -2
  118. package/dist/react/File.js.map +1 -1
  119. package/dist/react/FileDiff.d.ts +2 -2
  120. package/dist/react/FileDiff.d.ts.map +1 -1
  121. package/dist/react/FileDiff.js +3 -2
  122. package/dist/react/FileDiff.js.map +1 -1
  123. package/dist/react/MultiFileDiff.d.ts +2 -2
  124. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  125. package/dist/react/MultiFileDiff.js +3 -2
  126. package/dist/react/MultiFileDiff.js.map +1 -1
  127. package/dist/react/PatchDiff.d.ts +2 -2
  128. package/dist/react/PatchDiff.d.ts.map +1 -1
  129. package/dist/react/PatchDiff.js +3 -2
  130. package/dist/react/PatchDiff.js.map +1 -1
  131. package/dist/react/UnresolvedFile.d.ts +1 -1
  132. package/dist/react/UnresolvedFile.js.map +1 -1
  133. package/dist/react/index.d.ts +4 -4
  134. package/dist/react/index.js +3 -3
  135. package/dist/react/types.d.ts +9 -1
  136. package/dist/react/types.d.ts.map +1 -1
  137. package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
  138. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  139. package/dist/react/utils/useFileDiffInstance.js +24 -34
  140. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  141. package/dist/react/utils/useFileInstance.d.ts +5 -3
  142. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  143. package/dist/react/utils/useFileInstance.js +23 -33
  144. package/dist/react/utils/useFileInstance.js.map +1 -1
  145. package/dist/react/utils/useUnresolvedFileInstance.js +4 -4
  146. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  147. package/dist/renderers/DiffHunksRenderer.d.ts +41 -1
  148. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  149. package/dist/renderers/DiffHunksRenderer.js +167 -29
  150. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  151. package/dist/renderers/FileRenderer.d.ts +20 -1
  152. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  153. package/dist/renderers/FileRenderer.js +119 -29
  154. package/dist/renderers/FileRenderer.js.map +1 -1
  155. package/dist/ssr/index.d.ts +2 -2
  156. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  157. package/dist/ssr/preloadDiffs.js +3 -1
  158. package/dist/ssr/preloadDiffs.js.map +1 -1
  159. package/dist/ssr/preloadFile.d.ts.map +1 -1
  160. package/dist/ssr/preloadFile.js +2 -0
  161. package/dist/ssr/preloadFile.js.map +1 -1
  162. package/dist/style.js +1 -1
  163. package/dist/types.d.ts +192 -42
  164. package/dist/types.d.ts.map +1 -1
  165. package/dist/utils/annotationHelpers.d.ts +20 -0
  166. package/dist/utils/annotationHelpers.d.ts.map +1 -0
  167. package/dist/utils/annotationHelpers.js +29 -0
  168. package/dist/utils/annotationHelpers.js.map +1 -0
  169. package/dist/utils/computeFileOffsets.d.ts.map +1 -1
  170. package/dist/utils/computeFileOffsets.js +34 -5
  171. package/dist/utils/computeFileOffsets.js.map +1 -1
  172. package/dist/utils/editSessionHunks.d.ts +66 -0
  173. package/dist/utils/editSessionHunks.d.ts.map +1 -0
  174. package/dist/utils/editSessionHunks.js +437 -0
  175. package/dist/utils/editSessionHunks.js.map +1 -0
  176. package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  177. package/dist/utils/getDiffHunksRendererOptions.js +2 -1
  178. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  179. package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  180. package/dist/utils/getFileRendererOptions.js +2 -1
  181. package/dist/utils/getFileRendererOptions.js.map +1 -1
  182. package/dist/utils/getHunkSideBoundaries.d.ts +7 -0
  183. package/dist/utils/getHunkSideBoundaries.d.ts.map +1 -0
  184. package/dist/utils/getHunkSideBoundaries.js +12 -0
  185. package/dist/utils/getHunkSideBoundaries.js.map +1 -0
  186. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  187. package/dist/utils/getTotalLineCountFromHunks.js +2 -1
  188. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  189. package/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  190. package/dist/utils/hydratePartialDiff.js +4 -3
  191. package/dist/utils/hydratePartialDiff.js.map +1 -1
  192. package/dist/utils/isGutterUtilityPath.d.ts +5 -0
  193. package/dist/utils/isGutterUtilityPath.d.ts.map +1 -0
  194. package/dist/utils/isGutterUtilityPath.js +12 -0
  195. package/dist/utils/isGutterUtilityPath.js.map +1 -0
  196. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  197. package/dist/utils/iterateOverDiff.js +17 -12
  198. package/dist/utils/iterateOverDiff.js.map +1 -1
  199. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  200. package/dist/utils/parseMergeConflictDiffFromFile.js +9 -6
  201. package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  202. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  203. package/dist/utils/parsePatchFiles.js +6 -3
  204. package/dist/utils/parsePatchFiles.js.map +1 -1
  205. package/dist/utils/realignChangeContent.d.ts +33 -0
  206. package/dist/utils/realignChangeContent.d.ts.map +1 -0
  207. package/dist/utils/realignChangeContent.js +148 -0
  208. package/dist/utils/realignChangeContent.js.map +1 -0
  209. package/dist/utils/renderDiffWithHighlighter.js +1 -1
  210. package/dist/utils/resolveRegion.d.ts.map +1 -1
  211. package/dist/utils/resolveRegion.js +18 -2
  212. package/dist/utils/resolveRegion.js.map +1 -1
  213. package/dist/utils/shouldUseTokenTransformer.d.ts +7 -3
  214. package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  215. package/dist/utils/shouldUseTokenTransformer.js +1 -1
  216. package/dist/utils/shouldUseTokenTransformer.js.map +1 -1
  217. package/dist/utils/updateDiffHunks.d.ts +8 -2
  218. package/dist/utils/updateDiffHunks.d.ts.map +1 -1
  219. package/dist/utils/updateDiffHunks.js +9 -7
  220. package/dist/utils/updateDiffHunks.js.map +1 -1
  221. package/dist/utils/virtualDiffLayout.d.ts +42 -2
  222. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  223. package/dist/utils/virtualDiffLayout.js +101 -7
  224. package/dist/utils/virtualDiffLayout.js.map +1 -1
  225. package/dist/worker/WorkerPoolManager.d.ts +2 -1
  226. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  227. package/dist/worker/WorkerPoolManager.js +3 -0
  228. package/dist/worker/WorkerPoolManager.js.map +1 -1
  229. package/dist/worker/worker-portable.js +60 -20
  230. package/dist/worker/worker-portable.js.map +1 -1
  231. package/dist/worker/worker.js +61 -19
  232. package/dist/worker/worker.js.map +1 -1
  233. package/package.json +10 -7
  234. package/dist/editor/index.d.ts +0 -3
  235. package/dist/editor/index.js +0 -3
  236. package/dist/editor/tokenzier.d.ts.map +0 -1
  237. package/dist/editor/tokenzier.js.map +0 -1
  238. package/dist/react/EditorContext.d.ts +0 -15
  239. package/dist/react/EditorContext.d.ts.map +0 -1
  240. package/dist/react/EditorContext.js +0 -23
  241. package/dist/react/EditorContext.js.map +0 -1
package/README.md CHANGED
@@ -27,6 +27,15 @@ JavaScript and React components.
27
27
  pnpm add @pierre/diffs
28
28
  ```
29
29
 
30
+ ## Agent skill
31
+
32
+ Install the agent skill for this package with the
33
+ [Skills CLI](https://skills.sh/docs/cli):
34
+
35
+ ```bash
36
+ npx skills add pierrecomputer/pierre --skill diffs
37
+ ```
38
+
30
39
  ## Development
31
40
 
32
41
  We use pnpm for workspace package management and Bun for tests.
@@ -1,4 +1,4 @@
1
- import { CodeViewCreateEditorOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewLayout, CodeViewScrollTarget, DiffLineAnnotation, DiffsEditorHost, FileContents, HunkSeparators, SelectedLineRange, SmoothScrollSettings, VirtualFileMetrics, VirtualWindowSpecs } from "../types.js";
1
+ import { CodeViewCreateEditorOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewLayout, CodeViewScrollTarget, DiffLineAnnotation, DiffsEditor, FileContents, HunkSeparators, LineAnnotation, 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";
@@ -107,18 +107,18 @@ interface CodeViewOptions<LAnnotation> extends CodeViewPassThroughOptions<LAnnot
107
107
  * stops being editable (edit off, collapsed, or removed). Returning
108
108
  * undefined declines the attach; CodeView retries on later render passes.
109
109
  */
110
- createEditor?(options: CodeViewCreateEditorOptions<LAnnotation>): DiffsEditorHost<LAnnotation> | undefined;
110
+ createEditor?(options: CodeViewCreateEditorOptions<LAnnotation>): DiffsEditor<LAnnotation> | undefined;
111
111
  /**
112
112
  * Called when an edited item's document changes, with the owning item
113
113
  * resolved by CodeView.
114
114
  */
115
- onItemEditChange?(item: CodeViewItem<LAnnotation>, file: FileContents, lineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;
115
+ onItemEditChange?(item: CodeViewItem<LAnnotation>, file: FileContents, lineAnnotations?: LineAnnotation<LAnnotation>[] | DiffLineAnnotation<LAnnotation>[]): void;
116
116
  /**
117
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.
118
+ * removed (including a controlled `setItems([])` that empties the list), or
119
+ * item collapsed — with the final contents from the session's last document
120
+ * change. Not called when the session produced no changes, nor on a direct
121
+ * `reset()`/`cleanUp()` teardown.
122
122
  *
123
123
  * Committing is user-space: CodeView never writes item data itself. The
124
124
  * recommended handler makes one combined item write (`updateItem` with a
@@ -126,7 +126,7 @@ interface CodeViewOptions<LAnnotation> extends CodeViewPassThroughOptions<LAnnot
126
126
  * since the delivered contents differ from what the old key cached — along
127
127
  * with `edit: false`.
128
128
  */
129
- onItemEditComplete?(item: CodeViewItem<LAnnotation>, file: FileContents, lineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;
129
+ onItemEditComplete?(item: CodeViewItem<LAnnotation>, file: FileContents, lineAnnotations?: LineAnnotation<LAnnotation>[] | DiffLineAnnotation<LAnnotation>[]): void;
130
130
  /** Render a non-virtualized element at the very start of the scroll content,
131
131
  * before the first item. It is always rendered and scrolls with the content.
132
132
  * Return the same element across calls and mutate it in place to update;
@@ -239,7 +239,7 @@ declare class CodeView<LAnnotation = undefined> {
239
239
  * editor APIs CodeView does not wrap (applyEdits, undo, setMarkers, …).
240
240
  * Returns undefined once the item leaves edit mode.
241
241
  */
242
- getEditor(itemId: string): DiffsEditorHost<LAnnotation> | undefined;
242
+ getEditor(itemId: string): DiffsEditor<LAnnotation> | undefined;
243
243
  updateItem(input: CodeViewItem<LAnnotation>): boolean;
244
244
  updateItemId(oldId: string, newId: string): boolean;
245
245
  addItem(input: CodeViewItem<LAnnotation>): void;
@@ -275,7 +275,6 @@ declare class CodeView<LAnnotation = undefined> {
275
275
  private applySelectedLines;
276
276
  private syncSelection;
277
277
  private isItemInEditMode;
278
- private isReceiverEdited;
279
278
  /**
280
279
  * Attach (or lazily create) the editor for a mounted edit-mode item. Called
281
280
  * from the render loop so every mounted item passes through it: fresh
@@ -288,9 +287,9 @@ declare class CodeView<LAnnotation = undefined> {
288
287
  private attachItemEditor;
289
288
  /**
290
289
  * 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.
290
+ * off, or collapsed. Attachment happens in the render loop via
291
+ * attachItemEditor, so this only reconciles editors CodeView is already
292
+ * holding.
294
293
  */
295
294
  private syncItemEditors;
296
295
  private renamePendingScrollTarget;
@@ -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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"}
@@ -7,6 +7,7 @@ import { areOptionsEqual } from "../utils/areOptionsEqual.js";
7
7
  import { areSelectionsEqual } from "../utils/areSelectionsEqual.js";
8
8
  import { createCodeViewHeaderFooterHostElement } from "../utils/createCodeViewHeaderFooterHostElement.js";
9
9
  import { createWindowFromScrollPosition } from "../utils/createWindowFromScrollPosition.js";
10
+ import { finishEditSessionForDiff } from "../utils/editSessionHunks.js";
10
11
  import { isStyleNode } from "../utils/isStyleNode.js";
11
12
  import { prefersReducedMotion } from "../utils/prefersReducedMotion.js";
12
13
  import { roundToDevicePixel } from "../utils/roundToDevicePixel.js";
@@ -64,13 +65,6 @@ const CODE_VIEW_FILE_OPTION_KEYS = [
64
65
  "controlledSelection",
65
66
  "disableErrorHandling"
66
67
  ];
67
- const CODE_VIEW_EDIT_FORCED_OPTION_KEYS = /* @__PURE__ */ new Set([
68
- "useTokenTransformer",
69
- "enableGutterUtility",
70
- "enableLineSelection",
71
- "lineHoverHighlight",
72
- "expandUnchanged"
73
- ]);
74
68
  const CODE_VIEW_SHARED_CALLBACK_KEYS = [
75
69
  "renderCustomHeader",
76
70
  "renderHeaderPrefix",
@@ -121,6 +115,9 @@ const SCROLL_REBASE_TRIGGER_TOP = 1e6;
121
115
  const SCROLL_REBASE_TARGET_TOP = 2e6;
122
116
  const SCROLL_REBASE_TARGET_BOTTOM = SCROLL_REBASE_CONTAINER_HEIGHT - SCROLL_REBASE_TARGET_TOP;
123
117
  const SCROLL_REBASE_THRESHOLD = SCROLL_REBASE_CONTAINER_HEIGHT - SCROLL_REBASE_TRIGGER_TOP;
118
+ function assertEditorFactory(createEditor) {
119
+ if (createEditor == null) throw new Error("CodeView: createEditor is required for items with edit: true");
120
+ }
124
121
  const MOBILE_SAFARI = (() => {
125
122
  const { navigator } = globalThis;
126
123
  const userAgent = navigator.userAgent;
@@ -882,13 +879,7 @@ var CodeView = class CodeView {
882
879
  item.instance.setSelectedLines(this.selectedLines.range, { notify: false });
883
880
  }
884
881
  isItemInEditMode(item) {
885
- return this.options.createEditor != null && item.item.edit === true && item.item.collapsed !== true;
886
- }
887
- isReceiverEdited(receiver, mode) {
888
- const state = getItemOptionsState(receiver);
889
- if (state == null) return false;
890
- const item = this.getItemOptions(state, mode);
891
- return item != null && this.isItemInEditMode(item);
882
+ return item.item.edit === true && item.item.collapsed !== true;
892
883
  }
893
884
  /**
894
885
  * Attach (or lazily create) the editor for a mounted edit-mode item. Called
@@ -902,36 +893,47 @@ var CodeView = class CodeView {
902
893
  attachItemEditor(item) {
903
894
  const { id } = item.item;
904
895
  const { createEditor } = this.options;
905
- if (createEditor == null || item.element == null || this.attachedEditors.has(id) || !this.isItemInEditMode(item)) return;
896
+ if (item.element == null || this.attachedEditors.has(id) || !this.isItemInEditMode(item)) return;
906
897
  let record = this.itemEditors.get(id);
907
- if (record == null) {
908
- const state = { id };
909
- const editor = createEditor({ onChange: (file, lineAnnotations) => {
910
- const latest = this.idToItem.get(state.id);
911
- if (latest == null) return;
912
- state.lastChange = {
913
- item: latest.item,
914
- file,
915
- lineAnnotations
898
+ let createdEditor = false;
899
+ try {
900
+ if (record == null) {
901
+ assertEditorFactory(createEditor);
902
+ const state = { id };
903
+ const editor = createEditor({ onChange: (file, lineAnnotations) => {
904
+ const latest = this.idToItem.get(state.id);
905
+ if (latest == null) return;
906
+ state.lastChange = {
907
+ item: latest.item,
908
+ file,
909
+ lineAnnotations
910
+ };
911
+ this.options.onItemEditChange?.(latest.item, file, lineAnnotations);
912
+ } });
913
+ if (editor == null) return;
914
+ record = {
915
+ editor,
916
+ state
916
917
  };
917
- this.options.onItemEditChange?.(latest.item, file, lineAnnotations);
918
- } });
919
- if (editor == null) return;
920
- record = {
921
- editor,
922
- state
923
- };
924
- this.itemEditors.set(id, record);
918
+ this.itemEditors.set(id, record);
919
+ createdEditor = true;
920
+ }
921
+ record.editor.edit(item.instance);
922
+ this.attachedEditors.add(id);
923
+ } catch (error) {
924
+ if (createdEditor && record != null) {
925
+ this.itemEditors.delete(id);
926
+ record.editor.cleanUp();
927
+ }
928
+ this.releaseRenderedItem(item);
929
+ throw error;
925
930
  }
926
- if (this.selectedLines?.id === id) this.applySelectedLines(null, { notify: false });
927
- record.editor.edit(item.instance);
928
- this.attachedEditors.add(id);
929
931
  }
930
932
  /**
931
933
  * Drop editors for items that can no longer be edited: removed, edit turned
932
- * off, collapsed, or the createEditor option was unset. Attachment happens
933
- * in the render loop via attachItemEditor, so this only reconciles editors
934
- * CodeView is already holding.
934
+ * off, or collapsed. Attachment happens in the render loop via
935
+ * attachItemEditor, so this only reconciles editors CodeView is already
936
+ * holding.
935
937
  */
936
938
  syncItemEditors() {
937
939
  if (this.itemEditors.size === 0) return;
@@ -942,6 +944,14 @@ var CodeView = class CodeView {
942
944
  record.editor.cleanUp();
943
945
  this.itemEditors.delete(id);
944
946
  this.attachedEditors.delete(id);
947
+ const itemSnapshot = item?.item ?? record.state.lastChange?.item;
948
+ if (itemSnapshot?.type === "diff") {
949
+ if (item != null && item.type === "diff" && item.instance.completeEditSession()) {
950
+ this.markItemLayoutDirty(item);
951
+ this.render();
952
+ }
953
+ finishEditSessionForDiff(itemSnapshot.fileDiff);
954
+ }
945
955
  const { lastChange } = record.state;
946
956
  if (lastChange != null) completions.push(item == null ? lastChange : {
947
957
  ...lastChange,
@@ -963,14 +973,7 @@ var CodeView = class CodeView {
963
973
  }
964
974
  createFileOptionsPrototype() {
965
975
  const prototype = {};
966
- for (const key of CODE_VIEW_FILE_OPTION_KEYS) {
967
- if (CODE_VIEW_EDIT_FORCED_OPTION_KEYS.has(key)) continue;
968
- defineItemOption(prototype, key, () => this.options[key]);
969
- }
970
- defineItemOption(prototype, "useTokenTransformer", (receiver) => this.isReceiverEdited(receiver, "file") ? true : this.options.useTokenTransformer);
971
- defineItemOption(prototype, "enableGutterUtility", (receiver) => this.isReceiverEdited(receiver, "file") ? false : this.options.enableGutterUtility);
972
- defineItemOption(prototype, "enableLineSelection", (receiver) => this.isReceiverEdited(receiver, "file") ? false : this.options.enableLineSelection);
973
- defineItemOption(prototype, "lineHoverHighlight", (receiver) => this.isReceiverEdited(receiver, "file") ? "disabled" : this.options.lineHoverHighlight);
976
+ for (const key of CODE_VIEW_FILE_OPTION_KEYS) defineItemOption(prototype, key, () => this.options[key]);
974
977
  defineItemOption(prototype, "stickyHeader", () => this.options.stickyHeaders);
975
978
  defineItemOption(prototype, "collapsed", (receiver) => {
976
979
  const state = getItemOptionsState(receiver);
@@ -983,15 +986,7 @@ var CodeView = class CodeView {
983
986
  }
984
987
  createDiffOptionsPrototype() {
985
988
  const prototype = {};
986
- for (const key of CODE_VIEW_DIFF_OPTION_KEYS) {
987
- if (CODE_VIEW_EDIT_FORCED_OPTION_KEYS.has(key)) continue;
988
- defineItemOption(prototype, key, () => this.options[key]);
989
- }
990
- defineItemOption(prototype, "useTokenTransformer", (receiver) => this.isReceiverEdited(receiver, "diff") ? true : this.options.useTokenTransformer);
991
- defineItemOption(prototype, "enableGutterUtility", (receiver) => this.isReceiverEdited(receiver, "diff") ? false : this.options.enableGutterUtility);
992
- defineItemOption(prototype, "enableLineSelection", (receiver) => this.isReceiverEdited(receiver, "diff") ? false : this.options.enableLineSelection);
993
- defineItemOption(prototype, "lineHoverHighlight", (receiver) => this.isReceiverEdited(receiver, "diff") ? "disabled" : this.options.lineHoverHighlight);
994
- defineItemOption(prototype, "expandUnchanged", (receiver) => this.isReceiverEdited(receiver, "diff") ? true : this.options.expandUnchanged);
989
+ for (const key of CODE_VIEW_DIFF_OPTION_KEYS) defineItemOption(prototype, key, () => this.options[key]);
995
990
  defineItemOption(prototype, "stickyHeader", () => this.options.stickyHeaders);
996
991
  defineItemOption(prototype, "hunkSeparators", () => this.options.hunkSeparators);
997
992
  defineItemOption(prototype, "collapsed", (receiver) => {
@@ -1044,11 +1039,8 @@ var CodeView = class CodeView {
1044
1039
  }
1045
1040
  defineItemSelectionCallback(options, mode, key) {
1046
1041
  defineItemOption(options, key, (receiver) => {
1047
- if (this.options.enableLineSelection !== true) return;
1048
1042
  const state = getItemOptionsState(receiver);
1049
1043
  if (state == null) return;
1050
- const item = this.getItemOptions(state, mode);
1051
- if (item != null && this.isItemInEditMode(item)) return;
1052
1044
  const callbackCache = state.callbackCache ??= {};
1053
1045
  let wrapped = callbackCache[key];
1054
1046
  if (wrapped == null) {