@pierre/diffs 1.3.0-beta.8 → 1.3.0-rc.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 (229) hide show
  1. package/dist/components/CodeView.d.ts +12 -12
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +51 -43
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts +7 -2
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +36 -8
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +34 -6
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +198 -17
  12. package/dist/components/FileDiff.js.map +1 -1
  13. package/dist/components/FileStream.d.ts.map +1 -1
  14. package/dist/components/FileStream.js +2 -1
  15. package/dist/components/FileStream.js.map +1 -1
  16. package/dist/components/VirtualizedFile.d.ts +2 -1
  17. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  18. package/dist/components/VirtualizedFile.js +9 -5
  19. package/dist/components/VirtualizedFile.js.map +1 -1
  20. package/dist/components/VirtualizedFileDiff.d.ts +14 -0
  21. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  22. package/dist/components/VirtualizedFileDiff.js +61 -3
  23. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  24. package/dist/components/Virtualizer.d.ts +14 -2
  25. package/dist/components/Virtualizer.d.ts.map +1 -1
  26. package/dist/components/Virtualizer.js +29 -3
  27. package/dist/components/Virtualizer.js.map +1 -1
  28. package/dist/edit/index.d.ts +5 -0
  29. package/dist/edit/index.js +3 -0
  30. package/dist/editor/command.d.ts +1 -1
  31. package/dist/editor/command.d.ts.map +1 -1
  32. package/dist/editor/command.js +11 -0
  33. package/dist/editor/command.js.map +1 -1
  34. package/dist/editor/editStack.d.ts +6 -2
  35. package/dist/editor/editStack.d.ts.map +1 -1
  36. package/dist/editor/editStack.js +54 -13
  37. package/dist/editor/editStack.js.map +1 -1
  38. package/dist/editor/editor.d.ts +51 -23
  39. package/dist/editor/editor.d.ts.map +1 -1
  40. package/dist/editor/editor.js +995 -242
  41. package/dist/editor/editor.js.map +1 -1
  42. package/dist/editor/editor2.js +1 -1
  43. package/dist/editor/languages.d.ts +26 -0
  44. package/dist/editor/languages.d.ts.map +1 -0
  45. package/dist/editor/languages.js +363 -0
  46. package/dist/editor/languages.js.map +1 -0
  47. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  48. package/dist/editor/lineAnnotations.js +25 -26
  49. package/dist/editor/lineAnnotations.js.map +1 -1
  50. package/dist/editor/marker.d.ts +5 -3
  51. package/dist/editor/marker.d.ts.map +1 -1
  52. package/dist/editor/marker.js +111 -91
  53. package/dist/editor/marker.js.map +1 -1
  54. package/dist/editor/matchBrackets.d.ts +3 -2
  55. package/dist/editor/matchBrackets.d.ts.map +1 -1
  56. package/dist/editor/matchBrackets.js +2 -10
  57. package/dist/editor/matchBrackets.js.map +1 -1
  58. package/dist/editor/pieceTable.d.ts +2 -1
  59. package/dist/editor/pieceTable.d.ts.map +1 -1
  60. package/dist/editor/pieceTable.js +103 -39
  61. package/dist/editor/pieceTable.js.map +1 -1
  62. package/dist/editor/platform.js +2 -0
  63. package/dist/editor/platform.js.map +1 -1
  64. package/dist/editor/popover.d.ts +25 -5
  65. package/dist/editor/popover.d.ts.map +1 -1
  66. package/dist/editor/popover.js +60 -14
  67. package/dist/editor/popover.js.map +1 -1
  68. package/dist/editor/searchPanel.d.ts +1 -0
  69. package/dist/editor/searchPanel.d.ts.map +1 -1
  70. package/dist/editor/searchPanel.js +15 -8
  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} +91 -26
  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 +5 -4
  99. package/dist/index.js +7 -6
  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 +2 -1
  105. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  106. package/dist/managers/UniversalRenderingManager.js +7 -3
  107. package/dist/managers/UniversalRenderingManager.js.map +1 -1
  108. package/dist/react/CodeView.d.ts +13 -13
  109. package/dist/react/CodeView.d.ts.map +1 -1
  110. package/dist/react/CodeView.js +38 -29
  111. package/dist/react/CodeView.js.map +1 -1
  112. package/dist/react/EditContext.d.ts +20 -0
  113. package/dist/react/EditContext.d.ts.map +1 -0
  114. package/dist/react/EditContext.js +20 -0
  115. package/dist/react/EditContext.js.map +1 -0
  116. package/dist/react/File.d.ts +2 -1
  117. package/dist/react/File.d.ts.map +1 -1
  118. package/dist/react/File.js +3 -2
  119. package/dist/react/File.js.map +1 -1
  120. package/dist/react/FileDiff.d.ts +2 -2
  121. package/dist/react/FileDiff.d.ts.map +1 -1
  122. package/dist/react/FileDiff.js +3 -2
  123. package/dist/react/FileDiff.js.map +1 -1
  124. package/dist/react/MultiFileDiff.d.ts +2 -2
  125. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  126. package/dist/react/MultiFileDiff.js +3 -2
  127. package/dist/react/MultiFileDiff.js.map +1 -1
  128. package/dist/react/PatchDiff.d.ts +2 -2
  129. package/dist/react/PatchDiff.d.ts.map +1 -1
  130. package/dist/react/PatchDiff.js +3 -2
  131. package/dist/react/PatchDiff.js.map +1 -1
  132. package/dist/react/UnresolvedFile.d.ts +1 -1
  133. package/dist/react/UnresolvedFile.js.map +1 -1
  134. package/dist/react/index.d.ts +4 -4
  135. package/dist/react/index.js +3 -3
  136. package/dist/react/types.d.ts +9 -1
  137. package/dist/react/types.d.ts.map +1 -1
  138. package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
  139. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  140. package/dist/react/utils/useFileDiffInstance.js +28 -27
  141. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  142. package/dist/react/utils/useFileInstance.d.ts +5 -3
  143. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  144. package/dist/react/utils/useFileInstance.js +29 -25
  145. package/dist/react/utils/useFileInstance.js.map +1 -1
  146. package/dist/react/utils/useUnresolvedFileInstance.js +3 -3
  147. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  148. package/dist/renderers/DiffHunksRenderer.d.ts +33 -1
  149. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  150. package/dist/renderers/DiffHunksRenderer.js +134 -21
  151. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  152. package/dist/renderers/FileRenderer.d.ts +2 -0
  153. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  154. package/dist/renderers/FileRenderer.js +33 -11
  155. package/dist/renderers/FileRenderer.js.map +1 -1
  156. package/dist/ssr/FileDiffReact.js +1 -1
  157. package/dist/ssr/index.d.ts +2 -2
  158. package/dist/ssr/preloadDiffs.js +1 -1
  159. package/dist/style.js +1 -1
  160. package/dist/types.d.ts +185 -42
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/utils/annotationHelpers.d.ts +20 -0
  163. package/dist/utils/annotationHelpers.d.ts.map +1 -0
  164. package/dist/utils/annotationHelpers.js +29 -0
  165. package/dist/utils/annotationHelpers.js.map +1 -0
  166. package/dist/utils/computeFileOffsets.d.ts.map +1 -1
  167. package/dist/utils/computeFileOffsets.js +34 -5
  168. package/dist/utils/computeFileOffsets.js.map +1 -1
  169. package/dist/utils/editSessionHunks.d.ts +66 -0
  170. package/dist/utils/editSessionHunks.d.ts.map +1 -0
  171. package/dist/utils/editSessionHunks.js +437 -0
  172. package/dist/utils/editSessionHunks.js.map +1 -0
  173. package/dist/utils/getHunkSideBoundaries.d.ts +7 -0
  174. package/dist/utils/getHunkSideBoundaries.d.ts.map +1 -0
  175. package/dist/utils/getHunkSideBoundaries.js +12 -0
  176. package/dist/utils/getHunkSideBoundaries.js.map +1 -0
  177. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  178. package/dist/utils/getTotalLineCountFromHunks.js +2 -1
  179. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  180. package/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  181. package/dist/utils/hydratePartialDiff.js +4 -3
  182. package/dist/utils/hydratePartialDiff.js.map +1 -1
  183. package/dist/utils/isGutterUtilityPath.d.ts +5 -0
  184. package/dist/utils/isGutterUtilityPath.d.ts.map +1 -0
  185. package/dist/utils/isGutterUtilityPath.js +12 -0
  186. package/dist/utils/isGutterUtilityPath.js.map +1 -0
  187. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  188. package/dist/utils/iterateOverDiff.js +17 -12
  189. package/dist/utils/iterateOverDiff.js.map +1 -1
  190. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  191. package/dist/utils/parseMergeConflictDiffFromFile.js +9 -6
  192. package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  193. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  194. package/dist/utils/parsePatchFiles.js +6 -3
  195. package/dist/utils/parsePatchFiles.js.map +1 -1
  196. package/dist/utils/realignChangeContent.d.ts +33 -0
  197. package/dist/utils/realignChangeContent.d.ts.map +1 -0
  198. package/dist/utils/realignChangeContent.js +148 -0
  199. package/dist/utils/realignChangeContent.js.map +1 -0
  200. package/dist/utils/renderDiffWithHighlighter.js +1 -1
  201. package/dist/utils/resolveRegion.d.ts.map +1 -1
  202. package/dist/utils/resolveRegion.js +18 -2
  203. package/dist/utils/resolveRegion.js.map +1 -1
  204. package/dist/utils/updateDiffHunks.d.ts +8 -2
  205. package/dist/utils/updateDiffHunks.d.ts.map +1 -1
  206. package/dist/utils/updateDiffHunks.js +9 -7
  207. package/dist/utils/updateDiffHunks.js.map +1 -1
  208. package/dist/utils/virtualDiffLayout.d.ts +42 -2
  209. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  210. package/dist/utils/virtualDiffLayout.js +101 -7
  211. package/dist/utils/virtualDiffLayout.js.map +1 -1
  212. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  213. package/dist/worker/WorkerPoolManager.js +4 -2
  214. package/dist/worker/WorkerPoolManager.js.map +1 -1
  215. package/dist/worker/types.d.ts +4 -0
  216. package/dist/worker/types.d.ts.map +1 -1
  217. package/dist/worker/worker-portable.js +60 -20
  218. package/dist/worker/worker-portable.js.map +1 -1
  219. package/dist/worker/worker.js +61 -19
  220. package/dist/worker/worker.js.map +1 -1
  221. package/package.json +13 -8
  222. package/dist/editor/index.d.ts +0 -3
  223. package/dist/editor/index.js +0 -3
  224. package/dist/editor/tokenzier.d.ts.map +0 -1
  225. package/dist/editor/tokenzier.js.map +0 -1
  226. package/dist/react/EditorContext.d.ts +0 -15
  227. package/dist/react/EditorContext.d.ts.map +0 -1
  228. package/dist/react/EditorContext.js +0 -23
  229. package/dist/react/EditorContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../src/editor/utils.ts"],"sourcesContent":["export function h<K extends keyof HTMLElementTagNameMap>(\n tagName: K,\n props?: {\n style?: string | Partial<CSSStyleDeclaration>;\n dataset?: DOMStringMap | string[] | string;\n children?: (Node | string)[];\n } & Partial<Omit<HTMLElementTagNameMap[K], 'style' | 'dataset' | 'children'>>,\n parent?: Element | ShadowRoot | DocumentFragment\n): HTMLElementTagNameMap[K] {\n const { style, dataset, children, ...attrs } = props ?? {};\n const el = document.createElement(tagName);\n Object.assign(el, attrs);\n if (style !== undefined) {\n if (typeof style === 'string') {\n el.style.cssText = style;\n } else {\n Object.assign(el.style, style);\n }\n }\n if (dataset !== undefined) {\n if (typeof dataset === 'string') {\n el.dataset[dataset] = '';\n } else if (Array.isArray(dataset)) {\n dataset.forEach((key) => {\n el.dataset[key] = '';\n });\n } else {\n Object.assign(el.dataset, dataset);\n }\n }\n if (children !== undefined) {\n el.replaceChildren(...children);\n }\n if (parent !== undefined) {\n parent.appendChild(el);\n }\n return el;\n}\n\nexport function addEventListener<K extends keyof HTMLElementEventMap>(\n el: HTMLElement,\n event: K,\n listener: (this: HTMLElement, evt: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof DocumentEventMap>(\n el: Document,\n event: K,\n listener: (this: Document, evt: DocumentEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof WindowEventMap>(\n el: Window,\n event: K,\n listener: (this: Window, evt: WindowEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof MediaQueryListEventMap>(\n el: MediaQueryList,\n event: K,\n listener: (this: MediaQueryList, evt: MediaQueryListEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener(\n el: HTMLElement | Document | ShadowRoot | Window | MediaQueryList,\n event: string,\n listener: EventListener,\n options?: AddEventListenerOptions\n) {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener);\n}\n\nexport function getLineNumberAttr(\n el: HTMLElement,\n key = 'line'\n): number | undefined {\n const value = el.dataset[key];\n if (value === undefined) {\n return undefined;\n }\n const lineNumber = parseInt(value, 10);\n if (Number.isNaN(lineNumber)) {\n return undefined;\n }\n return lineNumber;\n}\n\nexport function clampDomOffset(node: Node, offset: number): number {\n if (node.nodeType === 3) {\n const length = (node as Text).textContent?.length ?? 0;\n return Math.max(0, Math.min(offset, length));\n }\n if (node.nodeType === 1) {\n return Math.max(0, Math.min(offset, node.childNodes.length));\n }\n return 0;\n}\n\nexport function extend<T extends object>(obj: T, attrs: Partial<T>): T {\n return Object.assign(obj, attrs);\n}\n\n// oxlint-disable-next-line typescript/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n func: T,\n wait: number\n): (...args: Parameters<T>) => void {\n let timeout: ReturnType<typeof setTimeout>;\n return function (this: ThisType<T>, ...args: Parameters<T>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\nexport function round(value: number, precision: number = 1000): number {\n return Math.round(value * precision) / precision;\n}\n\nexport function endsWithLineBreak(text: string): boolean {\n return text.endsWith('\\n') || text.endsWith('\\r');\n}\n\n// Creates an Intl.Segmenter, or undefined when the engine lacks support.\n// Callers must fall back to a degraded path when this returns undefined.\nexport function createSegmenter(\n options: Intl.SegmenterOptions\n): Intl.Segmenter | undefined {\n if (typeof Intl === 'undefined' || typeof Intl.Segmenter !== 'function') {\n return undefined;\n }\n return new Intl.Segmenter(undefined, options);\n}\n\n// Lazily created and cached grapheme segmenter. Avoids constructing\n// Intl.Segmenter at import time so importing the editor never throws on\n// engines that lack it. Undefined when the engine has no Intl.Segmenter.\nlet graphemeSegmenter: Intl.Segmenter | undefined;\nlet graphemeSegmenterInit = false;\nexport function getGraphemeSegmenter(): Intl.Segmenter | undefined {\n if (!graphemeSegmenterInit) {\n graphemeSegmenter = createSegmenter({ granularity: 'grapheme' });\n graphemeSegmenterInit = true;\n }\n return graphemeSegmenter;\n}\n"],"mappings":";AAAA,SAAgB,EACd,SACA,OAKA,QAC0B;CAC1B,MAAM,EAAE,OAAO,SAAS,UAAU,GAAG,UAAU,SAAS,CAAC;CACzD,MAAM,KAAK,SAAS,cAAc,OAAO;CACzC,OAAO,OAAO,IAAI,KAAK;CACvB,IAAI,UAAU,KAAA,GACZ,IAAI,OAAO,UAAU,UACnB,GAAG,MAAM,UAAU;MAEnB,OAAO,OAAO,GAAG,OAAO,KAAK;CAGjC,IAAI,YAAY,KAAA,GACd,IAAI,OAAO,YAAY,UACrB,GAAG,QAAQ,WAAW;MACjB,IAAI,MAAM,QAAQ,OAAO,GAC9B,QAAQ,SAAS,QAAQ;EACvB,GAAG,QAAQ,OAAO;CACpB,CAAC;MAED,OAAO,OAAO,GAAG,SAAS,OAAO;CAGrC,IAAI,aAAa,KAAA,GACf,GAAG,gBAAgB,GAAG,QAAQ;CAEhC,IAAI,WAAW,KAAA,GACb,OAAO,YAAY,EAAE;CAEvB,OAAO;AACT;AA0BA,SAAgB,iBACd,IACA,OACA,UACA,SACA;CACA,GAAG,iBAAiB,OAAO,UAAU,OAAO;CAC5C,aAAa,GAAG,oBAAoB,OAAO,QAAQ;AACrD;AAEA,SAAgB,kBACd,IACA,MAAM,QACc;CACpB,MAAM,QAAQ,GAAG,QAAQ;CACzB,IAAI,UAAU,KAAA,GACZ;CAEF,MAAM,aAAa,SAAS,OAAO,EAAE;CACrC,IAAI,OAAO,MAAM,UAAU,GACzB;CAEF,OAAO;AACT;AAEA,SAAgB,eAAe,MAAY,QAAwB;CACjE,IAAI,KAAK,aAAa,GAAG;EACvB,MAAM,SAAU,KAAc,aAAa,UAAU;EACrD,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;CAC7C;CACA,IAAI,KAAK,aAAa,GACpB,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,KAAK,WAAW,MAAM,CAAC;CAE7D,OAAO;AACT;AAEA,SAAgB,OAAyB,KAAQ,OAAsB;CACrE,OAAO,OAAO,OAAO,KAAK,KAAK;AACjC;AAGA,SAAgB,SACd,MACA,MACkC;CAClC,IAAI;CACJ,OAAO,SAA6B,GAAG,MAAqB;EAC1D,aAAa,OAAO;EACpB,UAAU,iBAAiB,KAAK,MAAM,MAAM,IAAI,GAAG,IAAI;CACzD;AACF;AAEA,SAAgB,MAAM,OAAe,YAAoB,KAAc;CACrE,OAAO,KAAK,MAAM,QAAQ,SAAS,IAAI;AACzC;AAEA,SAAgB,kBAAkB,MAAuB;CACvD,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AAIA,SAAgB,gBACd,SAC4B;CAC5B,IAAI,OAAO,SAAS,eAAe,OAAO,KAAK,cAAc,YAC3D;CAEF,OAAO,IAAI,KAAK,UAAU,KAAA,GAAW,OAAO;AAC9C;AAKA,IAAI;AACJ,IAAI,wBAAwB;AAC5B,SAAgB,uBAAmD;CACjE,IAAI,CAAC,uBAAuB;EAC1B,oBAAoB,gBAAgB,EAAE,aAAa,WAAW,CAAC;EAC/D,wBAAwB;CAC1B;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/editor/utils.ts"],"sourcesContent":["export function h<K extends keyof HTMLElementTagNameMap>(\n tagName: K,\n props?: {\n style?: string | Partial<CSSStyleDeclaration>;\n dataset?: DOMStringMap | string[] | string;\n children?: (Node | string)[];\n } & Partial<Omit<HTMLElementTagNameMap[K], 'style' | 'dataset' | 'children'>>,\n parent?: Element | ShadowRoot | DocumentFragment\n): HTMLElementTagNameMap[K] {\n const { style, dataset, children, ...attrs } = props ?? {};\n const el = document.createElement(tagName);\n Object.assign(el, attrs);\n if (style !== undefined) {\n if (typeof style === 'string') {\n el.style.cssText = style;\n } else {\n Object.assign(el.style, style);\n }\n }\n if (dataset !== undefined) {\n if (typeof dataset === 'string') {\n el.dataset[dataset] = '';\n } else if (Array.isArray(dataset)) {\n dataset.forEach((key) => {\n el.dataset[key] = '';\n });\n } else {\n Object.assign(el.dataset, dataset);\n }\n }\n if (children !== undefined) {\n el.replaceChildren(...children);\n }\n if (parent !== undefined) {\n parent.appendChild(el);\n }\n return el;\n}\n\nexport function addEventListener<K extends keyof HTMLElementEventMap>(\n el: HTMLElement,\n event: K,\n listener: (this: HTMLElement, evt: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof DocumentEventMap>(\n el: Document,\n event: K,\n listener: (this: Document, evt: DocumentEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof WindowEventMap>(\n el: Window,\n event: K,\n listener: (this: Window, evt: WindowEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof MediaQueryListEventMap>(\n el: MediaQueryList,\n event: K,\n listener: (this: MediaQueryList, evt: MediaQueryListEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener(\n el: HTMLElement | Document | ShadowRoot | Window | MediaQueryList,\n event: string,\n listener: EventListener,\n options?: AddEventListenerOptions\n) {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener, options);\n}\n\nexport function getLineNumberAttr(\n el: HTMLElement,\n key = 'line'\n): number | undefined {\n const value = el.dataset[key];\n if (value === undefined) {\n return undefined;\n }\n const lineNumber = parseInt(value, 10);\n if (Number.isNaN(lineNumber)) {\n return undefined;\n }\n return lineNumber;\n}\n\nexport function clampDomOffset(node: Node, offset: number): number {\n if (node.nodeType === 3) {\n const length = (node as Text).textContent?.length ?? 0;\n return Math.max(0, Math.min(offset, length));\n }\n if (node.nodeType === 1) {\n return Math.max(0, Math.min(offset, node.childNodes.length));\n }\n return 0;\n}\n\nexport function extend<T extends object>(obj: T, attrs: Partial<T>): T {\n return Object.assign(obj, attrs);\n}\n\n// oxlint-disable-next-line typescript/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n func: T,\n wait: number\n): (...args: Parameters<T>) => void {\n let timeout: ReturnType<typeof setTimeout>;\n return function (this: ThisType<T>, ...args: Parameters<T>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\nexport function round(value: number, precision: number = 1000): number {\n return Math.round(value * precision) / precision;\n}\n\nexport function endsWithLineBreak(text: string): boolean {\n return text.endsWith('\\n') || text.endsWith('\\r');\n}\n\n// Creates an Intl.Segmenter, or undefined when the engine lacks support.\n// Callers must fall back to a degraded path when this returns undefined.\nexport function createSegmenter(\n options: Intl.SegmenterOptions\n): Intl.Segmenter | undefined {\n if (typeof Intl === 'undefined' || typeof Intl.Segmenter !== 'function') {\n return undefined;\n }\n return new Intl.Segmenter(undefined, options);\n}\n\n// Lazily created and cached grapheme segmenter. Avoids constructing\n// Intl.Segmenter at import time so importing the editor never throws on\n// engines that lack it. Undefined when the engine has no Intl.Segmenter.\nlet graphemeSegmenter: Intl.Segmenter | undefined;\nlet graphemeSegmenterInit = false;\nexport function getGraphemeSegmenter(): Intl.Segmenter | undefined {\n if (!graphemeSegmenterInit) {\n graphemeSegmenter = createSegmenter({ granularity: 'grapheme' });\n graphemeSegmenterInit = true;\n }\n return graphemeSegmenter;\n}\n"],"mappings":";AAAA,SAAgB,EACd,SACA,OAKA,QAC0B;CAC1B,MAAM,EAAE,OAAO,SAAS,UAAU,GAAG,UAAU,SAAS,CAAC;CACzD,MAAM,KAAK,SAAS,cAAc,OAAO;CACzC,OAAO,OAAO,IAAI,KAAK;CACvB,IAAI,UAAU,KAAA,GACZ,IAAI,OAAO,UAAU,UACnB,GAAG,MAAM,UAAU;MAEnB,OAAO,OAAO,GAAG,OAAO,KAAK;CAGjC,IAAI,YAAY,KAAA,GACd,IAAI,OAAO,YAAY,UACrB,GAAG,QAAQ,WAAW;MACjB,IAAI,MAAM,QAAQ,OAAO,GAC9B,QAAQ,SAAS,QAAQ;EACvB,GAAG,QAAQ,OAAO;CACpB,CAAC;MAED,OAAO,OAAO,GAAG,SAAS,OAAO;CAGrC,IAAI,aAAa,KAAA,GACf,GAAG,gBAAgB,GAAG,QAAQ;CAEhC,IAAI,WAAW,KAAA,GACb,OAAO,YAAY,EAAE;CAEvB,OAAO;AACT;AA0BA,SAAgB,iBACd,IACA,OACA,UACA,SACA;CACA,GAAG,iBAAiB,OAAO,UAAU,OAAO;CAC5C,aAAa,GAAG,oBAAoB,OAAO,UAAU,OAAO;AAC9D;AAEA,SAAgB,kBACd,IACA,MAAM,QACc;CACpB,MAAM,QAAQ,GAAG,QAAQ;CACzB,IAAI,UAAU,KAAA,GACZ;CAEF,MAAM,aAAa,SAAS,OAAO,EAAE;CACrC,IAAI,OAAO,MAAM,UAAU,GACzB;CAEF,OAAO;AACT;AAEA,SAAgB,eAAe,MAAY,QAAwB;CACjE,IAAI,KAAK,aAAa,GAAG;EACvB,MAAM,SAAU,KAAc,aAAa,UAAU;EACrD,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;CAC7C;CACA,IAAI,KAAK,aAAa,GACpB,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,KAAK,WAAW,MAAM,CAAC;CAE7D,OAAO;AACT;AAEA,SAAgB,OAAyB,KAAQ,OAAsB;CACrE,OAAO,OAAO,OAAO,KAAK,KAAK;AACjC;AAGA,SAAgB,SACd,MACA,MACkC;CAClC,IAAI;CACJ,OAAO,SAA6B,GAAG,MAAqB;EAC1D,aAAa,OAAO;EACpB,UAAU,iBAAiB,KAAK,MAAM,MAAM,IAAI,GAAG,IAAI;CACzD;AACF;AAEA,SAAgB,MAAM,OAAe,YAAoB,KAAc;CACrE,OAAO,KAAK,MAAM,QAAQ,SAAS,IAAI;AACzC;AAEA,SAAgB,kBAAkB,MAAuB;CACvD,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AAIA,SAAgB,gBACd,SAC4B;CAC5B,IAAI,OAAO,SAAS,eAAe,OAAO,KAAK,cAAc,YAC3D;CAEF,OAAO,IAAI,KAAK,UAAU,KAAA,GAAW,OAAO;AAC9C;AAKA,IAAI;AACJ,IAAI,wBAAwB;AAC5B,SAAgB,uBAAmD;CACjE,IAAI,CAAC,uBAAuB;EAC1B,oBAAoB,gBAAgB,EAAE,aAAa,WAAW,CAAC;EAC/D,wBAAwB;CAC1B;CACA,OAAO;AACT"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeViewCreateEditorOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewItemScrollTarget, CodeViewLayout, CodeViewLineScrollTarget, CodeViewPositionScrollTarget, CodeViewRangeScrollTarget, CodeViewScrollBehavior, CodeViewScrollTarget, ConflictResolverTypes, ContextContent, CreatePatchOptionsNonabortable, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffFileInput, DiffIndicators, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsBaseComponent, DiffsComponentOptions, DiffsEditableComponent, DiffsEditor, DiffsEditorHost, DiffsEditorSelection, DiffsHighlighter, DiffsTextDocument, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffContentsLoader, FileDiffLoadedChangedFiles, FileDiffLoadedFiles, FileDiffLoadedPureRenamedFile, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlightedToken, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MaybeDiffFileInput, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, NumericScrollLineAnchor, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PendingCodeViewLayoutReset, PostRenderPhase, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderFilenameSuffixCallback, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectedLineRange, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SmoothScrollSettings, StickySpecs, SupportedLanguages, ThemeRegistration, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, TokenEventBase, VirtualFileMetrics, VirtualWindowSpecs } from "./types.js";
1
+ import { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeViewCreateEditorOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewItemScrollTarget, CodeViewLayout, CodeViewLineScrollTarget, CodeViewPositionScrollTarget, CodeViewRangeScrollTarget, CodeViewScrollBehavior, CodeViewScrollTarget, ConflictResolverTypes, ContextContent, CreatePatchOptionsNonabortable, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffFileInput, DiffIndicators, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsBaseComponent, DiffsComponentOptions, DiffsEditableComponent, DiffsEditor, DiffsHighlighter, DiffsTextDocument, DiffsThemeNames, EditableInstance, EditorActiveLineOptions, EditorSelection, EditorState, EditorViewState, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffContentsLoader, FileDiffLoadedChangedFiles, FileDiffLoadedFiles, FileDiffLoadedPureRenamedFile, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlightedToken, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MaybeDiffFileInput, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, NumericScrollLineAnchor, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PendingCodeViewLayoutReset, Position, PostRenderPhase, PrePropertiesConfig, ProcessFileConflictData, Range, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderFilenameSuffixCallback, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectedLineRange, SelectionDirection, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SmoothScrollSettings, StickySpecs, SupportedLanguages, TextEdit, ThemeRegistration, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, TokenEventBase, VirtualFileMetrics, VirtualWindowSpecs } from "./types.js";
2
2
  import { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LogTypes, MergeConflictActionTarget, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, SelectionWriteOptions, pluckInteractionOptions } from "./managers/InteractionManager.js";
3
3
  import { ResizeManager, ResizeManagerColumnVariableMode, ResizeManagerSetupOptions } from "./managers/ResizeManager.js";
4
4
  import { FileRenderResult, FileRenderer, FileRendererOptions } from "./renderers/FileRenderer.js";
@@ -6,7 +6,7 @@ import { File, FileHydrateProps, FileOptions, FileRenderProps } from "./componen
6
6
  import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
7
7
  import { DiffHunksRenderer, DiffHunksRendererOptions, DiffHunksRendererOptionsWithDefaults, HunksRenderResult, InjectedRow, LineDecoration, RenderedLineContext, SplitInjectedRow, SplitInjectedRowPlacement, SplitLineDecorationProps, UnifiedInjectedRowPlacement, UnifiedLineDecorationProps } from "./renderers/DiffHunksRenderer.js";
8
8
  import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderBaseProps, FileDiffRenderProps, FileDiffType } from "./components/FileDiff.js";
9
- import { Virtualizer, VirtualizerConfig } from "./components/Virtualizer.js";
9
+ import { Virtualizer, VirtualizerConfig, VirtualizerScrollOptions } from "./components/Virtualizer.js";
10
10
  import { VirtualizedFile } from "./components/VirtualizedFile.js";
11
11
  import { VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
12
12
  import { CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CodeView, CodeViewCoordinator, CodeViewLineSelection, CodeViewOptions, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, CodeViewScrollListener, CodeViewSlotSnapshot } from "./components/CodeView.js";
@@ -38,8 +38,9 @@ import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCus
38
38
  import { CustomThemeLoader, registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
39
39
  import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
40
40
  import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
41
- import { dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
41
+ import { clearRenderQueue, dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
42
42
  import { SVGSpriteNames, SVGSpriteSheet } from "./sprite.js";
43
+ import { isDiffAnnotation, isDiffAnnotationCollection, isFileAnnotation, isFileAnnotationCollection } from "./utils/annotationHelpers.js";
43
44
  import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
44
45
  import { areDiffRenderOptionsEqual } from "./utils/areDiffRenderOptionsEqual.js";
45
46
  import { areDiffTargetsEqual } from "./utils/areDiffTargetsEqual.js";
@@ -107,4 +108,4 @@ import { setLanguageOverride } from "./utils/setLanguageOverride.js";
107
108
  import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
108
109
  import { trimPatchContext } from "./utils/trimPatchContext.js";
109
110
  import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
110
- export { ALTERNATE_FILE_NAMES_GIT, type AnnotationLineMap, type AnnotationSide, type AnnotationSpan, type AppliedThemeStyleCache, AttachedLanguages, AttachedThemes, type BaseCodeOptions, type BaseDiffOptions, type BaseDiffOptionsWithDefaults, type BundledLanguage, CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, type ChangeContent, type ChangeTypes, type CodeColumnType, type CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, CodeView, CodeViewCoordinator, type CodeViewCreateEditorOptions, type CodeViewDiffItem, type CodeViewFileItem, type CodeViewItem, type CodeViewItemScrollTarget, type CodeViewLayout, type CodeViewLineScrollTarget, CodeViewLineSelection, CodeViewOptions, type CodeViewPositionScrollTarget, type CodeViewRangeScrollTarget, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, type CodeViewScrollBehavior, CodeViewScrollListener, type CodeViewScrollTarget, CodeViewSlotSnapshot, type ConflictResolverTypes, type ContextContent, CreateFileHeaderElementProps, type CreatePatchOptionsNonabortable, type CustomPreProperties, CustomThemeLoader, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, type DecorationItem, type DiffAcceptRejectHunkConfig, type DiffAcceptRejectHunkType, type DiffFileInput, DiffHunksRenderer, DiffHunksRendererOptions, DiffHunksRendererOptionsWithDefaults, type DiffIndicators, type DiffLineAnnotation, type DiffLineEventBaseProps, type DiffTokenEventBaseProps, type DiffsBaseComponent, type DiffsComponentOptions, type DiffsEditableComponent, type DiffsEditor, type DiffsEditorHost, type DiffsEditorSelection, type DiffsHighlighter, type DiffsTextDocument, type DiffsThemeNames, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, type ExpansionDirections, type ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, type FileContents, FileDiff, type FileDiffContentsLoader, FileDiffHydrationProps, type FileDiffLoadedChangedFiles, type FileDiffLoadedFiles, type FileDiffLoadedPureRenamedFile, type FileDiffMetadata, FileDiffOptions, FileDiffRenderBaseProps, FileDiffRenderProps, FileDiffType, type FileHeaderRenderMode, FileHydrateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, type ForceDiffPlainTextOptions, type ForceFilePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, type GapSpan, GetHoveredLineResult, GetLineIndexUtility, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, type HighlightedToken, type HighlighterTypes, type Hunk, type HunkData, type HunkExpansionRegion, type HunkLineType, type HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, InjectedRow, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, type LanguageRegistration, type LineAnnotation, LineDecoration, type LineDiffTypes, type LineEventBaseProps, type LineInfo, type LineSpans, type LineTypes, LogTypes, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, type MaybeDiffFileInput, type MergeConflictActionPayload, MergeConflictActionTarget, MergeConflictActionsTypeOption, type MergeConflictMarkerRow, type MergeConflictMarkerRowType, type MergeConflictRegion, type MergeConflictResolution, type NumericScrollLineAnchor, type ObservedAnnotationNodes, type ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, ParsedLine, type ParsedPatch, type PendingCodeViewLayoutReset, type PostRenderPhase, type PrePropertiesConfig, type ProcessFileConflictData, RecallToken, RegisteredCustomLanguages, type RenderDiffFilesResult, type RenderDiffOptions, type RenderDiffResult, type RenderFileMetadata, type RenderFileOptions, type RenderFileResult, type RenderHeaderFilenameSuffixCallback, type RenderHeaderMetadataCallback, type RenderHeaderPrefixCallback, RenderMergeConflictActions, type RenderRange, type RenderWindow, type RenderedDiffASTCache, type RenderedFileASTCache, RenderedLineContext, ResizeManager, ResizeManagerColumnVariableMode, ResizeManagerSetupOptions, ResolvedLanguages, ResolvingLanguages, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, type SelectedLineRange, type SelectionPoint, type SelectionSide, SelectionWriteOptions, type SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, type ShikiTransformer, type SmoothScrollSettings, SplitInjectedRow, SplitInjectedRowPlacement, SplitLineDecorationProps, type StickySpecs, type SupportedLanguages, THEME_CSS_ATTRIBUTE, type ThemeRegistration, type ThemeRegistrationResolved, type ThemeTypes, type ThemedDiffResult, type ThemedFileResult, type ThemedToken, type ThemesType, type TokenEventBase, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnifiedInjectedRowPlacement, UnifiedLineDecorationProps, UnresolvedFile, UnresolvedFileHydrationProps, UnresolvedFileOptions, UnresolvedFileRenderProps, VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, type VirtualFileMetrics, type VirtualWindowSpecs, VirtualizedFile, VirtualizedFileDiff, Virtualizer, VirtualizerConfig, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areDiffTargetsEqual, areFileRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, cloneFileDiffMetadata, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, detachString, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, hydratePartialDiff, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, patchScrollbarGutterSize, pluckInteractionOptions, prefersReducedMotion, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, releaseStringDetachBuffer, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
111
+ export { ALTERNATE_FILE_NAMES_GIT, type AnnotationLineMap, type AnnotationSide, type AnnotationSpan, type AppliedThemeStyleCache, AttachedLanguages, AttachedThemes, type BaseCodeOptions, type BaseDiffOptions, type BaseDiffOptionsWithDefaults, type BundledLanguage, CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, type ChangeContent, type ChangeTypes, type CodeColumnType, type CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, CodeView, CodeViewCoordinator, type CodeViewCreateEditorOptions, type CodeViewDiffItem, type CodeViewFileItem, type CodeViewItem, type CodeViewItemScrollTarget, type CodeViewLayout, type CodeViewLineScrollTarget, CodeViewLineSelection, CodeViewOptions, type CodeViewPositionScrollTarget, type CodeViewRangeScrollTarget, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, type CodeViewScrollBehavior, CodeViewScrollListener, type CodeViewScrollTarget, CodeViewSlotSnapshot, type ConflictResolverTypes, type ContextContent, CreateFileHeaderElementProps, type CreatePatchOptionsNonabortable, type CustomPreProperties, CustomThemeLoader, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, type DecorationItem, type DiffAcceptRejectHunkConfig, type DiffAcceptRejectHunkType, type DiffFileInput, DiffHunksRenderer, DiffHunksRendererOptions, DiffHunksRendererOptionsWithDefaults, type DiffIndicators, type DiffLineAnnotation, type DiffLineEventBaseProps, type DiffTokenEventBaseProps, type DiffsBaseComponent, type DiffsComponentOptions, type DiffsEditableComponent, type DiffsEditor, type DiffsHighlighter, type DiffsTextDocument, type DiffsThemeNames, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, type EditableInstance, type EditorActiveLineOptions, type EditorSelection, type EditorState, type EditorViewState, type ExpansionDirections, type ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, type FileContents, FileDiff, type FileDiffContentsLoader, FileDiffHydrationProps, type FileDiffLoadedChangedFiles, type FileDiffLoadedFiles, type FileDiffLoadedPureRenamedFile, type FileDiffMetadata, FileDiffOptions, FileDiffRenderBaseProps, FileDiffRenderProps, FileDiffType, type FileHeaderRenderMode, FileHydrateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, type ForceDiffPlainTextOptions, type ForceFilePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, type GapSpan, GetHoveredLineResult, GetLineIndexUtility, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, type HighlightedToken, type HighlighterTypes, type Hunk, type HunkData, type HunkExpansionRegion, type HunkLineType, type HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, InjectedRow, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, type LanguageRegistration, type LineAnnotation, LineDecoration, type LineDiffTypes, type LineEventBaseProps, type LineInfo, type LineSpans, type LineTypes, LogTypes, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, type MaybeDiffFileInput, type MergeConflictActionPayload, MergeConflictActionTarget, MergeConflictActionsTypeOption, type MergeConflictMarkerRow, type MergeConflictMarkerRowType, type MergeConflictRegion, type MergeConflictResolution, type NumericScrollLineAnchor, type ObservedAnnotationNodes, type ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, ParsedLine, type ParsedPatch, type PendingCodeViewLayoutReset, type Position, type PostRenderPhase, type PrePropertiesConfig, type ProcessFileConflictData, type Range, RecallToken, RegisteredCustomLanguages, type RenderDiffFilesResult, type RenderDiffOptions, type RenderDiffResult, type RenderFileMetadata, type RenderFileOptions, type RenderFileResult, type RenderHeaderFilenameSuffixCallback, type RenderHeaderMetadataCallback, type RenderHeaderPrefixCallback, RenderMergeConflictActions, type RenderRange, type RenderWindow, type RenderedDiffASTCache, type RenderedFileASTCache, RenderedLineContext, ResizeManager, ResizeManagerColumnVariableMode, ResizeManagerSetupOptions, ResolvedLanguages, ResolvingLanguages, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, type SelectedLineRange, type SelectionDirection, type SelectionPoint, type SelectionSide, SelectionWriteOptions, type SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, type ShikiTransformer, type SmoothScrollSettings, SplitInjectedRow, SplitInjectedRowPlacement, SplitLineDecorationProps, type StickySpecs, type SupportedLanguages, THEME_CSS_ATTRIBUTE, type TextEdit, type ThemeRegistration, type ThemeRegistrationResolved, type ThemeTypes, type ThemedDiffResult, type ThemedFileResult, type ThemedToken, type ThemesType, type TokenEventBase, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnifiedInjectedRowPlacement, UnifiedLineDecorationProps, UnresolvedFile, UnresolvedFileHydrationProps, UnresolvedFileOptions, UnresolvedFileRenderProps, VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, type VirtualFileMetrics, type VirtualWindowSpecs, VirtualizedFile, VirtualizedFileDiff, Virtualizer, VirtualizerConfig, VirtualizerScrollOptions, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areDiffTargetsEqual, areFileRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, clearRenderQueue, cloneFileDiffMetadata, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, detachString, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, hydratePartialDiff, isDefaultRenderRange, isDiffAnnotation, isDiffAnnotationCollection, isFileAnnotation, isFileAnnotationCollection, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, patchScrollbarGutterSize, pluckInteractionOptions, prefersReducedMotion, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, releaseStringDetachBuffer, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
package/dist/index.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import { ALTERNATE_FILE_NAMES_GIT, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, SPLIT_WITH_NEWLINES, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
2
- import { dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
2
+ import { clearRenderQueue, dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
3
3
  import { areObjectsEqual } from "./utils/areObjectsEqual.js";
4
4
  import { areThemesEqual } from "./utils/areThemesEqual.js";
5
5
  import { areOptionsEqual } from "./utils/areOptionsEqual.js";
6
6
  import { areSelectionsEqual } from "./utils/areSelectionsEqual.js";
7
7
  import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
8
+ import { cleanLastNewline } from "./utils/cleanLastNewline.js";
9
+ import { detachString, releaseStringDetachBuffer } from "./utils/detachString.js";
10
+ import { parsePatchFiles, processFile, processPatch } from "./utils/parsePatchFiles.js";
11
+ import { parseDiffFromFile } from "./utils/parseDiffFromFile.js";
8
12
  import { prefersReducedMotion } from "./utils/prefersReducedMotion.js";
9
13
  import { areFilesEqual } from "./utils/areFilesEqual.js";
10
14
  import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
@@ -58,10 +62,6 @@ import { VirtualizedFile } from "./components/VirtualizedFile.js";
58
62
  import { areDiffTargetsEqual } from "./utils/areDiffTargetsEqual.js";
59
63
  import { cloneFileDiffMetadata } from "./utils/cloneFileDiffMetadata.js";
60
64
  import { hydratePartialDiff } from "./utils/hydratePartialDiff.js";
61
- import { cleanLastNewline } from "./utils/cleanLastNewline.js";
62
- import { detachString, releaseStringDetachBuffer } from "./utils/detachString.js";
63
- import { parsePatchFiles, processFile, processPatch } from "./utils/parsePatchFiles.js";
64
- import { parseDiffFromFile } from "./utils/parseDiffFromFile.js";
65
65
  import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
66
66
  import { areDiffRenderOptionsEqual } from "./utils/areDiffRenderOptionsEqual.js";
67
67
  import { createEmptyRowBuffer } from "./utils/createEmptyRowBuffer.js";
@@ -95,6 +95,7 @@ import { getResolvedThemes } from "./highlighter/themes/getResolvedThemes.js";
95
95
  import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
96
96
  import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCustomCSSVariableTheme.js";
97
97
  import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
98
+ import { isDiffAnnotation, isDiffAnnotationCollection, isFileAnnotation, isFileAnnotationCollection } from "./utils/annotationHelpers.js";
98
99
  import { areWorkerStatsEqual } from "./utils/areWorkerStatsEqual.js";
99
100
  import { createRowNodes } from "./utils/createRowNodes.js";
100
101
  import { createStyleElement, createThemeStyleElement } from "./utils/createStyleElement.js";
@@ -105,4 +106,4 @@ import { parseLineType } from "./utils/parseLineType.js";
105
106
  import { setLanguageOverride } from "./utils/setLanguageOverride.js";
106
107
  import { trimPatchContext } from "./utils/trimPatchContext.js";
107
108
  import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
108
- export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, CodeToTokenTransformStream, CodeView, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, DiffHunksRenderer, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, InteractionManager, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, RegisteredCustomLanguages, ResizeManager, ResolvedLanguages, ResolvingLanguages, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnresolvedFile, VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areDiffTargetsEqual, areFileRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, cloneFileDiffMetadata, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, detachString, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, hydratePartialDiff, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, patchScrollbarGutterSize, pluckInteractionOptions, prefersReducedMotion, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, releaseStringDetachBuffer, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
109
+ export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, CodeToTokenTransformStream, CodeView, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, DiffHunksRenderer, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, InteractionManager, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, RegisteredCustomLanguages, ResizeManager, ResolvedLanguages, ResolvingLanguages, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnresolvedFile, VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areDiffTargetsEqual, areFileRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, clearRenderQueue, cloneFileDiffMetadata, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, detachString, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, hydratePartialDiff, isDefaultRenderRange, isDiffAnnotation, isDiffAnnotationCollection, isFileAnnotation, isFileAnnotationCollection, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, patchScrollbarGutterSize, pluckInteractionOptions, prefersReducedMotion, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, releaseStringDetachBuffer, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
@@ -20,6 +20,10 @@ interface SelectionWriteOptions {
20
20
  activeLineSide?: SelectionSide;
21
21
  lineNumberOnly?: boolean;
22
22
  }
23
+ interface EditorActiveLineWriteOptions {
24
+ lineNumberOnly?: boolean;
25
+ side?: SelectionSide;
26
+ }
23
27
  type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;
24
28
  type EventClickProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineClickProps : OnDiffLineClickProps;
25
29
  type PointerEventEnterLeaveProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineEnterLeaveProps : OnDiffLineEnterLeaveProps;
@@ -76,22 +80,27 @@ declare class InteractionManager<TMode extends InteractionManagerMode> {
76
80
  private hasPointerListeners;
77
81
  private hasDocumentPointerListeners;
78
82
  private selectedRange;
79
- private activeLineHighlightSide;
80
- private activeLineNumberOnly;
81
- private editorAttached;
83
+ private selectedRangeHighlightSide;
84
+ private selectedRangeLineNumberOnly;
85
+ private editorActiveLine;
86
+ private editorActiveLineSide;
87
+ private editorLineNumberOnly;
82
88
  private proposedSelectedRange;
83
- private renderedSelectionRange;
89
+ private renderedSelectedLinesState;
90
+ private renderedEditorActiveLineState;
84
91
  private selectionAnchor;
85
- private queuedSelectionRender;
86
92
  private pointerSession;
87
93
  constructor(mode: TMode, options: InteractionManagerOptions<TMode>);
88
94
  setOptions(options: InteractionManagerOptions<TMode>): void;
89
95
  cleanUp(): void;
90
96
  setup(pre: HTMLPreElement): void;
91
97
  setSelectionDirty(): void;
92
- setEditorAttached(attached: boolean): void;
93
98
  isSelectionDirty(): boolean;
94
99
  setSelection(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;
100
+ setEditorActiveLine(lineNumber: number | null, {
101
+ lineNumberOnly,
102
+ side
103
+ }?: EditorActiveLineWriteOptions): void;
95
104
  getSelection(): SelectedLineRange | null;
96
105
  getHoveredLine: () => GetHoveredLineResult<TMode> | undefined;
97
106
  handlePointerClick: (event: MouseEvent) => void;
@@ -139,7 +148,9 @@ declare class InteractionManager<TMode extends InteractionManagerMode> {
139
148
  private clearProposedSelection;
140
149
  private updateSelection;
141
150
  private getIndexesFromSelection;
142
- private highlightLineNumberOnly;
151
+ private getSelectionRenderState;
152
+ private resolveLineRenderRange;
153
+ private getLineRenderColumns;
143
154
  private renderSelection;
144
155
  private notifySelectionCommitted;
145
156
  private notifySelectionChangeDelta;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.d.ts","names":[],"sources":["../../src/managers/InteractionManager.ts"],"mappings":"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"}
1
+ {"version":3,"file":"InteractionManager.d.ts","names":[],"sources":["../../src/managers/InteractionManager.ts"],"mappings":";;;KAkCY,QAAA;AAAA,KAEA,sBAAA;AAAA,UAEK,gBAAA,SAAyB,kBAAkB;EAC1D,KAAA,EAAO,YAAA;AAAA;AAAA,UAGQ,qBAAA,SAA8B,kBAAkB;EAC/D,KAAA,EAAO,YAAA;AAAA;AAAA,UAGQ,oBAAA,SAA6B,sBAAsB;EAClE,KAAA,EAAO,YAAA;AAAA;AAAA,UAGQ,yBAAA,SAAkC,sBAAsB;EACvE,KAAA,EAAO,YAAA;AAAA;AAAA,UAGQ,qBAAA;EACf,MAAA;EAIA,cAAA,GAAiB,aAAa;EAE9B,cAAA;AAAA;AAAA,UAGQ,4BAAA;EACR,cAAA;EACA,IAAA,GAAO,aAAa;AAAA;AAAA,KAGV,mBAAA,IACV,UAAA,UACA,IAAA,GAAO,aAAa;AAAA,KAGjB,eAAA,eAA8B,sBAAA,IACjC,KAAA,kBAAuB,gBAAA,GAAmB,oBAAA;AAAA,KAEvC,2BAAA,eAA0C,sBAAA,IAC7C,KAAA,kBAAuB,qBAAA,GAAwB,yBAAA;AAAA,KAMrC,iBAAA,eAAgC,sBAAA,IAC1C,KAAA,kBAAuB,cAAA,GAAiB,uBAAA;AAAA,KAS9B,oBAAA,eAAmC,sBAAA,IAC7C,KAAA;EACM,UAAA;AAAA;EACA,UAAA;EAAoB,IAAA,EAAM,cAAA;AAAA;AAAA,UAoEjB,yBAAA;EACf,IAAA;EACA,UAAA,EAAY,uBAAuB;EACnC,aAAA;AAAA;AAAA,UAgDe,6BAAA,eACD,sBAAA;EAEd,kBAAA;EACA,mCAAA;EACA,mBAAA;EACA,oBAAA,EAAsB,KAAA,EAAO,iBAAA;EAC7B,WAAA,EAAa,KAAA,EAAO,eAAA,CAAgB,KAAA;EACpC,iBAAA,EAAmB,KAAA,EAAO,eAAA,CAAgB,KAAA;EAC1C,WAAA,EAAa,KAAA,EAAO,2BAAA,CAA4B,KAAA;EAChD,WAAA,EAAa,KAAA,EAAO,2BAAA,CAA4B,KAAA;EAChD,YAAA,EAAc,KAAA,EAAO,iBAAA,CAAkB,KAAA,GAAQ,KAAA,EAAO,UAAA;EACtD,YAAA,EAAc,KAAA,EAAO,iBAAA,CAAkB,KAAA,GAAQ,KAAA,EAAO,YAAA;EACtD,YAAA,EAAc,KAAA,EAAO,iBAAA,CAAkB,KAAA,GAAQ,KAAA,EAAO,YAAA;EACtD,oBAAA,GAAuB,QAAA;EACvB,mBAAA;EACA,mBAAA;EACA,cAAA,IAAkB,KAAA,EAAO,iBAAA;EACzB,oBAAA,IAAwB,KAAA,EAAO,iBAAA;EAC/B,qBAAA,IAAyB,KAAA,EAAO,iBAAA;EAChC,kBAAA,IAAsB,KAAA,EAAO,iBAAA;EAC7B,YAAA,GAAe,mBAAA;AAAA;AAAA,UAGA,yBAAA,eACD,sBAAA,UACN,6BAAA,CAA8B,KAAA;EACtC,uBAAA;EACA,YAAA,EACE,SAAA,UACA,SAAA,EAAW,mBAAA,EACX,0BAAA;EAEF,0BAAA,EAA4B,MAAA,EAAQ,yBAAA;AAAA;AAAA,cAQzB,kBAAA,eAAiC,sBAAA;EAAA,QA+BlC,IAAA;EAAA,QACA,OAAA;EAAA,QA/BF,WAAA;EAAA,QACA,YAAA;EAAA,QACA,GAAA;EAAA,QAEA,iBAAA;EAAA,QACA,sBAAA;EAAA,QACA,mBAAA;EAAA,QACA,iBAAA;EAAA,QAEA,oBAAA;EAAA,QACA,0BAAA;EAAA,QAEA,mBAAA;EAAA,QACA,2BAAA;EAAA,QAEA,aAAA;EAAA,QACA,0BAAA;EAAA,QACA,2BAAA;EAAA,QAGA,gBAAA;EAAA,QACA,oBAAA;EAAA,QACA,oBAAA;EAAA,QACA,qBAAA;EAAA,QACA,0BAAA;EAAA,QACA,6BAAA;EAAA,QACA,eAAA;EAAA,QACA,cAAA;EAER,WAAA,CACU,IAAA,EAAM,KAAA,EACN,OAAA,EAAS,yBAAA,CAA0B,KAAA;EAG7C,UAAA,CAAW,OAAA,EAAS,yBAAA,CAA0B,KAAA;EAI9C,OAAA;EAwBA,KAAA,CAAM,GAAA,EAAK,cAAA;EA+BX,iBAAA;EAKA,gBAAA;EAOA,YAAA,CACE,KAAA,EAAO,iBAAA,SACP,OAAA,GAAU,qBAAA;EA0BZ,mBAAA,CACE,UAAA;IACE,cAAA;IAAwB;EAAA,IAAQ,4BAAA;EAepC,YAAA,IAAgB,iBAAA;EAIhB,cAAA,QAAqB,oBAAA,CAAqB,KAAA;EAkB1C,kBAAA,GAAkB,KAAA,EAAW,UAAA;EAgC7B,iBAAA,GAAiB,KAAA,EAAW,YAAA;EAoC5B,kBAAA,GAAkB,KAAA,EAAW,YAAA;EAAA,QA8BrB,kBAAA;EAAA,QAwHA,oBAAA;EAAA,QAoGA,+BAAA;EAAA,QAmCA,iBAAA;EAAA,QAuBA,iCAAA;EAAA,QAkFA,mCAAA;EAAA,QAoCA,yBAAA;EAAA,QAqEA,uBAAA;EAAA,QA8DA,2BAAA;EAAA,QAqBA,gBAAA;EAAA,QASA,cAAA;EAAA,QAgBA,iBAAA;EAAA,QAOA,eAAA;EAAA,QAOA,uBAAA;EAAA,QAsCA,2BAAA;EAAA,QAcA,YAAA;EAAA,QAWA,yBAAA;EAAA,QAcA,iBAAA;EAAA,QAQA,WAAA;EAAA,QAOA,oBAAA;EAAA,QAKA,aAAA;EAAA,QAmBA,sBAAA;EAAA,QAQA,uBAAA;EAAA,QAsCA,8BAAA;EAAA,QAaA,8BAAA;EAAA,QAaA,mBAAA;EAAA,QAIA,2BAAA;EAAA,QAMA,qBAAA;EAAA,QAsBA,oBAAA;EAAA,QAUA,sBAAA;EAAA,QAaA,qBAAA;EAAA,QAQA,oBAAA;EAAA,QAqBA,mBAAA;EAAA,QAiBA,iBAAA;EAAA,QAeA,eAAA;EAAA,QAmBA,sBAAA;EAAA,QAaA,OAAA;EAAA,QAwBA,YAAA;EAAA,QAUA,wBAAA;EAAA,QAMA,sBAAA;EAAA,QAIA,eAAA;EAAA,QAsCA,uBAAA;EAAA,QA0BA,uBAAA;EAAA,QAyBA,sBAAA;EAAA,QAoBA,oBAAA;EAAA,QAsEA,eAAA;EAAA,QAqKA,wBAAA;EAAA,QAIA,0BAAA;EAAA,QAMA,oBAAA;EAAA,QAIA,kBAAA;EAAA,QAIA,gBAAA;EAAA,QAwBA,qBAAA;EAAA,QA8BA,sBAAA;EAAA,QAYA,mBAAA;EAAA,QAcA,oBAAA;EAAA,QAqOA,WAAA;EAAA,QAIA,cAAA;AAAA;AAAA,KAmBL,uBAAA,eAAsC,sBAAA,IACzC,6BAAA,CAA8B,KAAA;EAC5B,mBAAA,EACE,aAAA,QAAqB,oBAAA,CAAqB,KAAA,gBACzC,WAAA;AAAA;AAAA,iBAGS,uBAAA,eAAsC,sBAAA;EAElD,mCAAA;EACA,mBAAA;EACA,kBAAA;EACA,oBAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;EACA,iBAAA;EACA,YAAA;EACA,YAAA;EACA,YAAA;EACA,mBAAA;EACA,oBAAA;EACA,mBAAA;EACA,mBAAA;EACA,cAAA;EACA,oBAAA;EACA,qBAAA;EACA;AAAA,GACC,uBAAA,CAAwB,KAAA,GAC3B,YAAA,IACE,SAAA,UACA,SAAA,EAAW,mBAAA,EACX,0BAAA,uBAEF,YAAA,GAAe,mBAAA,EACf,0BAAA,IAA8B,MAAA,EAAQ,yBAAA,YACrC,yBAAA,CAA0B,KAAA"}