@pierre/diffs 1.3.0-beta.1 → 1.3.0-beta.11
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.
- package/README.md +15 -15
- package/dist/components/CodeView.d.ts +103 -15
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +335 -51
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +12 -8
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +103 -40
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +82 -36
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +382 -96
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.d.ts +0 -1
- package/dist/components/FileStream.d.ts.map +1 -1
- package/dist/components/FileStream.js +10 -7
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts +3 -3
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +8 -6
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +8 -4
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +118 -44
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +36 -9
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +371 -120
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.d.ts +4 -1
- package/dist/components/Virtualizer.d.ts.map +1 -1
- package/dist/components/Virtualizer.js +47 -29
- package/dist/components/Virtualizer.js.map +1 -1
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/dist/components/web-components.d.ts.map +1 -1
- package/dist/components/web-components.js +2 -3
- package/dist/components/web-components.js.map +1 -1
- package/dist/constants.d.ts +5 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -2
- package/dist/constants.js.map +1 -1
- package/dist/editor/command.d.ts +3 -2
- package/dist/editor/command.d.ts.map +1 -1
- package/dist/editor/command.js +29 -6
- package/dist/editor/command.js.map +1 -1
- package/dist/editor/editStack.d.ts +12 -2
- package/dist/editor/editStack.d.ts.map +1 -1
- package/dist/editor/editStack.js +57 -16
- package/dist/editor/editStack.js.map +1 -1
- package/dist/editor/editor.d.ts +91 -8
- package/dist/editor/editor.d.ts.map +1 -1
- package/dist/editor/editor.js +1951 -709
- package/dist/editor/editor.js.map +1 -1
- package/dist/editor/editor2.js +6 -0
- package/dist/editor/editor2.js.map +1 -0
- package/dist/editor/index.d.ts +4 -2
- package/dist/editor/index.js +1 -2
- package/dist/editor/languages.d.ts +26 -0
- package/dist/editor/languages.d.ts.map +1 -0
- package/dist/editor/languages.js +363 -0
- package/dist/editor/languages.js.map +1 -0
- package/dist/editor/lineAnnotations.d.ts +2 -1
- package/dist/editor/lineAnnotations.d.ts.map +1 -1
- package/dist/editor/lineAnnotations.js +193 -13
- package/dist/editor/lineAnnotations.js.map +1 -1
- package/dist/editor/marker.d.ts +38 -0
- package/dist/editor/marker.d.ts.map +1 -0
- package/dist/editor/marker.js +245 -0
- package/dist/editor/marker.js.map +1 -0
- package/dist/editor/matchBrackets.d.ts +9 -0
- package/dist/editor/matchBrackets.d.ts.map +1 -0
- package/dist/editor/matchBrackets.js +138 -0
- package/dist/editor/matchBrackets.js.map +1 -0
- package/dist/editor/pieceTable.d.ts +15 -7
- package/dist/editor/pieceTable.d.ts.map +1 -1
- package/dist/editor/pieceTable.js +306 -190
- package/dist/editor/pieceTable.js.map +1 -1
- package/dist/editor/platform.d.ts +8 -1
- package/dist/editor/platform.d.ts.map +1 -1
- package/dist/editor/platform.js +18 -5
- package/dist/editor/platform.js.map +1 -1
- package/dist/editor/popover.d.ts +65 -0
- package/dist/editor/popover.d.ts.map +1 -0
- package/dist/editor/popover.js +191 -0
- package/dist/editor/popover.js.map +1 -0
- package/dist/editor/searchPanel.d.ts +17 -7
- package/dist/editor/searchPanel.d.ts.map +1 -1
- package/dist/editor/searchPanel.js +268 -169
- package/dist/editor/searchPanel.js.map +1 -1
- package/dist/editor/selection.d.ts +101 -16
- package/dist/editor/selection.d.ts.map +1 -1
- package/dist/editor/selection.js +863 -137
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/selectionAction.d.ts +46 -0
- package/dist/editor/selectionAction.d.ts.map +1 -0
- package/dist/editor/selectionAction.js +64 -0
- package/dist/editor/selectionAction.js.map +1 -0
- package/dist/editor/sprite.d.ts +8 -0
- package/dist/editor/sprite.d.ts.map +1 -0
- package/dist/editor/sprite.js +45 -0
- package/dist/editor/sprite.js.map +1 -0
- package/dist/editor/stateStorage.d.ts +15 -0
- package/dist/editor/stateStorage.d.ts.map +1 -0
- package/dist/editor/stateStorage.js +65 -0
- package/dist/editor/stateStorage.js.map +1 -0
- package/dist/editor/textDocument.d.ts +21 -83
- package/dist/editor/textDocument.d.ts.map +1 -1
- package/dist/editor/textDocument.js +117 -48
- package/dist/editor/textDocument.js.map +1 -1
- package/dist/editor/textMeasure.d.ts +31 -2
- package/dist/editor/textMeasure.d.ts.map +1 -1
- package/dist/editor/textMeasure.js +122 -21
- package/dist/editor/textMeasure.js.map +1 -1
- package/dist/editor/{tokenzier.d.ts → tokenizer.d.ts} +16 -12
- package/dist/editor/tokenizer.d.ts.map +1 -0
- package/dist/editor/tokenizer.js +518 -0
- package/dist/editor/tokenizer.js.map +1 -0
- package/dist/editor/utils.d.ts +6 -1
- package/dist/editor/utils.d.ts.map +1 -1
- package/dist/editor/utils.js +34 -3
- package/dist/editor/utils.js.map +1 -1
- package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
- package/dist/highlighter/languages/areLanguagesAttached.js +1 -2
- package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts +0 -2
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/constants.d.ts +0 -1
- package/dist/highlighter/languages/constants.d.ts.map +1 -1
- package/dist/highlighter/languages/constants.js +1 -1
- package/dist/highlighter/languages/constants.js.map +1 -1
- package/dist/highlighter/languages/getResolvedLanguages.d.ts +0 -2
- package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/getResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +0 -2
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +1 -2
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -1
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/hasResolvedLanguages.js +1 -2
- package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/registerCustomLanguage.d.ts +0 -1
- package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/registerCustomLanguage.js +1 -2
- package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -1
- package/dist/highlighter/languages/resolveLanguage.d.ts +0 -2
- package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/resolveLanguage.js +4 -5
- package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
- package/dist/highlighter/languages/resolveLanguages.d.ts +0 -2
- package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/resolveLanguages.js +1 -2
- package/dist/highlighter/languages/resolveLanguages.js.map +1 -1
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.js +6 -33
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
- package/dist/highlighter/themes/areThemesAttached.js +1 -2
- package/dist/highlighter/themes/areThemesAttached.js.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.js +5 -5
- package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.js +4 -4
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/constants.d.ts +1 -7
- package/dist/highlighter/themes/constants.d.ts.map +1 -1
- package/dist/highlighter/themes/constants.js +2 -5
- package/dist/highlighter/themes/constants.js.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js +3 -4
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.js +3 -10
- package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.js +3 -5
- package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +2 -3
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.d.ts +5 -3
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.js +16 -7
- package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveTheme.js +7 -29
- package/dist/highlighter/themes/resolveTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveThemes.js +6 -14
- package/dist/highlighter/themes/resolveThemes.js.map +1 -1
- package/dist/highlighter/themes/themeResolution.d.ts +8 -0
- package/dist/highlighter/themes/themeResolution.d.ts.map +1 -0
- package/dist/highlighter/themes/themeResolution.js +21 -0
- package/dist/highlighter/themes/themeResolution.js.map +1 -0
- package/dist/highlighter/themes/themeResolver.d.ts +8 -0
- package/dist/highlighter/themes/themeResolver.d.ts.map +1 -0
- package/dist/highlighter/themes/themeResolver.js +7 -0
- package/dist/highlighter/themes/themeResolver.js.map +1 -0
- package/dist/index.d.ts +16 -14
- package/dist/index.js +13 -12
- package/dist/managers/InteractionManager.d.ts +20 -2
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/InteractionManager.js +159 -83
- package/dist/managers/InteractionManager.js.map +1 -1
- package/dist/managers/ResizeManager.d.ts +10 -2
- package/dist/managers/ResizeManager.d.ts.map +1 -1
- package/dist/managers/ResizeManager.js +35 -15
- package/dist/managers/ResizeManager.js.map +1 -1
- package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
- package/dist/managers/ScrollSyncManager.js +1 -1
- package/dist/managers/ScrollSyncManager.js.map +1 -1
- package/dist/managers/UniversalRenderingManager.d.ts +2 -1
- package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
- package/dist/managers/UniversalRenderingManager.js +8 -3
- package/dist/managers/UniversalRenderingManager.js.map +1 -1
- package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +228 -0
- package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts +84 -0
- package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts.map +1 -0
- package/dist/react/CodeView.d.ts +26 -2
- package/dist/react/CodeView.d.ts.map +1 -1
- package/dist/react/CodeView.js +90 -30
- package/dist/react/CodeView.js.map +1 -1
- package/dist/react/EditContext.d.ts +15 -0
- package/dist/react/EditContext.d.ts.map +1 -0
- package/dist/react/EditContext.js +23 -0
- package/dist/react/EditContext.js.map +1 -0
- package/dist/react/File.d.ts +1 -0
- package/dist/react/File.d.ts.map +1 -1
- package/dist/react/File.js +4 -6
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.d.ts +1 -0
- package/dist/react/FileDiff.d.ts.map +1 -1
- package/dist/react/FileDiff.js +4 -6
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.d.ts +4 -4
- package/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/dist/react/MultiFileDiff.js +4 -6
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.d.ts +1 -0
- package/dist/react/PatchDiff.d.ts.map +1 -1
- package/dist/react/PatchDiff.js +4 -6
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.d.ts +2 -1
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js +4 -6
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/Virtualizer.d.ts.map +1 -1
- package/dist/react/Virtualizer.js +2 -5
- package/dist/react/Virtualizer.js.map +1 -1
- package/dist/react/WorkerPoolContext.d.ts +0 -1
- package/dist/react/WorkerPoolContext.d.ts.map +1 -1
- package/dist/react/WorkerPoolContext.js +2 -5
- package/dist/react/WorkerPoolContext.js.map +1 -1
- package/dist/react/constants.d.ts.map +1 -1
- package/dist/react/constants.js +1 -1
- package/dist/react/constants.js.map +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.js +2 -3
- package/dist/react/jsx.d.ts +0 -1
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/react/types.d.ts +2 -0
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/types.js +1 -0
- package/dist/react/utils/renderDiffChildren.d.ts +2 -0
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +18 -11
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.d.ts +2 -0
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/dist/react/utils/renderFileChildren.js +18 -11
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/templateRender.d.ts.map +1 -1
- package/dist/react/utils/templateRender.js +1 -2
- package/dist/react/utils/templateRender.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +10 -18
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileInstance.js +3 -7
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useStableCallback.d.ts.map +1 -1
- package/dist/react/utils/useStableCallback.js +1 -2
- package/dist/react/utils/useStableCallback.js.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +10 -11
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +30 -4
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +313 -45
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +7 -6
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +113 -56
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +1 -2
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js +1 -2
- package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/dist/shiki-stream/index.js +1 -2
- package/dist/shiki-stream/stream.d.ts +0 -1
- package/dist/shiki-stream/stream.d.ts.map +1 -1
- package/dist/shiki-stream/stream.js +1 -2
- package/dist/shiki-stream/stream.js.map +1 -1
- package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
- package/dist/shiki-stream/tokenizer.js +1 -1
- package/dist/shiki-stream/tokenizer.js.map +1 -1
- package/dist/shiki-stream/types.d.ts +0 -1
- package/dist/shiki-stream/types.d.ts.map +1 -1
- package/dist/sprite.d.ts.map +1 -1
- package/dist/sprite.js +1 -1
- package/dist/ssr/FileDiffReact.d.ts.map +1 -1
- package/dist/ssr/FileDiffReact.js +4 -7
- package/dist/ssr/FileDiffReact.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/index.js +1 -2
- package/dist/ssr/preloadDiffs.d.ts +12 -11
- package/dist/ssr/preloadDiffs.d.ts.map +1 -1
- package/dist/ssr/preloadDiffs.js +16 -9
- package/dist/ssr/preloadDiffs.js.map +1 -1
- package/dist/ssr/preloadFile.d.ts.map +1 -1
- package/dist/ssr/preloadFile.js +1 -2
- package/dist/ssr/preloadFile.js.map +1 -1
- package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
- package/dist/ssr/preloadPatchFile.js +2 -3
- package/dist/ssr/preloadPatchFile.js.map +1 -1
- package/dist/ssr/renderHTML.d.ts +1 -1
- package/dist/ssr/renderHTML.d.ts.map +1 -1
- package/dist/ssr/renderHTML.js +1 -2
- package/dist/ssr/renderHTML.js.map +1 -1
- package/dist/string-import.d.ts +4 -0
- package/dist/string-import.d.ts.map +1 -1
- package/dist/style.js +3 -3
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +278 -31
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/applyLineTextWithNewline.d.ts +5 -0
- package/dist/utils/applyLineTextWithNewline.d.ts.map +1 -0
- package/dist/utils/applyLineTextWithNewline.js +11 -0
- package/dist/utils/applyLineTextWithNewline.js.map +1 -0
- package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.js +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
- package/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffRenderOptionsEqual.js +1 -2
- package/dist/utils/areDiffRenderOptionsEqual.js.map +1 -1
- package/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffTargetsEqual.js +1 -1
- package/dist/utils/areDiffTargetsEqual.js.map +1 -1
- package/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areFileRenderOptionsEqual.js +1 -2
- package/dist/utils/areFileRenderOptionsEqual.js.map +1 -1
- package/dist/utils/areFilesEqual.d.ts.map +1 -1
- package/dist/utils/areFilesEqual.js +1 -1
- package/dist/utils/areFilesEqual.js.map +1 -1
- package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
- package/dist/utils/areHunkDataEqual.js +2 -2
- package/dist/utils/areHunkDataEqual.js.map +1 -1
- package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
- package/dist/utils/areLineAnnotationsEqual.js +1 -1
- package/dist/utils/areLineAnnotationsEqual.js.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.d.ts +2 -2
- package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.js +6 -1
- package/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
- package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
- package/dist/utils/areMergeConflictActionsEqual.js +1 -1
- package/dist/utils/areMergeConflictActionsEqual.js.map +1 -1
- package/dist/utils/areObjectsEqual.d.ts.map +1 -1
- package/dist/utils/areObjectsEqual.js +1 -1
- package/dist/utils/areObjectsEqual.js.map +1 -1
- package/dist/utils/areOptionsEqual.d.ts +0 -2
- package/dist/utils/areOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areOptionsEqual.js +1 -2
- package/dist/utils/areOptionsEqual.js.map +1 -1
- package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
- package/dist/utils/arePrePropertiesEqual.js +1 -1
- package/dist/utils/arePrePropertiesEqual.js.map +1 -1
- package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
- package/dist/utils/areRenderRangesEqual.js +1 -1
- package/dist/utils/areRenderRangesEqual.js.map +1 -1
- package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
- package/dist/utils/areSelectionPointsEqual.js +1 -1
- package/dist/utils/areSelectionPointsEqual.js.map +1 -1
- package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
- package/dist/utils/areSelectionsEqual.js +1 -1
- package/dist/utils/areSelectionsEqual.js.map +1 -1
- package/dist/utils/areThemesEqual.d.ts.map +1 -1
- package/dist/utils/areThemesEqual.js +1 -1
- package/dist/utils/areThemesEqual.js.map +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.js +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.js.map +1 -1
- package/dist/utils/areWorkerStatsEqual.d.ts +0 -2
- package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
- package/dist/utils/areWorkerStatsEqual.js +1 -1
- package/dist/utils/areWorkerStatsEqual.js.map +1 -1
- package/dist/utils/awaitWithTimeout.d.ts +5 -0
- package/dist/utils/awaitWithTimeout.d.ts.map +1 -0
- package/dist/utils/awaitWithTimeout.js +15 -0
- package/dist/utils/awaitWithTimeout.js.map +1 -0
- package/dist/utils/cleanLastNewline.d.ts.map +1 -1
- package/dist/utils/cleanLastNewline.js +1 -1
- package/dist/utils/cleanLastNewline.js.map +1 -1
- package/dist/utils/cloneFileDiffMetadata.d.ts +7 -0
- package/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -0
- package/dist/utils/cloneFileDiffMetadata.js +16 -0
- package/dist/utils/cloneFileDiffMetadata.js.map +1 -0
- package/dist/utils/computeEstimatedDiffHeights.d.ts +3 -1
- package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
- package/dist/utils/computeEstimatedDiffHeights.js +18 -23
- package/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
- package/dist/utils/computeFileOffsets.d.ts +9 -1
- package/dist/utils/computeFileOffsets.d.ts.map +1 -1
- package/dist/utils/computeFileOffsets.js +51 -4
- package/dist/utils/computeFileOffsets.js.map +1 -1
- package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
- package/dist/utils/computeVirtualFileMetrics.js +1 -2
- package/dist/utils/computeVirtualFileMetrics.js.map +1 -1
- package/dist/utils/createAnnotationElement.d.ts +1 -1
- package/dist/utils/createAnnotationElement.d.ts.map +1 -1
- package/dist/utils/createAnnotationElement.js +1 -2
- package/dist/utils/createAnnotationElement.js.map +1 -1
- package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
- package/dist/utils/createAnnotationWrapperNode.js +1 -1
- package/dist/utils/createAnnotationWrapperNode.js.map +1 -1
- package/dist/utils/createCodeViewHeaderFooterHostElement.d.ts +5 -0
- package/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -0
- package/dist/utils/createCodeViewHeaderFooterHostElement.js +19 -0
- package/dist/utils/createCodeViewHeaderFooterHostElement.js.map +1 -0
- package/dist/utils/createContentColumn.d.ts +1 -1
- package/dist/utils/createContentColumn.d.ts.map +1 -1
- package/dist/utils/createContentColumn.js +1 -2
- package/dist/utils/createContentColumn.js.map +1 -1
- package/dist/utils/createEmptyRowBuffer.d.ts +1 -1
- package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
- package/dist/utils/createEmptyRowBuffer.js +1 -2
- package/dist/utils/createEmptyRowBuffer.js.map +1 -1
- package/dist/utils/createFileHeaderElement.d.ts +1 -1
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
- package/dist/utils/createFileHeaderElement.js +6 -3
- package/dist/utils/createFileHeaderElement.js.map +1 -1
- package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
- package/dist/utils/createGutterUtilityContentNode.js +1 -1
- package/dist/utils/createGutterUtilityContentNode.js.map +1 -1
- package/dist/utils/createGutterUtilityElement.d.ts +1 -1
- package/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
- package/dist/utils/createGutterUtilityElement.js +1 -2
- package/dist/utils/createGutterUtilityElement.js.map +1 -1
- package/dist/utils/createNoNewlineElement.d.ts +1 -1
- package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
- package/dist/utils/createNoNewlineElement.js +1 -2
- package/dist/utils/createNoNewlineElement.js.map +1 -1
- package/dist/utils/createPreElement.d.ts +1 -1
- package/dist/utils/createPreElement.d.ts.map +1 -1
- package/dist/utils/createPreElement.js +1 -3
- package/dist/utils/createPreElement.js.map +1 -1
- package/dist/utils/createRowNodes.d.ts.map +1 -1
- package/dist/utils/createRowNodes.js +1 -1
- package/dist/utils/createRowNodes.js.map +1 -1
- package/dist/utils/createSeparator.d.ts +1 -1
- package/dist/utils/createSeparator.d.ts.map +1 -1
- package/dist/utils/createSeparator.js +1 -2
- package/dist/utils/createSeparator.js.map +1 -1
- package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
- package/dist/utils/createSpanNodeFromToken.js +1 -2
- package/dist/utils/createSpanNodeFromToken.js.map +1 -1
- package/dist/utils/createStyleElement.d.ts +1 -1
- package/dist/utils/createStyleElement.d.ts.map +1 -1
- package/dist/utils/createStyleElement.js +1 -2
- package/dist/utils/createStyleElement.js.map +1 -1
- package/dist/utils/createTransformerWithState.d.ts.map +1 -1
- package/dist/utils/createTransformerWithState.js +1 -2
- package/dist/utils/createTransformerWithState.js.map +1 -1
- package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
- package/dist/utils/createUnsafeCSSStyleNode.js +1 -2
- package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.js +5 -5
- package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
- package/dist/utils/cssWrappers.d.ts.map +1 -1
- package/dist/utils/cssWrappers.js +2 -3
- package/dist/utils/cssWrappers.js.map +1 -1
- package/dist/utils/detachString.d.ts.map +1 -1
- package/dist/utils/detachString.js +1 -1
- package/dist/utils/detachString.js.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.js +1 -2
- package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
- package/dist/utils/editSessionHunks.d.ts +84 -0
- package/dist/utils/editSessionHunks.d.ts.map +1 -0
- package/dist/utils/editSessionHunks.js +366 -0
- package/dist/utils/editSessionHunks.js.map +1 -0
- package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
- package/dist/utils/formatCSSVariablePrefix.js +1 -1
- package/dist/utils/formatCSSVariablePrefix.js.map +1 -1
- package/dist/utils/getDiffFileInput.d.ts +14 -0
- package/dist/utils/getDiffFileInput.d.ts.map +1 -0
- package/dist/utils/getDiffFileInput.js +24 -0
- package/dist/utils/getDiffFileInput.js.map +1 -0
- package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
- package/dist/utils/getDiffHunksRendererOptions.js +2 -1
- package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
- package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
- package/dist/utils/getFileRendererOptions.js +1 -1
- package/dist/utils/getFileRendererOptions.js.map +1 -1
- package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
- package/dist/utils/getFiletypeFromFileName.js +3 -1
- package/dist/utils/getFiletypeFromFileName.js.map +1 -1
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
- package/dist/utils/getHighlighterOptions.js +1 -2
- package/dist/utils/getHighlighterOptions.js.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.js +17 -14
- package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
- package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
- package/dist/utils/getHunkSeparatorSlotName.js +1 -1
- package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
- package/dist/utils/getIconForType.d.ts.map +1 -1
- package/dist/utils/getIconForType.js +1 -1
- package/dist/utils/getIconForType.js.map +1 -1
- package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
- package/dist/utils/getLineAnnotationName.js +1 -1
- package/dist/utils/getLineAnnotationName.js.map +1 -1
- package/dist/utils/getLineEndingType.d.ts.map +1 -1
- package/dist/utils/getLineEndingType.js +1 -1
- package/dist/utils/getLineEndingType.js.map +1 -1
- package/dist/utils/getLineNodes.d.ts +1 -1
- package/dist/utils/getLineNodes.d.ts.map +1 -1
- package/dist/utils/getLineNodes.js +1 -1
- package/dist/utils/getLineNodes.js.map +1 -1
- package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
- package/dist/utils/getMergeConflictActionSlotName.js +1 -1
- package/dist/utils/getMergeConflictActionSlotName.js.map +1 -1
- package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
- package/dist/utils/getMergeConflictLineTypes.js +1 -2
- package/dist/utils/getMergeConflictLineTypes.js.map +1 -1
- package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
- package/dist/utils/getOrCreateCodeNode.js +1 -1
- package/dist/utils/getOrCreateCodeNode.js.map +1 -1
- package/dist/utils/getSingularPatch.d.ts.map +1 -1
- package/dist/utils/getSingularPatch.js +1 -2
- package/dist/utils/getSingularPatch.js.map +1 -1
- package/dist/utils/getThemes.d.ts.map +1 -1
- package/dist/utils/getThemes.js +1 -2
- package/dist/utils/getThemes.js.map +1 -1
- package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
- package/dist/utils/getTotalLineCountFromHunks.js +1 -1
- package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
- package/dist/utils/hast_utils.d.ts +1 -1
- package/dist/utils/hast_utils.d.ts.map +1 -1
- package/dist/utils/hast_utils.js +1 -1
- package/dist/utils/hast_utils.js.map +1 -1
- package/dist/utils/hostTheme.d.ts.map +1 -1
- package/dist/utils/hostTheme.js +1 -2
- package/dist/utils/hostTheme.js.map +1 -1
- package/dist/utils/hydratePartialDiff.d.ts +10 -0
- package/dist/utils/hydratePartialDiff.d.ts.map +1 -0
- package/dist/utils/hydratePartialDiff.js +140 -0
- package/dist/utils/hydratePartialDiff.js.map +1 -0
- package/dist/utils/includesFileAnnotations.d.ts +17 -0
- package/dist/utils/includesFileAnnotations.d.ts.map +1 -0
- package/dist/utils/includesFileAnnotations.js +19 -0
- package/dist/utils/includesFileAnnotations.js.map +1 -0
- package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
- package/dist/utils/isDefaultRenderRange.js +1 -1
- package/dist/utils/isDefaultRenderRange.js.map +1 -1
- package/dist/utils/isDiffPlainText.d.ts.map +1 -1
- package/dist/utils/isDiffPlainText.js +1 -2
- package/dist/utils/isDiffPlainText.js.map +1 -1
- package/dist/utils/isFilePlainText.d.ts.map +1 -1
- package/dist/utils/isFilePlainText.js +1 -2
- package/dist/utils/isFilePlainText.js.map +1 -1
- package/dist/utils/isGutterUtilityPath.d.ts +5 -0
- package/dist/utils/isGutterUtilityPath.d.ts.map +1 -0
- package/dist/utils/isGutterUtilityPath.js +12 -0
- package/dist/utils/isGutterUtilityPath.js.map +1 -0
- package/dist/utils/isStyleNode.d.ts.map +1 -1
- package/dist/utils/isStyleNode.js +1 -1
- package/dist/utils/isStyleNode.js.map +1 -1
- package/dist/utils/isWorkerContext.d.ts.map +1 -1
- package/dist/utils/isWorkerContext.js +1 -1
- package/dist/utils/isWorkerContext.js.map +1 -1
- package/dist/utils/iterateOverDiff.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.js +178 -214
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
- package/dist/utils/normalizeDiffResolution.js +1 -1
- package/dist/utils/normalizeDiffResolution.js.map +1 -1
- package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
- package/dist/utils/parseDiffDecorations.js +1 -2
- package/dist/utils/parseDiffDecorations.js.map +1 -1
- package/dist/utils/parseDiffFromFile.d.ts +1 -2
- package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseDiffFromFile.js +27 -7
- package/dist/utils/parseDiffFromFile.js.map +1 -1
- package/dist/utils/parseLineType.d.ts.map +1 -1
- package/dist/utils/parseLineType.js +1 -1
- package/dist/utils/parseLineType.js.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.js +5 -5
- package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
- package/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/dist/utils/parsePatchFiles.js +101 -11
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/prefersReducedMotion.d.ts.map +1 -1
- package/dist/utils/prefersReducedMotion.js +1 -1
- package/dist/utils/prefersReducedMotion.js.map +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.js +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -1
- package/dist/utils/processLine.d.ts +1 -1
- package/dist/utils/processLine.d.ts.map +1 -1
- package/dist/utils/processLine.js +1 -2
- package/dist/utils/processLine.js.map +1 -1
- package/dist/utils/realignChangeContent.d.ts +28 -0
- package/dist/utils/realignChangeContent.d.ts.map +1 -0
- package/dist/utils/realignChangeContent.js +142 -0
- package/dist/utils/realignChangeContent.js.map +1 -0
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +9 -8
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +5 -4
- package/dist/utils/renderFileWithHighlighter.js.map +1 -1
- package/dist/utils/resolveConflict.d.ts.map +1 -1
- package/dist/utils/resolveConflict.js +1 -2
- package/dist/utils/resolveConflict.js.map +1 -1
- package/dist/utils/resolveRegion.d.ts.map +1 -1
- package/dist/utils/resolveRegion.js +1 -1
- package/dist/utils/resolveRegion.js.map +1 -1
- package/dist/utils/roundToDevicePixel.d.ts.map +1 -1
- package/dist/utils/roundToDevicePixel.js +1 -1
- package/dist/utils/roundToDevicePixel.js.map +1 -1
- package/dist/utils/scrollbarGutter.d.ts.map +1 -1
- package/dist/utils/scrollbarGutter.js +1 -2
- package/dist/utils/scrollbarGutter.js.map +1 -1
- package/dist/utils/setLanguageOverride.d.ts.map +1 -1
- package/dist/utils/setLanguageOverride.js +1 -1
- package/dist/utils/setLanguageOverride.js.map +1 -1
- package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
- package/dist/utils/setWrapperNodeProps.js +1 -2
- package/dist/utils/setWrapperNodeProps.js.map +1 -1
- package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
- package/dist/utils/shouldUseTokenTransformer.js +1 -1
- package/dist/utils/shouldUseTokenTransformer.js.map +1 -1
- package/dist/utils/splitFileContents.d.ts.map +1 -1
- package/dist/utils/splitFileContents.js +1 -2
- package/dist/utils/splitFileContents.js.map +1 -1
- package/dist/utils/trimPatchContext.d.ts.map +1 -1
- package/dist/utils/trimPatchContext.js +1 -2
- package/dist/utils/trimPatchContext.js.map +1 -1
- package/dist/utils/updateDiffHunks.d.ts +24 -0
- package/dist/utils/updateDiffHunks.d.ts.map +1 -0
- package/dist/utils/updateDiffHunks.js +235 -0
- package/dist/utils/updateDiffHunks.js.map +1 -0
- package/dist/utils/virtualDiffLayout.d.ts +62 -2
- package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
- package/dist/utils/virtualDiffLayout.js +137 -3
- package/dist/utils/virtualDiffLayout.js.map +1 -1
- package/dist/utils/wrapTokenFragments.d.ts +1 -1
- package/dist/utils/wrapTokenFragments.d.ts.map +1 -1
- package/dist/utils/wrapTokenFragments.js +1 -2
- package/dist/utils/wrapTokenFragments.js.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +7 -2
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +88 -23
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
- package/dist/worker/getOrCreateWorkerPoolSingleton.js +1 -2
- package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
- package/dist/worker/index.d.ts +2 -2
- package/dist/worker/index.js +1 -2
- package/dist/worker/types.d.ts +11 -1
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/wasm-B9ZqxnKj.js +8 -0
- package/dist/worker/wasm-B9ZqxnKj.js.map +1 -0
- package/dist/worker/worker-portable.js +3361 -6211
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +321 -314
- package/dist/worker/worker.js.map +1 -1
- package/package.json +29 -32
- package/dist/editor/css.d.ts +0 -6
- package/dist/editor/css.d.ts.map +0 -1
- package/dist/editor/css.js +0 -218
- package/dist/editor/css.js.map +0 -1
- package/dist/editor/quickEdit.d.ts +0 -29
- package/dist/editor/quickEdit.d.ts.map +0 -1
- package/dist/editor/quickEdit.js +0 -81
- package/dist/editor/quickEdit.js.map +0 -1
- package/dist/editor/tokenzier.d.ts.map +0 -1
- package/dist/editor/tokenzier.js +0 -348
- package/dist/editor/tokenzier.js.map +0 -1
- package/dist/react/EditorContext.d.ts +0 -16
- package/dist/react/EditorContext.d.ts.map +0 -1
- package/dist/react/EditorContext.js +0 -26
- package/dist/react/EditorContext.js.map +0 -1
- package/dist/worker/wasm-D4DU5jgR.js +0 -10
- package/dist/worker/wasm-D4DU5jgR.js.map +0 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DIFFS_DEVELOPMENT_BUILD, DIFFS_TAG_NAME } from "../constants.js";
|
|
2
2
|
import { dequeueRender, queueRender } from "../managers/UniversalRenderingManager.js";
|
|
3
|
+
import { areManagedSnapshotsEqual } from "../utils/areManagedSnapshotsEqual.js";
|
|
3
4
|
import { areObjectsEqual } from "../utils/areObjectsEqual.js";
|
|
4
5
|
import { areThemesEqual } from "../utils/areThemesEqual.js";
|
|
5
6
|
import { areOptionsEqual } from "../utils/areOptionsEqual.js";
|
|
6
7
|
import { areSelectionsEqual } from "../utils/areSelectionsEqual.js";
|
|
8
|
+
import { createCodeViewHeaderFooterHostElement } from "../utils/createCodeViewHeaderFooterHostElement.js";
|
|
7
9
|
import { createWindowFromScrollPosition } from "../utils/createWindowFromScrollPosition.js";
|
|
10
|
+
import { finishEditSessionForDiff } from "../utils/editSessionHunks.js";
|
|
8
11
|
import { isStyleNode } from "../utils/isStyleNode.js";
|
|
9
12
|
import { prefersReducedMotion } from "../utils/prefersReducedMotion.js";
|
|
10
13
|
import { roundToDevicePixel } from "../utils/roundToDevicePixel.js";
|
|
11
14
|
import { VirtualizedFile } from "./VirtualizedFile.js";
|
|
12
15
|
import { VirtualizedFileDiff } from "./VirtualizedFileDiff.js";
|
|
13
|
-
|
|
14
16
|
//#region src/components/CodeView.ts
|
|
15
17
|
const CODE_VIEW_DIFF_OPTION_KEYS = [
|
|
16
18
|
"theme",
|
|
@@ -29,6 +31,7 @@ const CODE_VIEW_DIFF_OPTION_KEYS = [
|
|
|
29
31
|
"diffIndicators",
|
|
30
32
|
"disableBackground",
|
|
31
33
|
"expandUnchanged",
|
|
34
|
+
"loadDiffFiles",
|
|
32
35
|
"collapsedContextThreshold",
|
|
33
36
|
"lineDiffType",
|
|
34
37
|
"maxLineDiffLength",
|
|
@@ -62,9 +65,11 @@ const CODE_VIEW_FILE_OPTION_KEYS = [
|
|
|
62
65
|
"controlledSelection",
|
|
63
66
|
"disableErrorHandling"
|
|
64
67
|
];
|
|
68
|
+
const CODE_VIEW_EDIT_FORCED_OPTION_KEYS = /* @__PURE__ */ new Set(["useTokenTransformer"]);
|
|
65
69
|
const CODE_VIEW_SHARED_CALLBACK_KEYS = [
|
|
66
70
|
"renderCustomHeader",
|
|
67
71
|
"renderHeaderPrefix",
|
|
72
|
+
"renderHeaderFilenameSuffix",
|
|
68
73
|
"renderHeaderMetadata",
|
|
69
74
|
"renderAnnotation",
|
|
70
75
|
"renderGutterUtility",
|
|
@@ -130,6 +135,8 @@ var CodeView = class CodeView {
|
|
|
130
135
|
items = [];
|
|
131
136
|
idToItem = /* @__PURE__ */ new Map();
|
|
132
137
|
selectedLines = null;
|
|
138
|
+
itemEditors = /* @__PURE__ */ new Map();
|
|
139
|
+
attachedEditors = /* @__PURE__ */ new Set();
|
|
133
140
|
instanceToItem = /* @__PURE__ */ new Map();
|
|
134
141
|
layoutDirtyIndex;
|
|
135
142
|
pendingLayoutReset;
|
|
@@ -164,18 +171,30 @@ var CodeView = class CodeView {
|
|
|
164
171
|
diffOptionsPrototype;
|
|
165
172
|
pendingScrollTarget;
|
|
166
173
|
pendingLayoutAnchor;
|
|
174
|
+
shouldFixContainerFocus = false;
|
|
167
175
|
scrollAnimation;
|
|
168
176
|
root;
|
|
169
177
|
resizeObserver;
|
|
170
178
|
container = document.createElement("div");
|
|
171
179
|
stickyContainer = document.createElement("div");
|
|
172
180
|
stickyOffset = document.createElement("div");
|
|
181
|
+
header = {
|
|
182
|
+
element: void 0,
|
|
183
|
+
render: void 0,
|
|
184
|
+
height: 0
|
|
185
|
+
};
|
|
186
|
+
footer = {
|
|
187
|
+
element: void 0,
|
|
188
|
+
render: void 0,
|
|
189
|
+
height: 0
|
|
190
|
+
};
|
|
173
191
|
elementPool = [];
|
|
174
192
|
elementPoolVersion = 0;
|
|
175
193
|
elementPoolTracker = /* @__PURE__ */ new WeakMap();
|
|
176
194
|
pendingElementPool = [];
|
|
177
195
|
options;
|
|
178
196
|
workerManager;
|
|
197
|
+
isReadySubscription;
|
|
179
198
|
isContainerManaged;
|
|
180
199
|
constructor(options = { theme: DEFAULT_THEMES }, workerManager, isContainerManaged = false) {
|
|
181
200
|
this.options = options;
|
|
@@ -195,6 +214,9 @@ var CodeView = class CodeView {
|
|
|
195
214
|
getLayout() {
|
|
196
215
|
return this.options.layout ?? DEFAULT_CODE_VIEW_LAYOUT;
|
|
197
216
|
}
|
|
217
|
+
getItemTopOffset() {
|
|
218
|
+
return this.getLayout().paddingTop + this.header.height;
|
|
219
|
+
}
|
|
198
220
|
computeMetricsCache(itemMetrics) {
|
|
199
221
|
this.itemMetricsCache = {
|
|
200
222
|
hunkLineCount: itemMetrics?.hunkLineCount ?? DEFAULT_CODE_VIEW_FILE_METRICS.hunkLineCount,
|
|
@@ -240,6 +262,28 @@ var CodeView = class CodeView {
|
|
|
240
262
|
instance: item.instance
|
|
241
263
|
});
|
|
242
264
|
}
|
|
265
|
+
validateStickyContainerHeight() {
|
|
266
|
+
if (!this.shouldValidateItemHeights()) return;
|
|
267
|
+
const { firstIndex, lastIndex, stickyHeight, stickyTop, stickyBottom } = this.renderState;
|
|
268
|
+
if (firstIndex === -1 || lastIndex === -1) return;
|
|
269
|
+
const actualHeight = this.stickyContainer.getBoundingClientRect().height;
|
|
270
|
+
if (Math.abs(actualHeight - stickyHeight) < 1) return;
|
|
271
|
+
console.error("CodeView: sticky container height does not match computed layout", {
|
|
272
|
+
computedStickyHeight: stickyHeight,
|
|
273
|
+
actualStickyHeight: actualHeight,
|
|
274
|
+
delta: actualHeight - stickyHeight,
|
|
275
|
+
stickyTop,
|
|
276
|
+
stickyBottom,
|
|
277
|
+
firstIndex,
|
|
278
|
+
lastIndex,
|
|
279
|
+
firstStickySpecs: this.items[firstIndex]?.instance.getAdvancedStickySpecs(),
|
|
280
|
+
lastStickySpecs: this.items[lastIndex]?.instance.getAdvancedStickySpecs(),
|
|
281
|
+
scrollTop: this.getScrollTop(),
|
|
282
|
+
scrollPageOffset: this.scrollPageOffset,
|
|
283
|
+
windowSpecs: { ...this.windowSpecs },
|
|
284
|
+
stickyContainer: this.stickyContainer
|
|
285
|
+
});
|
|
286
|
+
}
|
|
243
287
|
clearScrollInteractionTimer() {
|
|
244
288
|
if (this.scrollInteractionFixTimer != null) {
|
|
245
289
|
clearTimeout(this.scrollInteractionFixTimer);
|
|
@@ -275,11 +319,49 @@ var CodeView = class CodeView {
|
|
|
275
319
|
this.container?.style.setProperty("margin-top", `${paddingTop}px`);
|
|
276
320
|
this.container?.style.setProperty("margin-bottom", `${paddingBottom}px`);
|
|
277
321
|
}
|
|
322
|
+
reconcileHeaderFooterHosts() {
|
|
323
|
+
const headerChanged = this.reconcileHost("header");
|
|
324
|
+
const footerChanged = this.reconcileHost("footer");
|
|
325
|
+
return headerChanged || footerChanged;
|
|
326
|
+
}
|
|
327
|
+
reconcileHost(type) {
|
|
328
|
+
const { root, container } = this;
|
|
329
|
+
if (root == null || container == null) return false;
|
|
330
|
+
const host = type === "header" ? this.header : this.footer;
|
|
331
|
+
const render = type === "header" ? this.options.renderCodeViewHeader : this.options.renderCodeViewFooter;
|
|
332
|
+
if (render == null) {
|
|
333
|
+
if (host.element == null) return false;
|
|
334
|
+
this.resizeObserver?.unobserve(host.element);
|
|
335
|
+
host.element.remove();
|
|
336
|
+
host.element = void 0;
|
|
337
|
+
host.render = void 0;
|
|
338
|
+
this.setHostHeight(host, 0);
|
|
339
|
+
return false;
|
|
340
|
+
}
|
|
341
|
+
if (host.element != null && render === host.render) return false;
|
|
342
|
+
const element = host.element ?? createCodeViewHeaderFooterHostElement(type, container, this.resizeObserver);
|
|
343
|
+
host.element = element;
|
|
344
|
+
const content = render();
|
|
345
|
+
if (content != null) element.replaceChildren(content);
|
|
346
|
+
else if (!this.isContainerManaged && element.children.length > 0) element.textContent = "";
|
|
347
|
+
host.render = render;
|
|
348
|
+
return true;
|
|
349
|
+
}
|
|
350
|
+
setHostHeight(host, height) {
|
|
351
|
+
if (host.height === height) return;
|
|
352
|
+
host.height = height;
|
|
353
|
+
this.scrollDirty = true;
|
|
354
|
+
}
|
|
355
|
+
measureMountedHosts() {
|
|
356
|
+
if (this.header.element != null) this.setHostHeight(this.header, this.header.element.getBoundingClientRect().height);
|
|
357
|
+
if (this.footer.element != null) this.setHostHeight(this.footer, this.footer.element.getBoundingClientRect().height);
|
|
358
|
+
}
|
|
278
359
|
setup(root) {
|
|
279
360
|
if (this.root != null) throw new Error("CodeView.setup: already setup");
|
|
280
361
|
this.workerManager?.subscribeToThemeChanges(this);
|
|
281
362
|
this.root = root;
|
|
282
363
|
this.root.style.overflowAnchor = "none";
|
|
364
|
+
if (!this.root.hasAttribute("tabindex")) this.root.tabIndex = -1;
|
|
283
365
|
this.container ??= document.createElement("div");
|
|
284
366
|
this.container.style.contain = "layout style";
|
|
285
367
|
this.syncLayout();
|
|
@@ -313,8 +395,13 @@ var CodeView = class CodeView {
|
|
|
313
395
|
};
|
|
314
396
|
}
|
|
315
397
|
reset() {
|
|
398
|
+
dequeueRender(this.computeRenderRangeAndEmit);
|
|
399
|
+
this.clearReadySubscription();
|
|
316
400
|
this.restoreScrollInteractions();
|
|
317
401
|
this.cleanAllRenderedItems();
|
|
402
|
+
for (const record of this.itemEditors.values()) record.editor.cleanUp();
|
|
403
|
+
this.itemEditors.clear();
|
|
404
|
+
this.attachedEditors.clear();
|
|
318
405
|
this.selectedLines = null;
|
|
319
406
|
this.items.length = 0;
|
|
320
407
|
this.idToItem.clear();
|
|
@@ -330,6 +417,7 @@ var CodeView = class CodeView {
|
|
|
330
417
|
bottom: 0
|
|
331
418
|
};
|
|
332
419
|
this.pendingLayoutAnchor = void 0;
|
|
420
|
+
this.shouldFixContainerFocus = false;
|
|
333
421
|
this.height = 0;
|
|
334
422
|
this.scrollTop = 0;
|
|
335
423
|
this.scrollPageOffset = 0;
|
|
@@ -356,6 +444,14 @@ var CodeView = class CodeView {
|
|
|
356
444
|
this.stickyOffset.remove();
|
|
357
445
|
this.stickyContainer.remove();
|
|
358
446
|
this.stickyContainer.textContent = "";
|
|
447
|
+
this.header.element?.remove();
|
|
448
|
+
this.header.element = void 0;
|
|
449
|
+
this.header.render = void 0;
|
|
450
|
+
this.header.height = 0;
|
|
451
|
+
this.footer.element?.remove();
|
|
452
|
+
this.footer.element = void 0;
|
|
453
|
+
this.footer.render = void 0;
|
|
454
|
+
this.footer.height = 0;
|
|
359
455
|
this.root = void 0;
|
|
360
456
|
this.container = void 0;
|
|
361
457
|
}
|
|
@@ -388,13 +484,25 @@ var CodeView = class CodeView {
|
|
|
388
484
|
}
|
|
389
485
|
releaseRenderedItem(item) {
|
|
390
486
|
const { element } = item;
|
|
487
|
+
if (element != null && this.renderedItemOwnsFocus(element)) this.shouldFixContainerFocus = true;
|
|
391
488
|
item.instance.cleanUp(true);
|
|
489
|
+
this.attachedEditors.delete(item.item.id);
|
|
392
490
|
item.element = void 0;
|
|
393
491
|
if (element == null) return;
|
|
394
492
|
element.remove();
|
|
395
493
|
this.cleanElement(element);
|
|
396
494
|
this.queueElementForPool(element);
|
|
397
495
|
}
|
|
496
|
+
renderedItemOwnsFocus(element) {
|
|
497
|
+
const { activeElement } = document;
|
|
498
|
+
return activeElement === element || element.contains(activeElement) || element.shadowRoot?.activeElement != null;
|
|
499
|
+
}
|
|
500
|
+
fixContainerFocus() {
|
|
501
|
+
if (this.shouldFixContainerFocus) {
|
|
502
|
+
this.shouldFixContainerFocus = false;
|
|
503
|
+
this.root?.focus({ preventScroll: true });
|
|
504
|
+
}
|
|
505
|
+
}
|
|
398
506
|
cleanElement(element) {
|
|
399
507
|
const { shadowRoot } = element;
|
|
400
508
|
if (shadowRoot != null) {
|
|
@@ -471,6 +579,14 @@ var CodeView = class CodeView {
|
|
|
471
579
|
getItem(itemId) {
|
|
472
580
|
return this.idToItem.get(itemId)?.item;
|
|
473
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* Get the live editor for an item currently in edit mode. Use this to drive
|
|
584
|
+
* editor APIs CodeView does not wrap (applyEdits, undo, setMarkers, …).
|
|
585
|
+
* Returns undefined once the item leaves edit mode.
|
|
586
|
+
*/
|
|
587
|
+
getEditor(itemId) {
|
|
588
|
+
return this.itemEditors.get(itemId)?.editor;
|
|
589
|
+
}
|
|
474
590
|
updateItem(input) {
|
|
475
591
|
const item = this.idToItem.get(input.id);
|
|
476
592
|
if (item == null) {
|
|
@@ -482,6 +598,7 @@ var CodeView = class CodeView {
|
|
|
482
598
|
this.scrollDirty = true;
|
|
483
599
|
this.render();
|
|
484
600
|
this.syncSelection();
|
|
601
|
+
this.syncItemEditors();
|
|
485
602
|
return true;
|
|
486
603
|
}
|
|
487
604
|
updateItemId(oldId, newId) {
|
|
@@ -506,6 +623,13 @@ var CodeView = class CodeView {
|
|
|
506
623
|
};
|
|
507
624
|
this.options.onSelectedLinesChange?.(this.selectedLines);
|
|
508
625
|
}
|
|
626
|
+
const editorRecord = this.itemEditors.get(oldId);
|
|
627
|
+
if (editorRecord != null) {
|
|
628
|
+
editorRecord.state.id = newId;
|
|
629
|
+
this.itemEditors.delete(oldId);
|
|
630
|
+
this.itemEditors.set(newId, editorRecord);
|
|
631
|
+
if (this.attachedEditors.delete(oldId)) this.attachedEditors.add(newId);
|
|
632
|
+
}
|
|
509
633
|
this.renamePendingScrollTarget(oldId, newId);
|
|
510
634
|
this.renamePendingLayoutAnchor(oldId, newId);
|
|
511
635
|
this.render();
|
|
@@ -513,17 +637,25 @@ var CodeView = class CodeView {
|
|
|
513
637
|
}
|
|
514
638
|
addItem(input) {
|
|
515
639
|
this.addItems([input]);
|
|
516
|
-
this.syncSelection();
|
|
517
640
|
}
|
|
518
641
|
addItems(inputs) {
|
|
519
642
|
this.appendItemsInternal(inputs);
|
|
520
643
|
this.syncSelection();
|
|
644
|
+
this.syncItemEditors();
|
|
521
645
|
}
|
|
522
646
|
setItems(items) {
|
|
523
|
-
if (items.length === 0)
|
|
524
|
-
|
|
647
|
+
if (items.length === 0) {
|
|
648
|
+
const completions = [];
|
|
649
|
+
for (const record of this.itemEditors.values()) {
|
|
650
|
+
const { lastChange } = record.state;
|
|
651
|
+
if (lastChange != null) completions.push(lastChange);
|
|
652
|
+
}
|
|
653
|
+
this.reset();
|
|
654
|
+
for (const { item, file, lineAnnotations } of completions) this.options.onItemEditComplete?.(item, file, lineAnnotations);
|
|
655
|
+
} else if (this.items.length === 0) this.appendItemsInternal(items);
|
|
525
656
|
else if (!this.tryAppendItems(items)) this.reconcileItems(items);
|
|
526
657
|
this.syncSelection();
|
|
658
|
+
this.syncItemEditors();
|
|
527
659
|
}
|
|
528
660
|
/**
|
|
529
661
|
* Append new records to the viewer while preserving existing layout state.
|
|
@@ -585,7 +717,9 @@ var CodeView = class CodeView {
|
|
|
585
717
|
this.scrollDirty = true;
|
|
586
718
|
}
|
|
587
719
|
if (!areOptionsEqual(prevOptions, options)) this.renderOptionsRevision++;
|
|
588
|
-
|
|
720
|
+
this.syncItemEditors();
|
|
721
|
+
const headerFooterChanged = prevOptions.renderCodeViewHeader !== options.renderCodeViewHeader || prevOptions.renderCodeViewFooter !== options.renderCodeViewFooter;
|
|
722
|
+
if (!this.isContainerManaged && (this.items.length > 0 || headerFooterChanged)) this.render();
|
|
589
723
|
}
|
|
590
724
|
capturePendingLayoutAnchor() {
|
|
591
725
|
if (this.root == null || this.items.length === 0 || this.pendingScrollTarget != null) return;
|
|
@@ -598,6 +732,25 @@ var CodeView = class CodeView {
|
|
|
598
732
|
this.computeRenderRangeAndEmit();
|
|
599
733
|
} else queueRender(this.computeRenderRangeAndEmit);
|
|
600
734
|
}
|
|
735
|
+
isReady() {
|
|
736
|
+
const { workerManager } = this;
|
|
737
|
+
if (workerManager == null || workerManager.isInitialized() || workerManager.getStats().workersFailed) {
|
|
738
|
+
this.clearReadySubscription();
|
|
739
|
+
return true;
|
|
740
|
+
}
|
|
741
|
+
this.isReadySubscription ??= workerManager.subscribeToStatChanges((stats) => {
|
|
742
|
+
if (stats.managerState !== "initialized" && !stats.workersFailed) return;
|
|
743
|
+
this.clearReadySubscription();
|
|
744
|
+
this.render(true);
|
|
745
|
+
});
|
|
746
|
+
if (workerManager.getStats().managerState === "waiting") workerManager.initialize().catch(() => {});
|
|
747
|
+
return false;
|
|
748
|
+
}
|
|
749
|
+
clearReadySubscription() {
|
|
750
|
+
if (this.isReadySubscription == null) return;
|
|
751
|
+
this.isReadySubscription();
|
|
752
|
+
this.isReadySubscription = void 0;
|
|
753
|
+
}
|
|
601
754
|
instanceChanged(instance, layoutDirty) {
|
|
602
755
|
const item = this.instanceToItem.get(instance);
|
|
603
756
|
if (item == null) throw new Error("CodeView.instanceChanged: An instance has changed that is not registered");
|
|
@@ -610,6 +763,12 @@ var CodeView = class CodeView {
|
|
|
610
763
|
getContainerElement() {
|
|
611
764
|
return this.root;
|
|
612
765
|
}
|
|
766
|
+
getHeaderElement() {
|
|
767
|
+
return this.header.element;
|
|
768
|
+
}
|
|
769
|
+
getFooterElement() {
|
|
770
|
+
return this.footer.element;
|
|
771
|
+
}
|
|
613
772
|
getRenderedItems() {
|
|
614
773
|
const { firstIndex, lastIndex } = this.renderState;
|
|
615
774
|
if (firstIndex === -1 || lastIndex === -1 || lastIndex < firstIndex) return [];
|
|
@@ -643,7 +802,18 @@ var CodeView = class CodeView {
|
|
|
643
802
|
return true;
|
|
644
803
|
}
|
|
645
804
|
getSlotSnapshot(coordinator) {
|
|
646
|
-
return
|
|
805
|
+
return this.buildSlotSnapshot(coordinator);
|
|
806
|
+
}
|
|
807
|
+
buildSlotSnapshot(coordinator) {
|
|
808
|
+
const items = getSlotItems(this.getRenderedItems(), coordinator);
|
|
809
|
+
const { element: header } = this.header;
|
|
810
|
+
const { element: footer } = this.footer;
|
|
811
|
+
if (items == null && header == null && footer == null) return;
|
|
812
|
+
return {
|
|
813
|
+
items,
|
|
814
|
+
header,
|
|
815
|
+
footer
|
|
816
|
+
};
|
|
647
817
|
}
|
|
648
818
|
subscribeToScroll(listener) {
|
|
649
819
|
this.scrollListeners.add(listener);
|
|
@@ -659,12 +829,12 @@ var CodeView = class CodeView {
|
|
|
659
829
|
getTopForItem(id) {
|
|
660
830
|
const item = this.idToItem.get(id);
|
|
661
831
|
if (item == null) return;
|
|
662
|
-
return item.top + this.
|
|
832
|
+
return item.top + this.getItemTopOffset();
|
|
663
833
|
}
|
|
664
834
|
createItem(input, index, top) {
|
|
665
835
|
const { itemMetricsCache: itemMetrics } = this;
|
|
666
836
|
if (input.type === "diff") {
|
|
667
|
-
const instance
|
|
837
|
+
const instance = new VirtualizedFileDiff(this.createDiffOptions(input.id), this, itemMetrics, this.workerManager, this.isContainerManaged);
|
|
668
838
|
return {
|
|
669
839
|
type: "diff",
|
|
670
840
|
item: input,
|
|
@@ -674,7 +844,7 @@ var CodeView = class CodeView {
|
|
|
674
844
|
height: 0,
|
|
675
845
|
element: void 0,
|
|
676
846
|
renderedOptionsRevision: this.renderOptionsRevision,
|
|
677
|
-
instance
|
|
847
|
+
instance
|
|
678
848
|
};
|
|
679
849
|
}
|
|
680
850
|
const instance = new VirtualizedFile(this.createFileOptions(input.id), this, itemMetrics, this.workerManager, this.isContainerManaged);
|
|
@@ -706,6 +876,82 @@ var CodeView = class CodeView {
|
|
|
706
876
|
}
|
|
707
877
|
item.instance.setSelectedLines(this.selectedLines.range, { notify: false });
|
|
708
878
|
}
|
|
879
|
+
isItemInEditMode(item) {
|
|
880
|
+
return this.options.createEditor != null && item.item.edit === true && item.item.collapsed !== true;
|
|
881
|
+
}
|
|
882
|
+
isReceiverEdited(receiver, mode) {
|
|
883
|
+
const state = getItemOptionsState(receiver);
|
|
884
|
+
if (state == null) return false;
|
|
885
|
+
const item = this.getItemOptions(state, mode);
|
|
886
|
+
return item != null && this.isItemInEditMode(item);
|
|
887
|
+
}
|
|
888
|
+
/**
|
|
889
|
+
* Attach (or lazily create) the editor for a mounted edit-mode item. Called
|
|
890
|
+
* from the render loop so every mounted item passes through it: fresh
|
|
891
|
+
* mounts, remounts after virtualization released the item, and items whose
|
|
892
|
+
* edit flag was just turned on. Editors persist across unmounts, so a
|
|
893
|
+
* remounted item re-attaches its existing editor and resumes the retained
|
|
894
|
+
* document; the renderers keep the host's file/diff data in sync with the
|
|
895
|
+
* session so the remount paints the edited text.
|
|
896
|
+
*/
|
|
897
|
+
attachItemEditor(item) {
|
|
898
|
+
const { id } = item.item;
|
|
899
|
+
const { createEditor } = this.options;
|
|
900
|
+
if (createEditor == null || item.element == null || this.attachedEditors.has(id) || !this.isItemInEditMode(item)) return;
|
|
901
|
+
let record = this.itemEditors.get(id);
|
|
902
|
+
if (record == null) {
|
|
903
|
+
const state = { id };
|
|
904
|
+
const editor = createEditor({ onChange: (file, lineAnnotations) => {
|
|
905
|
+
const latest = this.idToItem.get(state.id);
|
|
906
|
+
if (latest == null) return;
|
|
907
|
+
state.lastChange = {
|
|
908
|
+
item: latest.item,
|
|
909
|
+
file,
|
|
910
|
+
lineAnnotations
|
|
911
|
+
};
|
|
912
|
+
this.options.onItemEditChange?.(latest.item, file, lineAnnotations);
|
|
913
|
+
} });
|
|
914
|
+
if (editor == null) return;
|
|
915
|
+
record = {
|
|
916
|
+
editor,
|
|
917
|
+
state
|
|
918
|
+
};
|
|
919
|
+
this.itemEditors.set(id, record);
|
|
920
|
+
}
|
|
921
|
+
record.editor.edit(item.instance);
|
|
922
|
+
this.attachedEditors.add(id);
|
|
923
|
+
}
|
|
924
|
+
/**
|
|
925
|
+
* Drop editors for items that can no longer be edited: removed, edit turned
|
|
926
|
+
* off, collapsed, or the createEditor option was unset. Attachment happens
|
|
927
|
+
* in the render loop via attachItemEditor, so this only reconciles editors
|
|
928
|
+
* CodeView is already holding.
|
|
929
|
+
*/
|
|
930
|
+
syncItemEditors() {
|
|
931
|
+
if (this.itemEditors.size === 0) return;
|
|
932
|
+
const completions = [];
|
|
933
|
+
for (const [id, record] of this.itemEditors) {
|
|
934
|
+
const item = this.idToItem.get(id);
|
|
935
|
+
if (item != null && this.isItemInEditMode(item)) continue;
|
|
936
|
+
record.editor.cleanUp();
|
|
937
|
+
this.itemEditors.delete(id);
|
|
938
|
+
this.attachedEditors.delete(id);
|
|
939
|
+
const itemSnapshot = item?.item ?? record.state.lastChange?.item;
|
|
940
|
+
if (itemSnapshot?.type === "diff") {
|
|
941
|
+
if (item != null && item.type === "diff" && item.instance.completeEditSession()) {
|
|
942
|
+
this.markItemLayoutDirty(item);
|
|
943
|
+
this.render();
|
|
944
|
+
}
|
|
945
|
+
finishEditSessionForDiff(itemSnapshot.fileDiff);
|
|
946
|
+
}
|
|
947
|
+
const { lastChange } = record.state;
|
|
948
|
+
if (lastChange != null) completions.push(item == null ? lastChange : {
|
|
949
|
+
...lastChange,
|
|
950
|
+
item: item.item
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
for (const { item, file, lineAnnotations } of completions) this.options.onItemEditComplete?.(item, file, lineAnnotations);
|
|
954
|
+
}
|
|
709
955
|
renamePendingScrollTarget(oldId, newId) {
|
|
710
956
|
const { pendingScrollTarget } = this;
|
|
711
957
|
if (pendingScrollTarget == null || pendingScrollTarget.type === "position" || pendingScrollTarget.id !== oldId) return;
|
|
@@ -719,19 +965,35 @@ var CodeView = class CodeView {
|
|
|
719
965
|
}
|
|
720
966
|
createFileOptionsPrototype() {
|
|
721
967
|
const prototype = {};
|
|
722
|
-
for (const key of CODE_VIEW_FILE_OPTION_KEYS)
|
|
968
|
+
for (const key of CODE_VIEW_FILE_OPTION_KEYS) {
|
|
969
|
+
if (CODE_VIEW_EDIT_FORCED_OPTION_KEYS.has(key)) continue;
|
|
970
|
+
defineItemOption(prototype, key, () => this.options[key]);
|
|
971
|
+
}
|
|
972
|
+
defineItemOption(prototype, "useTokenTransformer", (receiver) => this.isReceiverEdited(receiver, "file") ? true : this.options.useTokenTransformer);
|
|
723
973
|
defineItemOption(prototype, "stickyHeader", () => this.options.stickyHeaders);
|
|
724
|
-
defineItemOption(prototype, "collapsed", (receiver) =>
|
|
974
|
+
defineItemOption(prototype, "collapsed", (receiver) => {
|
|
975
|
+
const state = getItemOptionsState(receiver);
|
|
976
|
+
if (state == null) return;
|
|
977
|
+
return this.getItemOptions(state, "file")?.item.collapsed;
|
|
978
|
+
});
|
|
725
979
|
for (const key of CODE_VIEW_SHARED_CALLBACK_KEYS) this.defineItemSharedCallback(prototype, "file", key);
|
|
726
980
|
for (const key of CODE_VIEW_SELECTION_CALLBACK_KEYS) this.defineItemSelectionCallback(prototype, "file", key);
|
|
727
981
|
return prototype;
|
|
728
982
|
}
|
|
729
983
|
createDiffOptionsPrototype() {
|
|
730
984
|
const prototype = {};
|
|
731
|
-
for (const key of CODE_VIEW_DIFF_OPTION_KEYS)
|
|
985
|
+
for (const key of CODE_VIEW_DIFF_OPTION_KEYS) {
|
|
986
|
+
if (CODE_VIEW_EDIT_FORCED_OPTION_KEYS.has(key)) continue;
|
|
987
|
+
defineItemOption(prototype, key, () => this.options[key]);
|
|
988
|
+
}
|
|
989
|
+
defineItemOption(prototype, "useTokenTransformer", (receiver) => this.isReceiverEdited(receiver, "diff") ? true : this.options.useTokenTransformer);
|
|
732
990
|
defineItemOption(prototype, "stickyHeader", () => this.options.stickyHeaders);
|
|
733
991
|
defineItemOption(prototype, "hunkSeparators", () => this.options.hunkSeparators);
|
|
734
|
-
defineItemOption(prototype, "collapsed", (receiver) =>
|
|
992
|
+
defineItemOption(prototype, "collapsed", (receiver) => {
|
|
993
|
+
const state = getItemOptionsState(receiver);
|
|
994
|
+
if (state == null) return;
|
|
995
|
+
return this.getItemOptions(state, "diff")?.item.collapsed;
|
|
996
|
+
});
|
|
735
997
|
for (const key of CODE_VIEW_SHARED_CALLBACK_KEYS) this.defineItemSharedCallback(prototype, "diff", key);
|
|
736
998
|
for (const key of CODE_VIEW_SELECTION_CALLBACK_KEYS) this.defineItemSelectionCallback(prototype, "diff", key);
|
|
737
999
|
return prototype;
|
|
@@ -747,7 +1009,9 @@ var CodeView = class CodeView {
|
|
|
747
1009
|
return options;
|
|
748
1010
|
}
|
|
749
1011
|
updateItemOptionsId(options, id) {
|
|
750
|
-
getItemOptionsState(options)
|
|
1012
|
+
const state = getItemOptionsState(options);
|
|
1013
|
+
if (state == null) throw new Error(`CodeView.updateItemOptionsId: No valid state`);
|
|
1014
|
+
state.id = id;
|
|
751
1015
|
}
|
|
752
1016
|
getItemOptions(state, mode) {
|
|
753
1017
|
const item = this.idToItem.get(state.id);
|
|
@@ -758,6 +1022,7 @@ var CodeView = class CodeView {
|
|
|
758
1022
|
defineItemOption(options, key, (receiver) => {
|
|
759
1023
|
if (this.options[key] == null) return;
|
|
760
1024
|
const state = getItemOptionsState(receiver);
|
|
1025
|
+
if (state == null) return;
|
|
761
1026
|
const callbackCache = state.callbackCache ??= {};
|
|
762
1027
|
let wrapped = callbackCache[key];
|
|
763
1028
|
if (wrapped == null) {
|
|
@@ -774,8 +1039,8 @@ var CodeView = class CodeView {
|
|
|
774
1039
|
}
|
|
775
1040
|
defineItemSelectionCallback(options, mode, key) {
|
|
776
1041
|
defineItemOption(options, key, (receiver) => {
|
|
777
|
-
if (this.options.enableLineSelection !== true) return;
|
|
778
1042
|
const state = getItemOptionsState(receiver);
|
|
1043
|
+
if (state == null) return;
|
|
779
1044
|
const callbackCache = state.callbackCache ??= {};
|
|
780
1045
|
let wrapped = callbackCache[key];
|
|
781
1046
|
if (wrapped == null) {
|
|
@@ -903,7 +1168,7 @@ var CodeView = class CodeView {
|
|
|
903
1168
|
}
|
|
904
1169
|
getMaxScrollTopForHeight(scrollHeight) {
|
|
905
1170
|
const { paddingBottom, paddingTop } = this.getLayout();
|
|
906
|
-
return Math.max(paddingTop + scrollHeight + paddingBottom - this.getHeight(), 0);
|
|
1171
|
+
return Math.max(paddingTop + this.header.height + scrollHeight + this.footer.height + paddingBottom - this.getHeight(), 0);
|
|
907
1172
|
}
|
|
908
1173
|
getMaxScrollTop() {
|
|
909
1174
|
return this.getMaxScrollTopForHeight(this.getScrollHeight());
|
|
@@ -1015,7 +1280,7 @@ var CodeView = class CodeView {
|
|
|
1015
1280
|
const rect = this.getScrollTargetRect(target);
|
|
1016
1281
|
if (rect == null) return;
|
|
1017
1282
|
const offset = target.offset ?? 0;
|
|
1018
|
-
const targetTop = this.
|
|
1283
|
+
const targetTop = this.getItemTopOffset() + rect.top;
|
|
1019
1284
|
const targetBottom = targetTop + rect.height;
|
|
1020
1285
|
const currentTop = this.getScrollTop();
|
|
1021
1286
|
const visibleTop = currentTop + (target.type === "line" || target.type === "range" ? this.getStickyHeaderOffset() : 0);
|
|
@@ -1067,7 +1332,7 @@ var CodeView = class CodeView {
|
|
|
1067
1332
|
* and stickyOffset if necessary
|
|
1068
1333
|
*/
|
|
1069
1334
|
resolveAlignedScrollPosition(targetTop, targetHeight, align, offset = 0, stickyOffset = 0) {
|
|
1070
|
-
targetTop += this.
|
|
1335
|
+
targetTop += this.getItemTopOffset();
|
|
1071
1336
|
const viewportHeight = this.getHeight();
|
|
1072
1337
|
if (align === "center" && targetHeight + offset < viewportHeight) return targetTop - (viewportHeight - targetHeight) / 2 + offset;
|
|
1073
1338
|
if (align === "end") return targetTop - (viewportHeight - targetHeight) + offset;
|
|
@@ -1171,6 +1436,7 @@ var CodeView = class CodeView {
|
|
|
1171
1436
|
}
|
|
1172
1437
|
computeRenderRangeAndEmit = (timestamp = performance.now()) => {
|
|
1173
1438
|
if (CodeView.__STOP || this.container == null) return;
|
|
1439
|
+
if (!this.isReady()) return;
|
|
1174
1440
|
const viewportHeight = this.getHeight();
|
|
1175
1441
|
const initialScrollTop = this.getScrollTop();
|
|
1176
1442
|
let scrollTopAfterLayout = initialScrollTop;
|
|
@@ -1198,7 +1464,7 @@ var CodeView = class CodeView {
|
|
|
1198
1464
|
const fitPerfectly = !computeScrollCorrection && (this.renderState.scrollTop === -1 || Math.abs(targetScrollTop - this.renderState.scrollTop) > viewportHeight + this.config.overscrollSize * 2);
|
|
1199
1465
|
if (fitPerfectly) scrollAnchor = void 0;
|
|
1200
1466
|
this.windowSpecs = createWindowFromScrollPosition({
|
|
1201
|
-
scrollTop: targetScrollTop,
|
|
1467
|
+
scrollTop: targetScrollTop - this.header.height,
|
|
1202
1468
|
height: viewportHeight,
|
|
1203
1469
|
scrollHeight: this.getScrollHeight(),
|
|
1204
1470
|
fitPerfectly,
|
|
@@ -1217,6 +1483,7 @@ var CodeView = class CodeView {
|
|
|
1217
1483
|
if (item == null) throw new Error(`CodeView.computeRenderRangeAndEmit: No item at index: ${index}`);
|
|
1218
1484
|
if (!(item.top > top - item.height && item.top <= bottom)) this.releaseRenderedItem(item);
|
|
1219
1485
|
}
|
|
1486
|
+
const hostsChanged = this.reconcileHeaderFooterHosts();
|
|
1220
1487
|
let prevElement;
|
|
1221
1488
|
const updatedItems = /* @__PURE__ */ new Set();
|
|
1222
1489
|
const startingIndex = this.findFirstVisibleIndex(top);
|
|
@@ -1242,10 +1509,13 @@ var CodeView = class CodeView {
|
|
|
1242
1509
|
}
|
|
1243
1510
|
prevElement = item.element;
|
|
1244
1511
|
}
|
|
1512
|
+
if (item.item.edit === true) this.attachItemEditor(item);
|
|
1245
1513
|
}
|
|
1246
1514
|
this.renderState.firstIndex = startingIndex <= lastRenderedIndex ? startingIndex : -1;
|
|
1247
1515
|
this.renderState.lastIndex = lastRenderedIndex;
|
|
1248
1516
|
this.flushSlotCoordinator();
|
|
1517
|
+
this.flushManagers(updatedItems);
|
|
1518
|
+
if (hostsChanged) this.measureMountedHosts();
|
|
1249
1519
|
this.reconcileRenderedItems(updatedItems);
|
|
1250
1520
|
this.syncContainerHeight();
|
|
1251
1521
|
this.updateStickyPositioning();
|
|
@@ -1270,7 +1540,9 @@ var CodeView = class CodeView {
|
|
|
1270
1540
|
this.scrollAnimation = void 0;
|
|
1271
1541
|
}
|
|
1272
1542
|
this.renderState.scrollTop = roundToDevicePixel(syncedScrollTop);
|
|
1273
|
-
this.
|
|
1543
|
+
this.updateStickyPositioning();
|
|
1544
|
+
this.validateStickyContainerHeight();
|
|
1545
|
+
this.fixContainerFocus();
|
|
1274
1546
|
if (fitPerfectly || this.scrollAnimation != null) this.render();
|
|
1275
1547
|
};
|
|
1276
1548
|
flushManagers(updatedItems) {
|
|
@@ -1382,6 +1654,25 @@ var CodeView = class CodeView {
|
|
|
1382
1654
|
this.scrollAnimation = void 0;
|
|
1383
1655
|
}
|
|
1384
1656
|
}
|
|
1657
|
+
} else if (entry.target === this.header.element || entry.target === this.footer.element) {
|
|
1658
|
+
const host = entry.target === this.header.element ? this.header : this.footer;
|
|
1659
|
+
const blockSize = entry.borderBoxSize[0].blockSize;
|
|
1660
|
+
if (blockSize !== host.height) {
|
|
1661
|
+
const currentScrollTop = this.getScrollTop();
|
|
1662
|
+
const anchor = this.getScrollAnchor(currentScrollTop);
|
|
1663
|
+
this.setHostHeight(host, blockSize);
|
|
1664
|
+
const anchoredScrollTop = anchor != null ? this.resolveAnchoredScrollTop(anchor) : void 0;
|
|
1665
|
+
if (anchoredScrollTop != null) {
|
|
1666
|
+
const resizeAnchorDelta = anchoredScrollTop - currentScrollTop;
|
|
1667
|
+
this.applyScrollFix(anchoredScrollTop, currentScrollTop, this.windowSpecs);
|
|
1668
|
+
if (this.scrollAnimation != null) this.scrollAnimation.position += resizeAnchorDelta;
|
|
1669
|
+
}
|
|
1670
|
+
if (this.pendingScrollTarget != null && this.isPendingTargetSettled(this.pendingScrollTarget)) {
|
|
1671
|
+
this.pendingScrollTarget = void 0;
|
|
1672
|
+
this.scrollAnimation = void 0;
|
|
1673
|
+
}
|
|
1674
|
+
this.render();
|
|
1675
|
+
}
|
|
1385
1676
|
} else {
|
|
1386
1677
|
this.scrollDirty = true;
|
|
1387
1678
|
this.heightDirty = true;
|
|
@@ -1404,6 +1695,7 @@ var CodeView = class CodeView {
|
|
|
1404
1695
|
*/
|
|
1405
1696
|
getScrollAnchor(scrollTop) {
|
|
1406
1697
|
if (this.pendingLayoutAnchor != null) return this.pendingLayoutAnchor;
|
|
1698
|
+
if (scrollTop <= 0) return;
|
|
1407
1699
|
const { firstIndex, lastIndex, stickyTop, stickyBottom } = this.renderState;
|
|
1408
1700
|
if (firstIndex === -1 || lastIndex === -1) return;
|
|
1409
1701
|
const viewportHeight = this.getHeight();
|
|
@@ -1411,7 +1703,7 @@ var CodeView = class CodeView {
|
|
|
1411
1703
|
for (let index = firstIndex; index <= lastIndex; index++) {
|
|
1412
1704
|
const item = this.items[index];
|
|
1413
1705
|
if (item == null) continue;
|
|
1414
|
-
const absoluteItemTop = this.
|
|
1706
|
+
const absoluteItemTop = this.getItemTopOffset() + item.top;
|
|
1415
1707
|
if (absoluteItemTop + item.height <= scrollTop) continue;
|
|
1416
1708
|
if (absoluteItemTop >= scrollTop + viewportHeight) break;
|
|
1417
1709
|
if (absoluteItemTop >= scrollTop) return {
|
|
@@ -1443,14 +1735,14 @@ var CodeView = class CodeView {
|
|
|
1443
1735
|
resolveAnchoredScrollTop(anchor) {
|
|
1444
1736
|
const item = this.idToItem.get(anchor.id);
|
|
1445
1737
|
if (item == null) return;
|
|
1446
|
-
const
|
|
1738
|
+
const itemTopOffset = this.getItemTopOffset();
|
|
1447
1739
|
if (anchor.type === "item") {
|
|
1448
|
-
const absoluteItemTop =
|
|
1740
|
+
const absoluteItemTop = itemTopOffset + item.top;
|
|
1449
1741
|
return this.clampScrollTop(absoluteItemTop - anchor.viewportOffset);
|
|
1450
1742
|
}
|
|
1451
1743
|
const linePosition = item.type === "diff" ? item.instance.getLinePosition(anchor.lineNumber, anchor.side) : item.instance.getLinePosition(anchor.lineNumber);
|
|
1452
1744
|
if (linePosition == null) return;
|
|
1453
|
-
const absoluteLineTop =
|
|
1745
|
+
const absoluteLineTop = itemTopOffset + item.top + linePosition.top;
|
|
1454
1746
|
return this.clampScrollTop(absoluteLineTop - anchor.viewportOffset);
|
|
1455
1747
|
}
|
|
1456
1748
|
/**
|
|
@@ -1507,11 +1799,10 @@ var CodeView = class CodeView {
|
|
|
1507
1799
|
}
|
|
1508
1800
|
flushSlotCoordinator() {
|
|
1509
1801
|
if (this.slotCoordinator == null) return;
|
|
1510
|
-
const
|
|
1511
|
-
|
|
1512
|
-
if (areSlotSnapshotsEqual(this.slotSnapshot, slotSnapshot)) return;
|
|
1802
|
+
const slotSnapshot = this.buildSlotSnapshot(this.slotCoordinator);
|
|
1803
|
+
if (areManagedSnapshotsEqual(this.slotSnapshot, slotSnapshot)) return;
|
|
1513
1804
|
this.slotSnapshot = slotSnapshot;
|
|
1514
|
-
onSnapshotChange(slotSnapshot);
|
|
1805
|
+
this.slotCoordinator.onSnapshotChange(slotSnapshot);
|
|
1515
1806
|
}
|
|
1516
1807
|
notifyScroll() {
|
|
1517
1808
|
if (this.scrollListeners.size === 0) return;
|
|
@@ -1580,8 +1871,11 @@ var CodeView = class CodeView {
|
|
|
1580
1871
|
const item = this.items[index];
|
|
1581
1872
|
if (item == null) throw new Error("CodeView.recomputeLayout: invalid item index");
|
|
1582
1873
|
item.top = runningTop;
|
|
1583
|
-
if (item.type === "diff")
|
|
1584
|
-
|
|
1874
|
+
if (item.type === "diff") {
|
|
1875
|
+
const fileDiff = item.instance.consumeCodeViewLayoutChanges(item.item.fileDiff);
|
|
1876
|
+
if (fileDiff != null) Object.assign(item.item.fileDiff, fileDiff);
|
|
1877
|
+
item.height = item.instance.prepareCodeViewItem(item.item.fileDiff, runningTop, reset, item.item.annotations ?? []);
|
|
1878
|
+
} else item.height = item.instance.prepareCodeViewItem(item.item.file, runningTop, reset, item.item.annotations ?? []);
|
|
1585
1879
|
runningTop += item.height;
|
|
1586
1880
|
if (index < this.items.length - 1) runningTop += layout.gap;
|
|
1587
1881
|
}
|
|
@@ -1602,21 +1896,21 @@ var CodeView = class CodeView {
|
|
|
1602
1896
|
};
|
|
1603
1897
|
function prepareItemInstance(item) {
|
|
1604
1898
|
item.instance.cleanUp(true);
|
|
1605
|
-
if (item.type === "diff") return item.instance.prepareCodeViewItem(item.item.fileDiff, item.top);
|
|
1606
|
-
else return item.instance.prepareCodeViewItem(item.item.file, item.top);
|
|
1899
|
+
if (item.type === "diff") return item.instance.prepareCodeViewItem(item.item.fileDiff, item.top, void 0, item.item.annotations ?? []);
|
|
1900
|
+
else return item.instance.prepareCodeViewItem(item.item.file, item.top, void 0, item.item.annotations ?? []);
|
|
1607
1901
|
}
|
|
1608
1902
|
function shouldClearPool(previousOptions, nextOptions) {
|
|
1609
1903
|
return !areThemesEqual(previousOptions.theme ?? DEFAULT_THEMES, nextOptions.theme ?? DEFAULT_THEMES) || (previousOptions.themeType ?? "system") !== (nextOptions.themeType ?? "system") || previousOptions.unsafeCSS !== nextOptions.unsafeCSS;
|
|
1610
1904
|
}
|
|
1611
1905
|
function hasItemLayoutOptionChanged(previousOptions, nextOptions) {
|
|
1612
|
-
return (previousOptions.overflow ?? "scroll") !== (nextOptions.overflow ?? "scroll") || (previousOptions.disableLineNumbers ?? false) !== (nextOptions.disableLineNumbers ?? false) || (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || previousOptions.unsafeCSS !== nextOptions.unsafeCSS || (previousOptions.diffStyle ?? "split") !== (nextOptions.diffStyle ?? "split") || (previousOptions.diffIndicators ?? "bars") !== (nextOptions.diffIndicators ?? "bars") || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ??
|
|
1906
|
+
return (previousOptions.overflow ?? "scroll") !== (nextOptions.overflow ?? "scroll") || (previousOptions.disableLineNumbers ?? false) !== (nextOptions.disableLineNumbers ?? false) || (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || previousOptions.unsafeCSS !== nextOptions.unsafeCSS || (previousOptions.diffStyle ?? "split") !== (nextOptions.diffStyle ?? "split") || (previousOptions.diffIndicators ?? "bars") !== (nextOptions.diffIndicators ?? "bars") || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1);
|
|
1613
1907
|
}
|
|
1614
1908
|
function hasCodeViewDiffEstimateOptionChanged(previousOptions, nextOptions) {
|
|
1615
|
-
return (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ??
|
|
1909
|
+
return (previousOptions.disableFileHeader ?? false) !== (nextOptions.disableFileHeader ?? false) || (previousOptions.hunkSeparators ?? "line-info") !== (nextOptions.hunkSeparators ?? "line-info") || (previousOptions.expandUnchanged ?? false) !== (nextOptions.expandUnchanged ?? false) || (previousOptions.collapsedContextThreshold ?? 1) !== (nextOptions.collapsedContextThreshold ?? 1);
|
|
1616
1910
|
}
|
|
1617
1911
|
function isPooledShadowChild(child) {
|
|
1618
1912
|
if (child instanceof SVGElement) return true;
|
|
1619
|
-
return isStyleNode(child) && (child.hasAttribute(
|
|
1913
|
+
return isStyleNode(child) && (child.hasAttribute("data-core-css") || child.hasAttribute("data-theme-css") || child.hasAttribute("data-unsafe-css"));
|
|
1620
1914
|
}
|
|
1621
1915
|
function formatSelectedLineRange(range) {
|
|
1622
1916
|
const start = formatSelectedLinePoint(range.start, range.side);
|
|
@@ -1633,14 +1927,14 @@ function renderItem(item, fileContainer, forceRender = false) {
|
|
|
1633
1927
|
fileContainer,
|
|
1634
1928
|
fileDiff: item.item.fileDiff,
|
|
1635
1929
|
forceRender,
|
|
1636
|
-
lineAnnotations: item.item.annotations
|
|
1930
|
+
lineAnnotations: item.item.annotations ?? []
|
|
1637
1931
|
});
|
|
1638
1932
|
else return item.instance.render({
|
|
1639
1933
|
deferManagers: true,
|
|
1640
1934
|
fileContainer,
|
|
1641
1935
|
file: item.item.file,
|
|
1642
1936
|
forceRender,
|
|
1643
|
-
lineAnnotations: item.item.annotations
|
|
1937
|
+
lineAnnotations: item.item.annotations ?? []
|
|
1644
1938
|
});
|
|
1645
1939
|
}
|
|
1646
1940
|
/**
|
|
@@ -1659,7 +1953,7 @@ function syncRenderedItemOrder(container, element, prevElement) {
|
|
|
1659
1953
|
function hasAnnotations(item) {
|
|
1660
1954
|
return (item.annotations?.length ?? 0) > 0;
|
|
1661
1955
|
}
|
|
1662
|
-
function
|
|
1956
|
+
function getSlotItems(renderedItems, { hasHeaderRenderers, hasAnnotationRenderer, hasGutterRenderer }) {
|
|
1663
1957
|
if (renderedItems.length === 0) return;
|
|
1664
1958
|
if (hasHeaderRenderers || hasGutterRenderer) return renderedItems;
|
|
1665
1959
|
if (!hasAnnotationRenderer) return;
|
|
@@ -1667,17 +1961,7 @@ function getSlotSnapshot(renderedItems, { hasHeaderRenderers, hasAnnotationRende
|
|
|
1667
1961
|
for (const renderedItem of renderedItems) if (hasAnnotations(renderedItem.item)) slotSnapshot.push(renderedItem);
|
|
1668
1962
|
return slotSnapshot.length > 0 ? slotSnapshot : void 0;
|
|
1669
1963
|
}
|
|
1670
|
-
function areSlotSnapshotsEqual(previous, next) {
|
|
1671
|
-
if (previous == null || next == null) return previous === next;
|
|
1672
|
-
if (previous.length !== next.length) return false;
|
|
1673
|
-
for (let index = 0; index < previous.length; index++) {
|
|
1674
|
-
const previousItem = previous[index];
|
|
1675
|
-
const nextItem = next[index];
|
|
1676
|
-
if (previousItem == null || nextItem == null || previousItem.id !== nextItem.id || previousItem.type !== nextItem.type || previousItem.element !== nextItem.element || previousItem.version !== nextItem.version) return false;
|
|
1677
|
-
}
|
|
1678
|
-
return true;
|
|
1679
|
-
}
|
|
1680
|
-
|
|
1681
1964
|
//#endregion
|
|
1682
|
-
export { CodeView };
|
|
1965
|
+
export { CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CodeView };
|
|
1966
|
+
|
|
1683
1967
|
//# sourceMappingURL=CodeView.js.map
|