@openclaw/diffs 2026.8.1-beta.3 → 2026.8.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 (620) hide show
  1. package/dist/assets/viewer-runtime.js +129 -156
  2. package/dist/{browser.runtime-_hkQDewM.js → browser.runtime-DTKAejqd.js} +1 -1
  3. package/dist/index.js +18 -16
  4. package/dist/{viewer-assets-DKR8WLAI.js → viewer-assets-D3qrnaxI.js} +11 -23
  5. package/node_modules/@pierre/diffs/README.md +9 -0
  6. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +94 -7
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  8. package/node_modules/@pierre/diffs/dist/components/CodeView.js +333 -47
  9. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  10. package/node_modules/@pierre/diffs/dist/components/File.d.ts +22 -4
  11. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  12. package/node_modules/@pierre/diffs/dist/components/File.js +143 -23
  13. package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
  14. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +83 -19
  15. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  16. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +461 -46
  17. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  18. package/node_modules/@pierre/diffs/dist/components/FileStream.d.ts.map +1 -1
  19. package/node_modules/@pierre/diffs/dist/components/FileStream.js +2 -1
  20. package/node_modules/@pierre/diffs/dist/components/FileStream.js.map +1 -1
  21. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts +2 -2
  22. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts.map +1 -1
  23. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js +9 -4
  24. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js.map +1 -1
  25. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +7 -3
  26. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  27. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +87 -60
  28. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  29. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +30 -5
  30. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  31. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +277 -56
  32. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  33. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts +17 -3
  34. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts.map +1 -1
  35. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js +44 -5
  36. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js.map +1 -1
  37. package/node_modules/@pierre/diffs/dist/constants.d.ts +4 -1
  38. package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
  39. package/node_modules/@pierre/diffs/dist/constants.js +4 -1
  40. package/node_modules/@pierre/diffs/dist/constants.js.map +1 -1
  41. package/node_modules/@pierre/diffs/dist/edit/index.d.ts +6 -0
  42. package/node_modules/@pierre/diffs/dist/edit/index.js +3 -0
  43. package/node_modules/@pierre/diffs/dist/editor/command.d.ts +15 -0
  44. package/node_modules/@pierre/diffs/dist/editor/command.d.ts.map +1 -0
  45. package/node_modules/@pierre/diffs/dist/editor/command.js +128 -0
  46. package/node_modules/@pierre/diffs/dist/editor/command.js.map +1 -0
  47. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts +76 -0
  48. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts.map +1 -0
  49. package/node_modules/@pierre/diffs/dist/editor/editStack.js +259 -0
  50. package/node_modules/@pierre/diffs/dist/editor/editStack.js.map +1 -0
  51. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts +118 -0
  52. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -0
  53. package/node_modules/@pierre/diffs/dist/editor/editor.js +2880 -0
  54. package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -0
  55. package/node_modules/@pierre/diffs/dist/editor/editor2.js +6 -0
  56. package/node_modules/@pierre/diffs/dist/editor/editor2.js.map +1 -0
  57. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts +26 -0
  58. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts.map +1 -0
  59. package/node_modules/@pierre/diffs/dist/editor/languages.js +363 -0
  60. package/node_modules/@pierre/diffs/dist/editor/languages.js.map +1 -0
  61. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts +9 -0
  62. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts.map +1 -0
  63. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js +212 -0
  64. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js.map +1 -0
  65. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts +38 -0
  66. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts.map +1 -0
  67. package/node_modules/@pierre/diffs/dist/editor/marker.js +245 -0
  68. package/node_modules/@pierre/diffs/dist/editor/marker.js.map +1 -0
  69. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts +9 -0
  70. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts.map +1 -0
  71. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js +138 -0
  72. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js.map +1 -0
  73. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts +40 -0
  74. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts.map +1 -0
  75. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js +706 -0
  76. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js.map +1 -0
  77. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts +11 -0
  78. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts.map +1 -0
  79. package/node_modules/@pierre/diffs/dist/editor/platform.js +31 -0
  80. package/node_modules/@pierre/diffs/dist/editor/platform.js.map +1 -0
  81. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts +65 -0
  82. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts.map +1 -0
  83. package/node_modules/@pierre/diffs/dist/editor/popover.js +191 -0
  84. package/node_modules/@pierre/diffs/dist/editor/popover.js.map +1 -0
  85. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts +41 -0
  86. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts.map +1 -0
  87. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js +318 -0
  88. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js.map +1 -0
  89. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts +211 -0
  90. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts.map +1 -0
  91. package/node_modules/@pierre/diffs/dist/editor/selection.js +1626 -0
  92. package/node_modules/@pierre/diffs/dist/editor/selection.js.map +1 -0
  93. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts +47 -0
  94. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts.map +1 -0
  95. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js +66 -0
  96. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js.map +1 -0
  97. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts +8 -0
  98. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts.map +1 -0
  99. package/node_modules/@pierre/diffs/dist/editor/sprite.js +45 -0
  100. package/node_modules/@pierre/diffs/dist/editor/sprite.js.map +1 -0
  101. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts +15 -0
  102. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts.map +1 -0
  103. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js +65 -0
  104. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js.map +1 -0
  105. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts +67 -0
  106. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts.map +1 -0
  107. package/node_modules/@pierre/diffs/dist/editor/textDocument.js +278 -0
  108. package/node_modules/@pierre/diffs/dist/editor/textDocument.js.map +1 -0
  109. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts +61 -0
  110. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts.map +1 -0
  111. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js +209 -0
  112. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js.map +1 -0
  113. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts +41 -0
  114. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts.map +1 -0
  115. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js +596 -0
  116. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js.map +1 -0
  117. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts +22 -0
  118. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts.map +1 -0
  119. package/node_modules/@pierre/diffs/dist/editor/utils.js +78 -0
  120. package/node_modules/@pierre/diffs/dist/editor/utils.js.map +1 -0
  121. package/node_modules/@pierre/diffs/dist/index.d.ts +12 -9
  122. package/node_modules/@pierre/diffs/dist/index.js +13 -10
  123. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts +20 -2
  124. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts.map +1 -1
  125. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js +155 -79
  126. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js.map +1 -1
  127. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts +10 -2
  128. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts.map +1 -1
  129. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.js +33 -13
  130. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.js.map +1 -1
  131. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts +2 -1
  132. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  133. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js +7 -3
  134. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js.map +1 -1
  135. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts +29 -3
  136. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts.map +1 -1
  137. package/node_modules/@pierre/diffs/dist/react/CodeView.js +111 -30
  138. package/node_modules/@pierre/diffs/dist/react/CodeView.js.map +1 -1
  139. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts +20 -0
  140. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts.map +1 -0
  141. package/node_modules/@pierre/diffs/dist/react/EditContext.js +27 -0
  142. package/node_modules/@pierre/diffs/dist/react/EditContext.js.map +1 -0
  143. package/node_modules/@pierre/diffs/dist/react/File.d.ts +4 -1
  144. package/node_modules/@pierre/diffs/dist/react/File.d.ts.map +1 -1
  145. package/node_modules/@pierre/diffs/dist/react/File.js +5 -2
  146. package/node_modules/@pierre/diffs/dist/react/File.js.map +1 -1
  147. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts +4 -1
  148. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts.map +1 -1
  149. package/node_modules/@pierre/diffs/dist/react/FileDiff.js +5 -2
  150. package/node_modules/@pierre/diffs/dist/react/FileDiff.js.map +1 -1
  151. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts +7 -5
  152. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts.map +1 -1
  153. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js +5 -2
  154. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js.map +1 -1
  155. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts +4 -1
  156. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts.map +1 -1
  157. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js +5 -2
  158. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js.map +1 -1
  159. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts +2 -1
  160. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts.map +1 -1
  161. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js +2 -1
  162. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js.map +1 -1
  163. package/node_modules/@pierre/diffs/dist/react/index.d.ts +4 -3
  164. package/node_modules/@pierre/diffs/dist/react/index.js +3 -2
  165. package/node_modules/@pierre/diffs/dist/react/types.d.ts +11 -0
  166. package/node_modules/@pierre/diffs/dist/react/types.d.ts.map +1 -1
  167. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts +2 -0
  168. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  169. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js +16 -8
  170. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js.map +1 -1
  171. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts +2 -0
  172. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  173. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js +16 -8
  174. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js.map +1 -1
  175. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts +6 -2
  176. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  177. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +21 -6
  178. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
  179. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts +7 -2
  180. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts.map +1 -1
  181. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js +21 -6
  182. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js.map +1 -1
  183. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.js +4 -4
  184. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  185. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +47 -2
  186. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  187. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +361 -37
  188. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  189. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +26 -1
  190. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  191. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +240 -55
  192. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  193. package/node_modules/@pierre/diffs/dist/ssr/index.d.ts +2 -2
  194. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts +11 -10
  195. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts.map +1 -1
  196. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js +17 -7
  197. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js.map +1 -1
  198. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts.map +1 -1
  199. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js +2 -0
  200. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js.map +1 -1
  201. package/node_modules/@pierre/diffs/dist/style.js +1 -1
  202. package/node_modules/@pierre/diffs/dist/types.d.ts +336 -5
  203. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  204. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts +20 -0
  205. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts.map +1 -0
  206. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.js +29 -0
  207. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.js.map +1 -0
  208. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts +5 -0
  209. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts.map +1 -0
  210. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js +11 -0
  211. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js.map +1 -0
  212. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js +1 -1
  213. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js.map +1 -1
  214. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts +2 -2
  215. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  216. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js +6 -1
  217. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  218. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts +5 -0
  219. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts.map +1 -0
  220. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js +15 -0
  221. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js.map +1 -0
  222. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js +6 -1
  223. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js.map +1 -1
  224. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts +7 -0
  225. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -0
  226. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js +16 -0
  227. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js.map +1 -0
  228. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts +3 -1
  229. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  230. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js +8 -1
  231. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
  232. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts +21 -0
  233. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts.map +1 -0
  234. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js +80 -0
  235. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js.map +1 -0
  236. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts +5 -0
  237. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -0
  238. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.js +19 -0
  239. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.js.map +1 -0
  240. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  241. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js +5 -1
  242. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js.map +1 -1
  243. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js +9 -0
  244. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js.map +1 -1
  245. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +66 -0
  246. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -0
  247. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +437 -0
  248. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -0
  249. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts +14 -0
  250. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts.map +1 -0
  251. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js +24 -0
  252. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js.map +1 -0
  253. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  254. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js +3 -1
  255. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  256. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  257. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js +2 -1
  258. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js.map +1 -1
  259. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  260. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js +2 -0
  261. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js.map +1 -1
  262. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts +7 -0
  263. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts.map +1 -0
  264. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js +12 -0
  265. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js.map +1 -0
  266. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  267. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js +2 -1
  268. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  269. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts +20 -0
  270. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts.map +1 -0
  271. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js +34 -0
  272. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js.map +1 -0
  273. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts +10 -0
  274. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts.map +1 -0
  275. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js +141 -0
  276. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js.map +1 -0
  277. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts +5 -0
  278. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts.map +1 -0
  279. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js +12 -0
  280. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js.map +1 -0
  281. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.d.ts.map +1 -1
  282. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js +20 -15
  283. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js.map +1 -1
  284. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts +1 -1
  285. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  286. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +26 -5
  287. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js.map +1 -1
  288. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  289. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js +9 -6
  290. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  291. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
  292. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +6 -3
  293. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  294. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts +14 -0
  295. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts.map +1 -0
  296. package/node_modules/@pierre/diffs/dist/utils/platform.js +32 -0
  297. package/node_modules/@pierre/diffs/dist/utils/platform.js.map +1 -0
  298. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts +33 -0
  299. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts.map +1 -0
  300. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js +148 -0
  301. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js.map +1 -0
  302. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +1 -1
  303. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  304. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js +5 -14
  305. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js.map +1 -1
  306. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.d.ts.map +1 -1
  307. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.js +18 -2
  308. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.js.map +1 -1
  309. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts +7 -3
  310. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  311. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js +1 -1
  312. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js.map +1 -1
  313. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts +24 -0
  314. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts.map +1 -0
  315. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js +236 -0
  316. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js.map +1 -0
  317. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts +43 -2
  318. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  319. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js +107 -5
  320. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js.map +1 -1
  321. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +9 -3
  322. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  323. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +86 -18
  324. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
  325. package/node_modules/@pierre/diffs/dist/worker/index.d.ts +2 -2
  326. package/node_modules/@pierre/diffs/dist/worker/types.d.ts +11 -1
  327. package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
  328. package/node_modules/@pierre/diffs/dist/worker/wasm-B9ZqxnKj.js.map +1 -1
  329. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +116 -95
  330. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  331. package/node_modules/@pierre/diffs/dist/worker/worker.js +102 -80
  332. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  333. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/LICENSE +189 -21
  334. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/NOTICE.md +32 -0
  335. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/package.json +3 -2
  336. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/LICENSE.md +189 -0
  337. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/README.md +9 -0
  338. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/package.json +5 -5
  339. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.d.mts +0 -1
  340. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/dist/index.mjs +22 -3
  341. package/node_modules/@pierre/diffs/node_modules/@shikijs/core/package.json +4 -4
  342. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/{engine-compile-CMRQUZTL.d.mts → engine-compile-Bdn9ihA2.d.mts} +0 -1
  343. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
  344. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +0 -1
  345. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
  346. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-javascript/package.json +2 -2
  347. package/node_modules/@pierre/diffs/node_modules/@shikijs/engine-oniguruma/package.json +2 -2
  348. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/dist/index.d.mts +0 -1
  349. package/node_modules/@pierre/diffs/node_modules/@shikijs/primitive/package.json +3 -3
  350. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-frappe.mjs +1 -1
  351. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-latte.mjs +1 -1
  352. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-macchiato.mjs +1 -1
  353. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/catppuccin-mocha.mjs +1 -1
  354. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/kanagawa-dragon.mjs +1 -1
  355. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/kanagawa-lotus.mjs +1 -1
  356. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/kanagawa-wave.mjs +1 -1
  357. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
  358. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/red.mjs +1 -1
  359. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/rose-pine-dawn.mjs +1 -1
  360. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/rose-pine-moon.mjs +1 -1
  361. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/rose-pine.mjs +1 -1
  362. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
  363. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
  364. package/node_modules/@pierre/diffs/node_modules/@shikijs/themes/package.json +3 -3
  365. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.d.mts +0 -1
  366. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/dist/index.mjs +2 -1
  367. package/node_modules/@pierre/diffs/node_modules/@shikijs/transformers/package.json +3 -3
  368. package/node_modules/@pierre/diffs/node_modules/@shikijs/types/dist/index.d.mts +0 -1
  369. package/node_modules/@pierre/diffs/node_modules/@shikijs/types/package.json +2 -2
  370. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-full.d.mts +4 -7
  371. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-full.mjs +3 -19
  372. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-web.d.mts +5 -6
  373. package/node_modules/@pierre/diffs/node_modules/shiki/dist/bundle-web.mjs +7 -0
  374. package/node_modules/@pierre/diffs/node_modules/shiki/dist/core-CaxrMD1A.d.mts +1 -0
  375. package/node_modules/@pierre/diffs/node_modules/shiki/dist/core.d.mts +1 -0
  376. package/node_modules/@pierre/diffs/node_modules/shiki/dist/index.d.mts +3 -9
  377. package/node_modules/@pierre/diffs/node_modules/shiki/dist/index.mjs +3 -24
  378. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/actionscript.d.mts +1 -0
  379. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/actionscript.mjs +1 -0
  380. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk.d.mts +1 -0
  381. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk.mjs +1 -0
  382. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk1.d.mts +1 -0
  383. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk1.mjs +1 -0
  384. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk2.d.mts +1 -0
  385. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ahk2.mjs +1 -0
  386. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/as3.d.mts +1 -0
  387. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/as3.mjs +1 -0
  388. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chapel.d.mts +1 -0
  389. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chapel.mjs +1 -0
  390. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chpl.d.mts +1 -0
  391. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/chpl.mjs +1 -0
  392. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/justfile.d.mts +1 -0
  393. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/justfile.mjs +1 -0
  394. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/nsis.d.mts +1 -0
  395. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/nsis.mjs +1 -0
  396. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/org.d.mts +1 -0
  397. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/org.mjs +1 -0
  398. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/pwsh.d.mts +1 -0
  399. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/pwsh.mjs +1 -0
  400. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/rbs.d.mts +1 -0
  401. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/rbs.mjs +1 -0
  402. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ruby-signature.d.mts +1 -0
  403. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/ruby-signature.mjs +1 -0
  404. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/smithy.d.mts +1 -0
  405. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs/smithy.mjs +1 -0
  406. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-B38xGbib.d.mts +1 -0
  407. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-bundle-full-B4n9xYHw.d.mts +13 -0
  408. package/node_modules/@pierre/diffs/node_modules/shiki/dist/{langs-bundle-full-4noeO3oH.mjs → langs-bundle-full-xQVO1Cek.mjs} +48 -5
  409. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs.d.mts +2 -1
  410. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs.mjs +1 -1
  411. package/node_modules/@pierre/diffs/node_modules/shiki/dist/{themes-NeZbxnKu.d.mts → themes-BKdFAJ1v.d.mts} +0 -1
  412. package/node_modules/@pierre/diffs/node_modules/shiki/dist/themes.d.mts +1 -1
  413. package/node_modules/@pierre/diffs/node_modules/shiki/dist/types.d.mts +3 -3
  414. package/node_modules/@pierre/diffs/node_modules/shiki/package.json +10 -10
  415. package/node_modules/@pierre/diffs/package.json +13 -4
  416. package/node_modules/@shikijs/langs/dist/actionscript-3.mjs +1 -1
  417. package/node_modules/@shikijs/langs/dist/actionscript.d.mts +3 -0
  418. package/node_modules/@shikijs/langs/dist/actionscript.mjs +2 -0
  419. package/node_modules/@shikijs/langs/dist/ahk.d.mts +3 -0
  420. package/node_modules/@shikijs/langs/dist/ahk.mjs +5 -0
  421. package/node_modules/@shikijs/langs/dist/ahk1.d.mts +3 -0
  422. package/node_modules/@shikijs/langs/dist/ahk1.mjs +2 -0
  423. package/node_modules/@shikijs/langs/dist/ahk2.d.mts +3 -0
  424. package/node_modules/@shikijs/langs/dist/ahk2.mjs +5 -0
  425. package/node_modules/@shikijs/langs/dist/apex.mjs +1 -1
  426. package/node_modules/@shikijs/langs/dist/as3.d.mts +3 -0
  427. package/node_modules/@shikijs/langs/dist/as3.mjs +2 -0
  428. package/node_modules/@shikijs/langs/dist/asciidoc.mjs +1 -1
  429. package/node_modules/@shikijs/langs/dist/bat.mjs +1 -1
  430. package/node_modules/@shikijs/langs/dist/bird2.mjs +1 -1
  431. package/node_modules/@shikijs/langs/dist/bsl.mjs +1 -1
  432. package/node_modules/@shikijs/langs/dist/c3.mjs +1 -1
  433. package/node_modules/@shikijs/langs/dist/chapel.d.mts +3 -0
  434. package/node_modules/@shikijs/langs/dist/chapel.mjs +8 -0
  435. package/node_modules/@shikijs/langs/dist/chpl.d.mts +3 -0
  436. package/node_modules/@shikijs/langs/dist/chpl.mjs +2 -0
  437. package/node_modules/@shikijs/langs/dist/clarity.mjs +1 -1
  438. package/node_modules/@shikijs/langs/dist/cmd.mjs +2 -2
  439. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  440. package/node_modules/@shikijs/langs/dist/cpp-macro.mjs +1 -3
  441. package/node_modules/@shikijs/langs/dist/cpp.mjs +1 -3
  442. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  443. package/node_modules/@shikijs/langs/dist/gdscript.mjs +1 -1
  444. package/node_modules/@shikijs/langs/dist/hack.mjs +1 -1
  445. package/node_modules/@shikijs/langs/dist/haxe.mjs +1 -1
  446. package/node_modules/@shikijs/langs/dist/hxml.mjs +1 -1
  447. package/node_modules/@shikijs/langs/dist/index.mjs +14 -0
  448. package/node_modules/@shikijs/langs/dist/just.mjs +1 -1
  449. package/node_modules/@shikijs/langs/dist/justfile.d.mts +3 -0
  450. package/node_modules/@shikijs/langs/dist/justfile.mjs +2 -0
  451. package/node_modules/@shikijs/langs/dist/llvm.mjs +1 -1
  452. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  453. package/node_modules/@shikijs/langs/dist/mdc.mjs +1 -1
  454. package/node_modules/@shikijs/langs/dist/mermaid.mjs +1 -1
  455. package/node_modules/@shikijs/langs/dist/mojo.mjs +1 -1
  456. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  457. package/node_modules/@shikijs/langs/dist/move.mjs +1 -1
  458. package/node_modules/@shikijs/langs/dist/nsis.d.mts +3 -0
  459. package/node_modules/@shikijs/langs/dist/nsis.mjs +5 -0
  460. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  461. package/node_modules/@shikijs/langs/dist/org.d.mts +3 -0
  462. package/node_modules/@shikijs/langs/dist/org.mjs +100 -0
  463. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  464. package/node_modules/@shikijs/langs/dist/prisma.mjs +1 -1
  465. package/node_modules/@shikijs/langs/dist/pwsh.d.mts +3 -0
  466. package/node_modules/@shikijs/langs/dist/pwsh.mjs +2 -0
  467. package/node_modules/@shikijs/langs/dist/r.mjs +1 -1
  468. package/node_modules/@shikijs/langs/dist/rbs.d.mts +3 -0
  469. package/node_modules/@shikijs/langs/dist/rbs.mjs +5 -0
  470. package/node_modules/@shikijs/langs/dist/ruby-signature.d.mts +3 -0
  471. package/node_modules/@shikijs/langs/dist/ruby-signature.mjs +2 -0
  472. package/node_modules/@shikijs/langs/dist/scala.mjs +1 -1
  473. package/node_modules/@shikijs/langs/dist/smalltalk.mjs +1 -1
  474. package/node_modules/@shikijs/langs/dist/smithy.d.mts +3 -0
  475. package/node_modules/@shikijs/langs/dist/smithy.mjs +5 -0
  476. package/node_modules/@shikijs/langs/dist/solidity.mjs +1 -1
  477. package/node_modules/@shikijs/langs/dist/surrealql.mjs +1 -1
  478. package/node_modules/@shikijs/langs/dist/swift.mjs +1 -1
  479. package/node_modules/@shikijs/langs/dist/system-verilog.mjs +1 -1
  480. package/node_modules/@shikijs/langs/dist/twig.mjs +1 -1
  481. package/node_modules/@shikijs/langs/dist/typst.mjs +116 -1
  482. package/node_modules/@shikijs/langs/dist/v.mjs +1 -1
  483. package/node_modules/@shikijs/langs/dist/vb.mjs +1 -1
  484. package/node_modules/@shikijs/langs/dist/verilog.mjs +1 -1
  485. package/node_modules/@shikijs/langs/dist/vue.mjs +1 -1
  486. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/dist/index.d.mts +0 -1
  487. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/package.json +2 -2
  488. package/node_modules/@shikijs/langs/package.json +18 -4
  489. package/node_modules/typebox/build/format/date.d.mts +1 -1
  490. package/node_modules/typebox/build/format/date.mjs +1 -1
  491. package/node_modules/typebox/build/format/date_time.d.mts +2 -2
  492. package/node_modules/typebox/build/format/date_time.mjs +3 -3
  493. package/node_modules/typebox/build/format/email.d.mts +1 -1
  494. package/node_modules/typebox/build/format/email.mjs +2 -2
  495. package/node_modules/typebox/build/format/hostname.mjs +2 -10
  496. package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
  497. package/node_modules/typebox/build/format/idn_email.mjs +3 -3
  498. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
  499. package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
  500. package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
  501. package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
  502. package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
  503. package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
  504. package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
  505. package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
  506. package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
  507. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +41 -0
  508. package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
  509. package/node_modules/typebox/build/format/idna/index.mjs +2 -0
  510. package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
  511. package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
  512. package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
  513. package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
  514. package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
  515. package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
  516. package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
  517. package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
  518. package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
  519. package/node_modules/typebox/build/format/ipv4.mjs +2 -32
  520. package/node_modules/typebox/build/format/ipv6.mjs +2 -61
  521. package/node_modules/typebox/build/format/iri.d.mts +2 -2
  522. package/node_modules/typebox/build/format/iri.mjs +26 -8
  523. package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
  524. package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
  525. package/node_modules/typebox/build/format/regex.d.mts +1 -2
  526. package/node_modules/typebox/build/format/regex.mjs +2 -6
  527. package/node_modules/typebox/build/format/time.d.mts +2 -2
  528. package/node_modules/typebox/build/format/time.mjs +19 -14
  529. package/node_modules/typebox/build/format/uri.d.mts +1 -1
  530. package/node_modules/typebox/build/format/uri.mjs +3 -130
  531. package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
  532. package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
  533. package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
  534. package/node_modules/typebox/build/format/uri_template.mjs +4 -5
  535. package/node_modules/typebox/build/format/url.d.mts +3 -3
  536. package/node_modules/typebox/build/format/url.mjs +4 -5
  537. package/node_modules/typebox/build/guard/emit.d.mts +3 -1
  538. package/node_modules/typebox/build/guard/emit.mjs +12 -5
  539. package/node_modules/typebox/build/guard/guard.d.mts +8 -2
  540. package/node_modules/typebox/build/guard/guard.mjs +25 -4
  541. package/node_modules/typebox/build/guard/string.d.mts +2 -2
  542. package/node_modules/typebox/build/guard/string.mjs +7 -7
  543. package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
  544. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
  545. package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
  546. package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
  547. package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
  548. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
  549. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
  550. package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
  551. package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
  552. package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
  553. package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
  554. package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
  555. package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
  556. package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
  557. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
  558. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
  559. package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
  560. package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
  561. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  562. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
  563. package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
  564. package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
  565. package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
  566. package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
  567. package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
  568. package/node_modules/typebox/build/schema/types/index.mjs +0 -2
  569. package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
  570. package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
  571. package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
  572. package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
  573. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
  574. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
  575. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
  576. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
  577. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
  578. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
  579. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
  580. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
  581. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
  582. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
  583. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
  584. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
  585. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
  586. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
  587. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
  588. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
  589. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
  590. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
  591. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
  592. package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
  593. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
  594. package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
  595. package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
  596. package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
  597. package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
  598. package/node_modules/typebox/build/type/script/parser.mjs +27 -23
  599. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
  600. package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
  601. package/node_modules/typebox/package.json +27 -27
  602. package/node_modules/typebox/readme.md +79 -82
  603. package/package.json +9 -8
  604. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.d.ts +0 -50
  605. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.d.ts.map +0 -1
  606. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.js +0 -49
  607. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.js.map +0 -1
  608. package/node_modules/@pierre/diffs/node_modules/shiki/dist/core-BVVgDSdq.d.mts +0 -1
  609. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-BVVgDSdq.d.mts +0 -1
  610. package/node_modules/@pierre/diffs/node_modules/shiki/dist/langs-bundle-full-WSWgUeqW.d.mts +0 -14
  611. package/node_modules/typebox/build/format/_idna.d.mts +0 -2
  612. package/node_modules/typebox/build/format/_idna.mjs +0 -246
  613. package/node_modules/typebox/build/format/_puny.d.mts +0 -1
  614. package/node_modules/typebox/build/format/_puny.mjs +0 -77
  615. package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
  616. package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
  617. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
  618. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
  619. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
  620. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
@@ -0,0 +1,596 @@
1
+ import { DEFAULT_THEMES } from "../constants.js";
2
+ import { addEventListener, debounce, h } from "./utils.js";
3
+ import { colorUtils } from "@pierre/theming/color";
4
+ import { EncodedTokenMetadata, INITIAL } from "shiki/textmate";
5
+ //#region src/editor/tokenizer.ts
6
+ const TOKENIZE_TIME_LIMIT = 500;
7
+ let nextTokenizerId = 0;
8
+ /** Stoppable code tokenizer for the editor */
9
+ var EditorTokenizer = class {
10
+ #highlighter;
11
+ #grammar;
12
+ #mediaQueryList;
13
+ #themeType = "dark";
14
+ #themeName = "";
15
+ #colorMap;
16
+ #textDocument;
17
+ #tokenizeMaxLineLength;
18
+ #setStyle;
19
+ #onDeferTokenize;
20
+ #onThemeChange;
21
+ #matchBrackets;
22
+ #debug;
23
+ #disposes;
24
+ #isCleanedUp = false;
25
+ #stateStack = [INITIAL];
26
+ #comparisonStateStack = [];
27
+ #comparisonStateStackStart = 0;
28
+ #comparisonLineChanges = [];
29
+ #lastLine = -1;
30
+ #isStopped = true;
31
+ #isPaused = false;
32
+ #backgroundJobId = 0;
33
+ #tokenizerId = ++nextTokenizerId;
34
+ #backgroundPrebuildEndLine = -1;
35
+ #pendingPrebuildEndLine = -1;
36
+ #backgroundChangedLineRanges;
37
+ #backgroundChangedRangeIndex = 0;
38
+ #bracketIgnoredRanges = [];
39
+ #isMessageListenerAttached = false;
40
+ #prebuildStateStack = debounce(async (renderRange) => {
41
+ if (this.#isCleanedUp) return;
42
+ const { startingLine = 0, totalLines = Infinity } = renderRange ?? {};
43
+ const endLine = Math.min(totalLines === Infinity ? Infinity : startingLine + totalLines, this.#textDocument.lineCount);
44
+ if (this.#grammar === void 0 && !isGrammarlessLanguage(this.#textDocument.languageId)) {
45
+ await this.#highlighter.loadLanguage(this.#textDocument.languageId);
46
+ if (this.#isCleanedUp) return;
47
+ this.#grammar = this.#highlighter.getLanguage(this.#textDocument.languageId);
48
+ }
49
+ this.#ensureActiveTheme();
50
+ this.#scheduleStatePrebuild(endLine);
51
+ }, 500);
52
+ #onMessage = ({ data }) => {
53
+ if (typeof data !== "object" || data === null) return;
54
+ const { type, tokenizerId, jobId } = data;
55
+ if (type === "tokenize" && tokenizerId === this.#tokenizerId && typeof jobId === "number" && jobId === this.#backgroundJobId) if (this.#backgroundPrebuildEndLine >= 0) this.#backgroundPrebuild(jobId);
56
+ else this.#backgroundTokenize(jobId);
57
+ };
58
+ get themeType() {
59
+ return this.#themeType;
60
+ }
61
+ getStringCommentRegexpRangesInLine(lineIndex) {
62
+ if (!this.#matchBrackets || lineIndex < 0 || lineIndex >= this.#textDocument.lineCount) return null;
63
+ this.#ensureGrammar();
64
+ if (this.#grammar === void 0) return null;
65
+ if (this.#bracketIgnoredRanges[lineIndex] === void 0) {
66
+ this.#buildStateStack(lineIndex);
67
+ const state = this.#stateStack[lineIndex] ?? INITIAL;
68
+ const result = this.#tokenizeLineAt(lineIndex, state);
69
+ this.#stateStack[lineIndex + 1] = result.state;
70
+ }
71
+ return this.#bracketIgnoredRanges[lineIndex] ?? null;
72
+ }
73
+ constructor({ codeOptions, highlighter, textDocument, matchBrackets, setStyle, onDeferTokenize, onThemeChange, __debug }) {
74
+ const { themeType: themeTypeOption = "system", theme = DEFAULT_THEMES, tokenizeMaxLineLength = 1e3 } = codeOptions;
75
+ this.#mediaQueryList = window.matchMedia("(prefers-color-scheme: dark)");
76
+ let themeType;
77
+ if (themeTypeOption === "system") themeType = this.#resolveSystemThemeType();
78
+ else themeType = themeTypeOption;
79
+ if (typeof theme !== "string" && themeTypeOption === "system") {
80
+ const observer = new MutationObserver((mutations) => {
81
+ for (const { type, attributeName } of mutations) if (type === "attributes" && attributeName !== null && (attributeName === "class" || attributeName.startsWith("data-"))) {
82
+ const themeType = this.#resolveSystemThemeType();
83
+ this.#emitThemeChange(theme[themeType], themeType);
84
+ break;
85
+ }
86
+ });
87
+ observer.observe(document.documentElement, { attributes: true });
88
+ observer.observe(document.body, { attributes: true });
89
+ this.#disposes = [addEventListener(this.#mediaQueryList, "change", () => {
90
+ const themeType = this.#resolveSystemThemeType();
91
+ this.#emitThemeChange(theme[themeType], themeType);
92
+ }), () => observer.disconnect()];
93
+ }
94
+ this.#highlighter = highlighter;
95
+ this.#textDocument = textDocument;
96
+ this.#tokenizeMaxLineLength = tokenizeMaxLineLength;
97
+ this.#setStyle = setStyle;
98
+ this.#onDeferTokenize = onDeferTokenize;
99
+ this.#onThemeChange = onThemeChange;
100
+ this.#matchBrackets = matchBrackets !== false;
101
+ this.#debug = __debug ?? false;
102
+ this.#ensureGrammar();
103
+ this.#colorMap = [];
104
+ this.#setTheme(typeof theme === "string" ? theme : theme[themeType], typeof theme === "string" ? void 0 : themeType);
105
+ }
106
+ #emitThemeChange(themeName, themeType) {
107
+ if (themeName === this.#themeName && themeType === this.#themeType) return;
108
+ this.#setTheme(themeName, themeType);
109
+ this.stopBackgroundTokenize();
110
+ this.#stateStack = [INITIAL];
111
+ this.#comparisonStateStack = [];
112
+ this.#comparisonStateStackStart = 0;
113
+ this.#comparisonLineChanges = [];
114
+ if (this.#grammar !== void 0 && this.#textDocument.lineCount > 0) this.#scheduleBackgroundTokenize(0);
115
+ this.#onThemeChange?.();
116
+ }
117
+ #resolveSystemThemeType() {
118
+ try {
119
+ if (typeof document !== "undefined" && typeof getComputedStyle === "function" && document.body != null) {
120
+ const colorSchemes = getComputedStyle(document.body).colorScheme.split(/\s+/);
121
+ const supportsDark = colorSchemes.includes("dark");
122
+ if (supportsDark !== colorSchemes.includes("light")) return supportsDark ? "dark" : "light";
123
+ }
124
+ } catch {}
125
+ return this.#mediaQueryList.matches ? "dark" : "light";
126
+ }
127
+ syncTheme(codeOptions) {
128
+ const { themeType = "system", theme = DEFAULT_THEMES } = codeOptions;
129
+ if (typeof theme === "string") {
130
+ const pinnedThemeType = this.#highlighter.getTheme(theme).type;
131
+ if (theme === this.#themeName && pinnedThemeType === this.#themeType) return;
132
+ this.#emitThemeChange(theme, pinnedThemeType);
133
+ return;
134
+ }
135
+ const nextThemeType = themeType === "system" ? this.#resolveSystemThemeType() : themeType;
136
+ const nextThemeName = theme[nextThemeType];
137
+ if (nextThemeType === this.#themeType && nextThemeName === this.#themeName) return;
138
+ this.#emitThemeChange(nextThemeName, nextThemeType);
139
+ }
140
+ #setTheme(themeName, themeType) {
141
+ const { theme, colorMap } = this.#highlighter.setTheme(themeName);
142
+ const { colors = {} } = this.#highlighter.getTheme(themeName);
143
+ const selectionBackground = colors["editor.selectionBackground"];
144
+ const themeLineHighlightBackground = colors["editor.lineHighlightBackground"];
145
+ const lineHighlightBackground = themeLineHighlightBackground != null && themeLineHighlightBackground.trim() !== "" && !colorUtils.isFullyTransparent(themeLineHighlightBackground) ? themeLineHighlightBackground : void 0;
146
+ const lineHighlightBorder = colors["editor.lineHighlightBorder"] ?? (lineHighlightBackground == null ? "color-mix(in lab, var(--diffs-bg) 70%, var(--diffs-fg))" : "transparent");
147
+ const activeLineSourceMix = lineHighlightBackground == null ? "100%" : "85%";
148
+ const cursorForeground = colors["editorCursor.foreground"];
149
+ const findMatchBackground = colors["editor.findMatchBackground"];
150
+ const findMatchHighlightBackground = colors["editor.findMatchHighlightBackground"];
151
+ const bracketMatchBackground = colors["editorBracketMatch.background"];
152
+ const bracketMatchBorder = colors["editorBracketMatch.border"];
153
+ const hintForeground = colors["editorHint.foreground"];
154
+ const infoForeground = colors["editorInfo.foreground"];
155
+ const warningForeground = colors["editorWarning.foreground"];
156
+ const errorForeground = colors["editorError.foreground"];
157
+ this.#setStyle(`:host {
158
+ --diffs-editor-selection-bg: ${selectionBackground ?? "var(--diffs-line-bg)"};
159
+ --diffs-editor-line-highlight-border: ${lineHighlightBorder};
160
+ --diffs-editor-active-line-source-mix: ${activeLineSourceMix};
161
+ --diffs-editor-match-bg: ${findMatchBackground ?? "initial"};
162
+ --diffs-editor-match-highlight-bg: ${findMatchHighlightBackground ?? "initial"};
163
+ --diffs-editor-bracket-match-bg: ${bracketMatchBackground ?? "initial"};
164
+ --diffs-editor-bracket-match-border: ${bracketMatchBorder ?? "initial"};
165
+ --diffs-editor-cursor-fg: ${cursorForeground ?? "initial"};
166
+ --diffs-editor-hint-fg: ${hintForeground ?? "initial"};
167
+ --diffs-editor-info-fg: ${infoForeground ?? "initial"};
168
+ --diffs-editor-warning-fg: ${warningForeground ?? "initial"};
169
+ --diffs-editor-error-fg: ${errorForeground ?? "initial"};
170
+ }`);
171
+ this.#themeName = themeName;
172
+ this.#themeType = themeType ?? theme.type;
173
+ this.#colorMap = colorMap;
174
+ }
175
+ #ensureActiveTheme() {
176
+ if (this.#themeName === "") return;
177
+ const { colorMap } = this.#highlighter.setTheme(this.#themeName);
178
+ this.#colorMap = colorMap;
179
+ }
180
+ cleanUp() {
181
+ this.#isCleanedUp = true;
182
+ this.stopBackgroundTokenize();
183
+ this.#detachMessageListener();
184
+ this.#disposes?.forEach((dispose) => dispose());
185
+ this.#disposes = void 0;
186
+ }
187
+ tokenize(change, renderRange, hostRealignsRows = false) {
188
+ this.#ensureGrammar();
189
+ this.#ensureActiveTheme();
190
+ if (this.#grammar === void 0 && !isGrammarlessLanguage(this.#textDocument.languageId)) throw new Error(`Grammar for language "${this.#textDocument.languageId}" not loaded`);
191
+ if (this.#matchBrackets) this.#bracketIgnoredRanges.length = Math.min(this.#bracketIgnoredRanges.length, change.startLine);
192
+ const { lineCount } = this.#textDocument;
193
+ const { startingLine = 0, totalLines = Infinity } = renderRange ?? {};
194
+ const renderRangeEndLine = totalLines === Infinity ? lineCount : Math.min(startingLine + totalLines, lineCount);
195
+ const dirtyStart = change.startLine;
196
+ const viewStart = Math.max(startingLine, dirtyStart);
197
+ const crossesRenderRangeEnd = renderRange !== void 0 && totalLines !== Infinity && change.lineDelta > 0 && dirtyStart < renderRangeEndLine && change.endLine >= renderRangeEndLine;
198
+ const canReuseCachedStates = change.lineDelta === 0 && (change.changedLineChanges?.every(([, , lineDelta]) => lineDelta === 0) ?? true);
199
+ const canReuseShiftedStates = hostRealignsRows && change.lineDelta !== 0 && dirtyStart >= startingLine;
200
+ const canCacheTokenizedStates = canReuseCachedStates || renderRange === void 0 || dirtyStart >= viewStart;
201
+ const changedLineRanges = change.changedLineRanges ?? [[dirtyStart, change.endLine]];
202
+ this.#comparisonStateStack = [];
203
+ this.#comparisonStateStackStart = 0;
204
+ this.#comparisonLineChanges = [];
205
+ let offscreenSyncEnd = -1;
206
+ if (dirtyStart < viewStart) {
207
+ for (const [rangeStart, rangeEnd] of changedLineRanges) if (rangeStart < viewStart) offscreenSyncEnd = Math.max(offscreenSyncEnd, Math.min(rangeEnd, viewStart - 1));
208
+ }
209
+ const shouldFlushOffscreenLines = offscreenSyncEnd >= dirtyStart && (canReuseCachedStates || change.lineDelta < 0);
210
+ if (canReuseCachedStates) this.#buildStateStack(dirtyStart);
211
+ else {
212
+ this.#shiftComparisonStateStack(change);
213
+ if (renderRange === void 0 || dirtyStart >= viewStart) this.#buildStateStack(viewStart);
214
+ }
215
+ let changedRangeIndex = 0;
216
+ let currentChangedRangeEnd = changedLineRanges[changedRangeIndex][1];
217
+ let backgroundStartLine;
218
+ let backgroundChangedRangeIndex = 0;
219
+ let line = canReuseCachedStates ? changedLineRanges[changedRangeIndex][0] : viewStart;
220
+ let settled = false;
221
+ const dirtyLines = /* @__PURE__ */ new Map();
222
+ const offscreenDirtyLines = shouldFlushOffscreenLines ? /* @__PURE__ */ new Map() : void 0;
223
+ if (offscreenDirtyLines !== void 0 && !canReuseCachedStates) {
224
+ const offscreenEnd = Math.min(offscreenSyncEnd + 1, viewStart, renderRangeEndLine);
225
+ if (offscreenEnd > dirtyStart) {
226
+ this.#buildStateStack(offscreenEnd);
227
+ let offscreenLine = dirtyStart;
228
+ let offscreenState = this.#stateStack[offscreenLine] ?? INITIAL;
229
+ for (; offscreenLine < offscreenEnd; offscreenLine++) {
230
+ const resolved = this.#tokenizeLineAt(offscreenLine, offscreenState);
231
+ offscreenState = resolved.state;
232
+ offscreenDirtyLines.set(offscreenLine, resolved.resolvedTokens);
233
+ }
234
+ this.#stateStack[offscreenEnd] = offscreenState;
235
+ }
236
+ }
237
+ let state = this.#stateStack[line] ?? INITIAL;
238
+ for (; line < renderRangeEndLine;) {
239
+ const previousNextState = canReuseCachedStates ? this.#stateStack[line + 1] : canReuseShiftedStates ? this.#getPreviousEndState(line + 1) : void 0;
240
+ if (canCacheTokenizedStates) this.#stateStack[line] = state;
241
+ const { resolvedTokens, state: nextState } = this.#tokenizeLineAt(line, state);
242
+ state = nextState;
243
+ if (line >= viewStart) dirtyLines.set(line, resolvedTokens);
244
+ else offscreenDirtyLines?.set(line, resolvedTokens);
245
+ if (canCacheTokenizedStates) this.#stateStack[line + 1] = state;
246
+ settled = line >= currentChangedRangeEnd && (canReuseCachedStates || canReuseShiftedStates) && previousNextState !== void 0 && state.equals(previousNextState);
247
+ if (settled) {
248
+ changedRangeIndex++;
249
+ const nextRange = changedLineRanges[changedRangeIndex];
250
+ if (nextRange === void 0) break;
251
+ if (nextRange[0] >= renderRangeEndLine) {
252
+ backgroundStartLine = nextRange[0];
253
+ backgroundChangedRangeIndex = changedRangeIndex;
254
+ break;
255
+ }
256
+ let nextState = this.#stateStack[nextRange[0]];
257
+ if (canReuseShiftedStates) for (let stateLine = line + 2; stateLine <= nextRange[0]; stateLine++) {
258
+ nextState = this.#getPreviousEndState(stateLine);
259
+ if (nextState === void 0) break;
260
+ this.#stateStack[stateLine] = nextState;
261
+ }
262
+ if (nextState === void 0) {
263
+ currentChangedRangeEnd = nextRange[1];
264
+ line++;
265
+ } else {
266
+ line = nextRange[0];
267
+ state = nextState;
268
+ currentChangedRangeEnd = nextRange[1];
269
+ }
270
+ settled = false;
271
+ continue;
272
+ }
273
+ line++;
274
+ }
275
+ if (canCacheTokenizedStates) if (line < renderRangeEndLine) this.#stateStack[line + 1] = state;
276
+ else this.#stateStack[line] = state;
277
+ if (settled && canReuseShiftedStates && backgroundStartLine === void 0) {
278
+ for (let stateLine = line + 2; stateLine <= lineCount; stateLine++) {
279
+ const previousState = this.#getPreviousEndState(stateLine);
280
+ if (previousState === void 0) break;
281
+ this.#stateStack[stateLine] = previousState;
282
+ }
283
+ this.#comparisonStateStack = [];
284
+ this.#comparisonStateStackStart = 0;
285
+ this.#comparisonLineChanges = [];
286
+ }
287
+ if (offscreenDirtyLines !== void 0 && offscreenDirtyLines.size > 0) this.#onDeferTokenize(offscreenDirtyLines, this.#themeType);
288
+ if (backgroundStartLine !== void 0) this.#scheduleBackgroundTokenize(backgroundStartLine, changedLineRanges, backgroundChangedRangeIndex);
289
+ else if (!settled && line < lineCount) {
290
+ const backgroundLine = crossesRenderRangeEnd && dirtyStart >= viewStart ? renderRangeEndLine : dirtyStart < viewStart && !canReuseCachedStates ? dirtyStart : line;
291
+ this.#scheduleBackgroundTokenize(backgroundLine, changedLineRanges, changedRangeIndex);
292
+ }
293
+ return dirtyLines;
294
+ }
295
+ prebuildStateStack(renderRange) {
296
+ this.#ensureGrammar();
297
+ this.#prebuildStateStack(renderRange);
298
+ }
299
+ stopBackgroundTokenize() {
300
+ this.#pendingPrebuildEndLine = -1;
301
+ if (this.#isStopped) return;
302
+ this.#isStopped = true;
303
+ this.#isPaused = false;
304
+ this.#lastLine = -1;
305
+ this.#backgroundPrebuildEndLine = -1;
306
+ this.#backgroundChangedLineRanges = void 0;
307
+ this.#backgroundChangedRangeIndex = 0;
308
+ this.#comparisonStateStack = [];
309
+ this.#comparisonStateStackStart = 0;
310
+ this.#comparisonLineChanges = [];
311
+ this.#detachMessageListener();
312
+ }
313
+ pauseBackgroundTokenize() {
314
+ if (this.#isStopped || this.#isPaused) return;
315
+ if (this.#debug) console.log("[diffs/editor] background tokenization paused", { jobId: this.#backgroundJobId });
316
+ this.#isPaused = true;
317
+ }
318
+ resumeBackgroundTokenize() {
319
+ if (this.#isStopped || !this.#isPaused || this.#grammar === void 0 || this.#lastLine < 0) return;
320
+ if (this.#debug) console.log("[diffs/editor] background tokenization resumed", { jobId: this.#backgroundJobId });
321
+ this.#isPaused = false;
322
+ this.#postTokenizeMessage(this.#backgroundJobId);
323
+ }
324
+ #ensureGrammar() {
325
+ if (this.#grammar === void 0 && !isGrammarlessLanguage(this.#textDocument.languageId) && this.#highlighter.getLoadedLanguages().includes(this.#textDocument.languageId)) this.#grammar = this.#highlighter.getLanguage(this.#textDocument.languageId);
326
+ }
327
+ #attachMessageListener() {
328
+ if (this.#isMessageListenerAttached) return;
329
+ globalThis.addEventListener("message", this.#onMessage);
330
+ this.#isMessageListenerAttached = true;
331
+ }
332
+ #detachMessageListener() {
333
+ if (!this.#isMessageListenerAttached) return;
334
+ globalThis.removeEventListener("message", this.#onMessage);
335
+ this.#isMessageListenerAttached = false;
336
+ }
337
+ #postTokenizeMessage(jobId) {
338
+ globalThis.postMessage({
339
+ type: "tokenize",
340
+ tokenizerId: this.#tokenizerId,
341
+ jobId
342
+ });
343
+ }
344
+ #scheduleBackgroundTokenize(startLine, changedLineRanges, changedRangeIndex = 0) {
345
+ if (isGrammarlessLanguage(this.#textDocument.languageId)) return;
346
+ const jobId = ++this.#backgroundJobId;
347
+ if (this.#debug) console.log("[diffs/editor] background tokenization scheduled", {
348
+ jobId,
349
+ startLine,
350
+ changedLineRanges,
351
+ changedRangeIndex
352
+ });
353
+ this.#isStopped = false;
354
+ this.#isPaused = false;
355
+ this.#lastLine = startLine;
356
+ if (this.#backgroundPrebuildEndLine >= 0) this.#pendingPrebuildEndLine = Math.max(this.#pendingPrebuildEndLine, this.#backgroundPrebuildEndLine);
357
+ this.#backgroundPrebuildEndLine = -1;
358
+ this.#backgroundChangedLineRanges = changedLineRanges;
359
+ this.#backgroundChangedRangeIndex = changedRangeIndex;
360
+ this.#attachMessageListener();
361
+ this.#postTokenizeMessage(jobId);
362
+ }
363
+ #scheduleStatePrebuild(endLine) {
364
+ if (this.#grammar === void 0 || this.#stateStack.length > endLine) return;
365
+ if (!this.#isStopped) {
366
+ if (this.#backgroundPrebuildEndLine >= 0) this.#backgroundPrebuildEndLine = Math.max(this.#backgroundPrebuildEndLine, endLine);
367
+ else this.#pendingPrebuildEndLine = Math.max(this.#pendingPrebuildEndLine, endLine);
368
+ return;
369
+ }
370
+ const jobId = ++this.#backgroundJobId;
371
+ this.#isStopped = false;
372
+ this.#isPaused = false;
373
+ this.#lastLine = this.#stateStack.length - 1;
374
+ this.#backgroundPrebuildEndLine = endLine;
375
+ this.#pendingPrebuildEndLine = -1;
376
+ this.#backgroundChangedLineRanges = void 0;
377
+ this.#backgroundChangedRangeIndex = 0;
378
+ this.#attachMessageListener();
379
+ this.#postTokenizeMessage(jobId);
380
+ }
381
+ #tokenizeLineAt(line, state) {
382
+ const lineText = this.#textDocument.getLineText(line);
383
+ if (lineText.length > this.#tokenizeMaxLineLength) {
384
+ console.warn(`[diffs] Line(${line}) too long to tokenize: ${lineText.length}`);
385
+ this.#cacheBracketIgnoredRanges(line, null);
386
+ return {
387
+ resolvedTokens: [[
388
+ 0,
389
+ "",
390
+ lineText
391
+ ]],
392
+ state
393
+ };
394
+ }
395
+ if (this.#grammar === void 0 || lineText === "" || lineText.trim() === "") {
396
+ this.#cacheBracketIgnoredRanges(line, null);
397
+ return {
398
+ resolvedTokens: [[
399
+ 0,
400
+ "",
401
+ lineText
402
+ ]],
403
+ state
404
+ };
405
+ }
406
+ const result = tokenizeLine(this.#grammar, this.#colorMap, lineText, state, TOKENIZE_TIME_LIMIT, this.#matchBrackets);
407
+ this.#cacheBracketIgnoredRanges(line, result.bracketIgnoredRanges);
408
+ return {
409
+ resolvedTokens: result.resolvedTokens,
410
+ state: result.ruleStack
411
+ };
412
+ }
413
+ #cacheBracketIgnoredRanges(line, ranges) {
414
+ if (this.#matchBrackets) this.#bracketIgnoredRanges[line] = ranges;
415
+ }
416
+ #shiftComparisonStateStack(change) {
417
+ const lineChanges = change.changedLineChanges ?? [[
418
+ change.startLine,
419
+ change.endLine,
420
+ change.lineDelta
421
+ ]];
422
+ const comparisonStart = change.startLine + 1;
423
+ if (comparisonStart <= this.#stateStack.length - comparisonStart) {
424
+ this.#comparisonStateStack = this.#stateStack;
425
+ this.#comparisonStateStackStart = 0;
426
+ this.#stateStack = this.#stateStack.slice(0, comparisonStart);
427
+ } else {
428
+ this.#comparisonStateStackStart = comparisonStart;
429
+ this.#comparisonStateStack = this.#stateStack.slice(comparisonStart);
430
+ this.#stateStack.length = Math.min(this.#stateStack.length, comparisonStart);
431
+ }
432
+ this.#comparisonLineChanges = lineChanges;
433
+ }
434
+ #getPreviousEndState(line) {
435
+ let previousLine = line;
436
+ for (let index = this.#comparisonLineChanges.length - 1; index >= 0; index--) {
437
+ const [startLine, endLine, lineDelta] = this.#comparisonLineChanges[index];
438
+ if (lineDelta === 0) continue;
439
+ if (previousLine > endLine) previousLine -= lineDelta;
440
+ else if (previousLine > startLine) return this.#stateStack[line];
441
+ }
442
+ return this.#comparisonStateStack[previousLine - this.#comparisonStateStackStart] ?? this.#stateStack[line];
443
+ }
444
+ #buildStateStack(endAt, timeBudget) {
445
+ const boundedEndAt = Math.min(Math.max(0, endAt), this.#textDocument.lineCount);
446
+ if (this.#stateStack.length > boundedEndAt || this.#grammar === void 0) return true;
447
+ const startedAt = timeBudget === void 0 ? 0 : performance.now();
448
+ let line = this.#stateStack.length - 1;
449
+ let state = this.#stateStack[line] ?? INITIAL;
450
+ while (line < boundedEndAt) {
451
+ this.#stateStack[line] = state;
452
+ const lineText = this.#textDocument.getLineText(line);
453
+ if (lineText.length <= this.#tokenizeMaxLineLength && lineText !== "" && lineText.trim() !== "") {
454
+ const result = tokenizeLine(this.#grammar, this.#colorMap, lineText, state, TOKENIZE_TIME_LIMIT, this.#matchBrackets, false);
455
+ this.#cacheBracketIgnoredRanges(line, result.bracketIgnoredRanges);
456
+ state = result.ruleStack;
457
+ } else this.#cacheBracketIgnoredRanges(line, null);
458
+ line++;
459
+ this.#stateStack[line] = state;
460
+ if (timeBudget !== void 0 && performance.now() - startedAt > timeBudget) break;
461
+ }
462
+ return line >= boundedEndAt;
463
+ }
464
+ #backgroundPrebuild(jobId) {
465
+ if (this.#isStopped || this.#isPaused || this.#grammar === void 0 || jobId !== this.#backgroundJobId) return;
466
+ this.#ensureActiveTheme();
467
+ const complete = this.#buildStateStack(this.#backgroundPrebuildEndLine, 1);
468
+ if (this.#isStopped || this.#isPaused || jobId !== this.#backgroundJobId) return;
469
+ if (complete) {
470
+ this.stopBackgroundTokenize();
471
+ return;
472
+ }
473
+ this.#lastLine = this.#stateStack.length - 1;
474
+ this.#postTokenizeMessage(jobId);
475
+ }
476
+ #backgroundTokenize(jobId) {
477
+ if (this.#isStopped || this.#isPaused || this.#grammar === void 0 || jobId !== this.#backgroundJobId) return;
478
+ this.#ensureActiveTheme();
479
+ const t = performance.now();
480
+ const lines = /* @__PURE__ */ new Map();
481
+ const totalLines = this.#textDocument.lineCount;
482
+ const changedLineRanges = this.#backgroundChangedLineRanges;
483
+ let line = this.#lastLine;
484
+ let state = this.#stateStack[line] ?? INITIAL;
485
+ let settled = false;
486
+ let changedRangeIndex = this.#backgroundChangedRangeIndex;
487
+ let currentChangedRangeEnd = changedLineRanges?.[changedRangeIndex]?.[1];
488
+ for (; line < totalLines;) {
489
+ this.#stateStack[line] = state;
490
+ const previousNextState = currentChangedRangeEnd !== void 0 ? this.#getPreviousEndState(line + 1) : void 0;
491
+ const lineText = this.#textDocument.getLineText(line);
492
+ if (lineText.length > this.#tokenizeMaxLineLength) {
493
+ console.warn(`[diffs] Line(${line}) too long to tokenize: ${lineText.length}`);
494
+ lines.set(line, [[
495
+ 0,
496
+ "",
497
+ lineText
498
+ ]]);
499
+ this.#cacheBracketIgnoredRanges(line, null);
500
+ } else if (lineText === "" || lineText.trim() === "") {
501
+ lines.set(line, [[
502
+ 0,
503
+ "",
504
+ lineText
505
+ ]]);
506
+ this.#cacheBracketIgnoredRanges(line, null);
507
+ } else {
508
+ const ret = tokenizeLine(this.#grammar, this.#colorMap, lineText, state, TOKENIZE_TIME_LIMIT, this.#matchBrackets);
509
+ lines.set(line, ret.resolvedTokens);
510
+ this.#cacheBracketIgnoredRanges(line, ret.bracketIgnoredRanges);
511
+ state = ret.ruleStack;
512
+ }
513
+ this.#stateStack[line + 1] = state;
514
+ settled = currentChangedRangeEnd !== void 0 && line >= currentChangedRangeEnd && previousNextState !== void 0 && state.equals(previousNextState);
515
+ line++;
516
+ if (settled) {
517
+ changedRangeIndex++;
518
+ const nextRange = changedLineRanges?.[changedRangeIndex];
519
+ if (nextRange === void 0) break;
520
+ currentChangedRangeEnd = nextRange[1];
521
+ if (this.#stateStack[nextRange[0]] === void 0) settled = false;
522
+ else {
523
+ line = nextRange[0];
524
+ state = this.#stateStack[line] ?? state;
525
+ settled = false;
526
+ continue;
527
+ }
528
+ }
529
+ if (performance.now() - t > 1) break;
530
+ }
531
+ this.#onDeferTokenize(lines, this.#themeType);
532
+ if (this.#isStopped || this.#isPaused || jobId !== this.#backgroundJobId) return;
533
+ if (settled || line >= totalLines) {
534
+ const pendingPrebuildEndLine = this.#pendingPrebuildEndLine;
535
+ this.stopBackgroundTokenize();
536
+ if (pendingPrebuildEndLine >= 0) this.#scheduleStatePrebuild(pendingPrebuildEndLine);
537
+ return;
538
+ }
539
+ this.#lastLine = line;
540
+ this.#backgroundChangedRangeIndex = changedRangeIndex;
541
+ this.#postTokenizeMessage(jobId);
542
+ }
543
+ };
544
+ function tokenizeLine(grammar, colorMap, lineText, stateStack, timeLimit, collectBracketIgnoredRanges = true, resolveTokens = true) {
545
+ const result = grammar.tokenizeLine2(lineText, stateStack, timeLimit);
546
+ if (result.stoppedEarly) console.warn(`[diffs] Time limit reached when tokenizing line: ${lineText.substring(0, 100)}`);
547
+ const rawTokens = result.tokens;
548
+ const tokensLength = rawTokens.length / 2;
549
+ const resolvedTokens = [];
550
+ const bracketIgnoredRanges = [];
551
+ if (!resolveTokens && !collectBracketIgnoredRanges) return {
552
+ ruleStack: result.ruleStack,
553
+ resolvedTokens,
554
+ bracketIgnoredRanges
555
+ };
556
+ for (let j = 0; j < tokensLength; j++) {
557
+ const offset = rawTokens[2 * j];
558
+ const nextOffset = j + 1 < tokensLength ? rawTokens[2 * j + 2] : lineText.length;
559
+ if (offset === nextOffset) continue;
560
+ const metadata = rawTokens[2 * j + 1];
561
+ if (resolveTokens) {
562
+ const fg = EncodedTokenMetadata.getForeground(metadata);
563
+ resolvedTokens.push([
564
+ offset,
565
+ colorMap[fg],
566
+ lineText.slice(offset, nextOffset)
567
+ ]);
568
+ }
569
+ if (collectBracketIgnoredRanges && EncodedTokenMetadata.getTokenType(metadata) > 0) bracketIgnoredRanges.push([offset, nextOffset]);
570
+ }
571
+ return {
572
+ ruleStack: result.ruleStack,
573
+ resolvedTokens,
574
+ bracketIgnoredRanges
575
+ };
576
+ }
577
+ function renderLineTokens(tokens) {
578
+ return tokens.map(([char, fg, textContent]) => {
579
+ if (char === 0 && fg === "") {
580
+ if (textContent === "") return h("br");
581
+ return textContent;
582
+ }
583
+ return h("span", {
584
+ dataset: { char: char.toString() },
585
+ style: `color:${fg};`,
586
+ textContent
587
+ });
588
+ });
589
+ }
590
+ function isGrammarlessLanguage(languageId) {
591
+ return languageId === "text" || languageId === "ansi";
592
+ }
593
+ //#endregion
594
+ export { EditorTokenizer, renderLineTokens };
595
+
596
+ //# sourceMappingURL=tokenizer.js.map