@pierre/diffs 1.3.0-beta.5 → 1.3.0-beta.7
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 +9 -9
- package/dist/components/CodeView.d.ts +13 -11
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +53 -14
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +4 -5
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +37 -19
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +49 -36
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +173 -75
- 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 +4 -4
- 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 +7 -5
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +0 -1
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +22 -25
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +12 -7
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +192 -64
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.d.ts +1 -1
- package/dist/components/Virtualizer.d.ts.map +1 -1
- package/dist/components/Virtualizer.js +23 -24
- 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 +3 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -2
- package/dist/constants.js.map +1 -1
- package/dist/editor/command.d.ts +2 -1
- package/dist/editor/command.d.ts.map +1 -1
- package/dist/editor/command.js +7 -3
- package/dist/editor/command.js.map +1 -1
- package/dist/editor/editStack.d.ts +7 -1
- package/dist/editor/editStack.d.ts.map +1 -1
- package/dist/editor/editStack.js +3 -3
- package/dist/editor/editStack.js.map +1 -1
- package/dist/editor/editor.d.ts +28 -4
- package/dist/editor/editor.d.ts.map +1 -1
- package/dist/editor/editor.js +669 -313
- package/dist/editor/editor.js.map +1 -1
- package/dist/editor/editor2.js +3 -3
- package/dist/editor/editor2.js.map +1 -1
- package/dist/editor/index.js +1 -2
- package/dist/editor/lineAnnotations.d.ts.map +1 -1
- package/dist/editor/lineAnnotations.js +2 -3
- package/dist/editor/lineAnnotations.js.map +1 -1
- package/dist/editor/marker.d.ts +2 -1
- package/dist/editor/marker.d.ts.map +1 -1
- package/dist/editor/marker.js +28 -11
- package/dist/editor/marker.js.map +1 -1
- package/dist/editor/pieceTable.d.ts +4 -2
- package/dist/editor/pieceTable.d.ts.map +1 -1
- package/dist/editor/pieceTable.js +138 -128
- 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 +16 -5
- package/dist/editor/platform.js.map +1 -1
- package/dist/editor/searchPanel.d.ts +1 -0
- package/dist/editor/searchPanel.d.ts.map +1 -1
- package/dist/editor/searchPanel.js +75 -62
- package/dist/editor/searchPanel.js.map +1 -1
- package/dist/editor/selection.d.ts +42 -5
- package/dist/editor/selection.d.ts.map +1 -1
- package/dist/editor/selection.js +504 -114
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/selectionAction.d.ts +4 -5
- package/dist/editor/selectionAction.d.ts.map +1 -1
- package/dist/editor/selectionAction.js +14 -64
- package/dist/editor/selectionAction.js.map +1 -1
- package/dist/editor/sprite.d.ts +2 -2
- package/dist/editor/sprite.d.ts.map +1 -1
- package/dist/editor/sprite.js +7 -14
- package/dist/editor/sprite.js.map +1 -1
- package/dist/editor/textDocument.d.ts +5 -4
- package/dist/editor/textDocument.d.ts.map +1 -1
- package/dist/editor/textDocument.js +26 -15
- package/dist/editor/textDocument.js.map +1 -1
- package/dist/editor/textMeasure.d.ts +36 -3
- package/dist/editor/textMeasure.d.ts.map +1 -1
- package/dist/editor/textMeasure.js +104 -17
- package/dist/editor/textMeasure.js.map +1 -1
- package/dist/editor/tokenzier.d.ts +3 -0
- package/dist/editor/tokenzier.d.ts.map +1 -1
- package/dist/editor/tokenzier.js +27 -16
- package/dist/editor/tokenzier.js.map +1 -1
- package/dist/editor/utils.d.ts +4 -1
- package/dist/editor/utils.d.ts.map +1 -1
- package/dist/editor/utils.js +19 -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 +3 -4
- 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 +1 -2
- 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 +1 -2
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/constants.d.ts.map +1 -1
- package/dist/highlighter/themes/constants.js +1 -1
- 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 +1 -2
- 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 +1 -2
- 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 +1 -2
- 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 +1 -2
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.js +1 -2
- 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 +1 -2
- 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 +1 -2
- package/dist/highlighter/themes/resolveThemes.js.map +1 -1
- package/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
- package/dist/highlighter/themes/themeResolution.js +1 -2
- package/dist/highlighter/themes/themeResolution.js.map +1 -1
- package/dist/highlighter/themes/themeResolver.d.ts +2 -2
- package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
- package/dist/highlighter/themes/themeResolver.js +1 -2
- package/dist/highlighter/themes/themeResolver.js.map +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.js +4 -3
- package/dist/managers/InteractionManager.d.ts +7 -0
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/InteractionManager.js +25 -4
- package/dist/managers/InteractionManager.js.map +1 -1
- package/dist/managers/ResizeManager.d.ts.map +1 -1
- package/dist/managers/ResizeManager.js +1 -1
- 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.map +1 -1
- package/dist/managers/UniversalRenderingManager.js +2 -2
- 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 +1 -1
- package/dist/react/CodeView.d.ts.map +1 -1
- package/dist/react/CodeView.js +17 -16
- package/dist/react/CodeView.js.map +1 -1
- package/dist/react/EditorContext.d.ts +0 -1
- package/dist/react/EditorContext.d.ts.map +1 -1
- package/dist/react/EditorContext.js +2 -5
- package/dist/react/EditorContext.js.map +1 -1
- 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 +2 -2
- package/dist/react/index.js +1 -2
- package/dist/react/jsx.d.ts +0 -2
- 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/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 +15 -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 +1 -2
- 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 +2 -3
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +52 -33
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +1 -3
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +14 -11
- 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 +5 -8
- 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 +15 -8
- 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 +67 -7
- package/dist/types.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.js +1 -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 +9 -3
- 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 +20 -2
- 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/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/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 +1 -2
- 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.map +1 -1
- package/dist/utils/includesFileAnnotations.js +5 -5
- package/dist/utils/includesFileAnnotations.js.map +1 -1
- 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/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 +47 -48
- 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 +6 -7
- 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/renderDiffWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +4 -5
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +1 -2
- 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 +6 -1
- package/dist/utils/updateDiffHunks.d.ts.map +1 -1
- package/dist/utils/updateDiffHunks.js +44 -3
- package/dist/utils/updateDiffHunks.js.map +1 -1
- package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
- package/dist/utils/virtualDiffLayout.js +1 -2
- 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 +83 -20
- 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 +7 -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 +2784 -6406
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +94 -126
- package/dist/worker/worker.js.map +1 -1
- package/package.json +13 -14
- package/dist/worker/wasm-qE0LgnY3.js +0 -10
- package/dist/worker/wasm-qE0LgnY3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/editor/utils.ts"],"mappings":";iBAAgB,CAAA,iBAAkB,qBAAA,EAChC,OAAA,EAAS,CAAA,EACT,KAAA;EACE,KAAA,YAAiB,OAAA,CAAQ,mBAAA;EACzB,OAAA,GAAU,YAAA;EACV,QAAA,IAAY,IAAA;AAAA,IACV,OAAA,CAAQ,IAAA,CAAK,qBAAA,CAAsB,CAAA,uCACvC,MAAA,GAAS,OAAA,GAAU,UAAA,GAAa,gBAAA,GAC/B,qBAAA,CAAsB,CAAA;AAAA,iBA+BT,gBAAA,iBAAiC,mBAAA,EAC/C,EAAA,EAAI,WAAA,EACJ,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,WAAA,EAAa,GAAA,EAAK,mBAAA,CAAoB,CAAA,YACvD,OAAA,GAAU,uBAAA;AAAA,iBAEI,gBAAA,iBAAiC,gBAAA,EAC/C,EAAA,EAAI,QAAA,EACJ,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,QAAA,EAAU,GAAA,EAAK,gBAAA,CAAiB,CAAA,YACjD,OAAA,GAAU,uBAAA;AAAA,iBAEI,gBAAA,iBAAiC,cAAA,EAC/C,EAAA,EAAI,MAAA,EACJ,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,MAAA,EAAQ,GAAA,EAAK,cAAA,CAAe,CAAA,YAC7C,OAAA,GAAU,uBAAA;AAAA,iBAEI,gBAAA,iBAAiC,sBAAA,EAC/C,EAAA,EAAI,cAAA,EACJ,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,cAAA,EAAgB,GAAA,EAAK,sBAAA,CAAuB,CAAA,YAC7D,OAAA,GAAU,uBAAA;AAAA,iBAYI,iBAAA,CACd,EAAA,EAAI,WAAW,EACf,GAAA;AAAA,iBAac,cAAA,CAAe,IAAA,EAAM,IAAI,EAAE,MAAA;AAAA,iBAW3B,MAAA,mBAAyB,GAAA,EAAK,CAAA,EAAG,KAAA,EAAO,OAAA,CAAQ,CAAA,IAAK,CAAA;AAAA,iBAKrD,QAAA,eAAuB,IAAA,kBACrC,IAAA,EAAM,CAAA,EACN,IAAA,eACK,IAAA,EAAM,UAAA,CAAW,CAAA;AAAA,iBAQR,KAAA,CAAM,KAAA,UAAe,SAAwB;AAAA,iBAI7C,iBAAA,CAAkB,IAAY;AAAA,iBAM9B,eAAA,CACd,OAAA,EAAS,IAAA,CAAK,gBAAA,GACb,IAAA,CAAK,SAAS;AAAA,iBAYD,oBAAA,IAAwB,IAAA,CAAK,SAAS"}
|
package/dist/editor/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/editor/utils.ts
|
|
2
2
|
function h(tagName, props, parent) {
|
|
3
|
-
const { style, dataset, children
|
|
3
|
+
const { style, dataset, children, ...attrs } = props ?? {};
|
|
4
4
|
const el = document.createElement(tagName);
|
|
5
5
|
Object.assign(el, attrs);
|
|
6
6
|
if (style !== void 0) if (typeof style === "string") el.style.cssText = style;
|
|
@@ -46,7 +46,23 @@ function debounce(func, wait) {
|
|
|
46
46
|
function round(value, precision = 1e3) {
|
|
47
47
|
return Math.round(value * precision) / precision;
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
function endsWithLineBreak(text) {
|
|
50
|
+
return text.endsWith("\n") || text.endsWith("\r");
|
|
51
|
+
}
|
|
52
|
+
function createSegmenter(options) {
|
|
53
|
+
if (typeof Intl === "undefined" || typeof Intl.Segmenter !== "function") return;
|
|
54
|
+
return new Intl.Segmenter(void 0, options);
|
|
55
|
+
}
|
|
56
|
+
let graphemeSegmenter;
|
|
57
|
+
let graphemeSegmenterInit = false;
|
|
58
|
+
function getGraphemeSegmenter() {
|
|
59
|
+
if (!graphemeSegmenterInit) {
|
|
60
|
+
graphemeSegmenter = createSegmenter({ granularity: "grapheme" });
|
|
61
|
+
graphemeSegmenterInit = true;
|
|
62
|
+
}
|
|
63
|
+
return graphemeSegmenter;
|
|
64
|
+
}
|
|
50
65
|
//#endregion
|
|
51
|
-
export { addEventListener, clampDomOffset, debounce, extend, getLineNumberAttr, h, round };
|
|
66
|
+
export { addEventListener, clampDomOffset, createSegmenter, debounce, endsWithLineBreak, extend, getGraphemeSegmenter, getLineNumberAttr, h, round };
|
|
67
|
+
|
|
52
68
|
//# sourceMappingURL=utils.js.map
|
package/dist/editor/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../src/editor/utils.ts"],"sourcesContent":["export function h<K extends keyof HTMLElementTagNameMap>(\n tagName: K,\n props?: {\n style?: string | Partial<CSSStyleDeclaration>;\n dataset?: DOMStringMap | string[] | string;\n children?: (Node | string)[];\n } & Partial<Omit<HTMLElementTagNameMap[K], 'style' | 'dataset' | 'children'>>,\n parent?: Element | ShadowRoot | DocumentFragment\n): HTMLElementTagNameMap[K] {\n const { style, dataset, children, ...attrs } = props ?? {};\n const el = document.createElement(tagName);\n Object.assign(el, attrs);\n if (style !== undefined) {\n if (typeof style === 'string') {\n el.style.cssText = style;\n } else {\n Object.assign(el.style, style);\n }\n }\n if (dataset !== undefined) {\n if (typeof dataset === 'string') {\n el.dataset[dataset] = '';\n } else if (Array.isArray(dataset)) {\n dataset.forEach((key) => {\n el.dataset[key] = '';\n });\n } else {\n Object.assign(el.dataset, dataset);\n }\n }\n if (children !== undefined) {\n el.replaceChildren(...children);\n }\n if (parent !== undefined) {\n parent.appendChild(el);\n }\n return el;\n}\n\nexport function addEventListener<K extends keyof HTMLElementEventMap>(\n el: HTMLElement,\n event: K,\n listener: (this: HTMLElement, evt: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof DocumentEventMap>(\n el: Document,\n event: K,\n listener: (this: Document, evt: DocumentEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof WindowEventMap>(\n el: Window,\n event: K,\n listener: (this: Window, evt: WindowEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener<K extends keyof MediaQueryListEventMap>(\n el: MediaQueryList,\n event: K,\n listener: (this: MediaQueryList, evt: MediaQueryListEventMap[K]) => void,\n options?: AddEventListenerOptions\n): () => void;\nexport function addEventListener(\n el: HTMLElement | Document | ShadowRoot | Window | MediaQueryList,\n event: string,\n listener: EventListener,\n options?: AddEventListenerOptions\n) {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener);\n}\n\nexport function getLineNumberAttr(\n el: HTMLElement,\n key = 'line'\n): number | undefined {\n const value = el.dataset[key];\n if (value === undefined) {\n return undefined;\n }\n const lineNumber = parseInt(value, 10);\n if (Number.isNaN(lineNumber)) {\n return undefined;\n }\n return lineNumber;\n}\n\nexport function clampDomOffset(node: Node, offset: number): number {\n if (node.nodeType === 3) {\n const length = (node as Text).textContent?.length ?? 0;\n return Math.max(0, Math.min(offset, length));\n }\n if (node.nodeType === 1) {\n return Math.max(0, Math.min(offset, node.childNodes.length));\n }\n return 0;\n}\n\nexport function extend<T extends object>(obj: T, attrs: Partial<T>): T {\n return Object.assign(obj, attrs);\n}\n\n// oxlint-disable-next-line typescript/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n func: T,\n wait: number\n): (...args: Parameters<T>) => void {\n let timeout: ReturnType<typeof setTimeout>;\n return function (this: ThisType<T>, ...args: Parameters<T>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\nexport function round(value: number, precision: number = 1000): number {\n return Math.round(value * precision) / precision;\n}\n\nexport function endsWithLineBreak(text: string): boolean {\n return text.endsWith('\\n') || text.endsWith('\\r');\n}\n\n// Creates an Intl.Segmenter, or undefined when the engine lacks support.\n// Callers must fall back to a degraded path when this returns undefined.\nexport function createSegmenter(\n options: Intl.SegmenterOptions\n): Intl.Segmenter | undefined {\n if (typeof Intl === 'undefined' || typeof Intl.Segmenter !== 'function') {\n return undefined;\n }\n return new Intl.Segmenter(undefined, options);\n}\n\n// Lazily created and cached grapheme segmenter. Avoids constructing\n// Intl.Segmenter at import time so importing the editor never throws on\n// engines that lack it. Undefined when the engine has no Intl.Segmenter.\nlet graphemeSegmenter: Intl.Segmenter | undefined;\nlet graphemeSegmenterInit = false;\nexport function getGraphemeSegmenter(): Intl.Segmenter | undefined {\n if (!graphemeSegmenterInit) {\n graphemeSegmenter = createSegmenter({ granularity: 'grapheme' });\n graphemeSegmenterInit = true;\n }\n return graphemeSegmenter;\n}\n"],"mappings":";AAAA,SAAgB,EACd,SACA,OAKA,QAC0B;CAC1B,MAAM,EAAE,OAAO,SAAS,UAAU,GAAG,UAAU,SAAS,CAAC;CACzD,MAAM,KAAK,SAAS,cAAc,OAAO;CACzC,OAAO,OAAO,IAAI,KAAK;CACvB,IAAI,UAAU,KAAA,GACZ,IAAI,OAAO,UAAU,UACnB,GAAG,MAAM,UAAU;MAEnB,OAAO,OAAO,GAAG,OAAO,KAAK;CAGjC,IAAI,YAAY,KAAA,GACd,IAAI,OAAO,YAAY,UACrB,GAAG,QAAQ,WAAW;MACjB,IAAI,MAAM,QAAQ,OAAO,GAC9B,QAAQ,SAAS,QAAQ;EACvB,GAAG,QAAQ,OAAO;CACpB,CAAC;MAED,OAAO,OAAO,GAAG,SAAS,OAAO;CAGrC,IAAI,aAAa,KAAA,GACf,GAAG,gBAAgB,GAAG,QAAQ;CAEhC,IAAI,WAAW,KAAA,GACb,OAAO,YAAY,EAAE;CAEvB,OAAO;AACT;AA0BA,SAAgB,iBACd,IACA,OACA,UACA,SACA;CACA,GAAG,iBAAiB,OAAO,UAAU,OAAO;CAC5C,aAAa,GAAG,oBAAoB,OAAO,QAAQ;AACrD;AAEA,SAAgB,kBACd,IACA,MAAM,QACc;CACpB,MAAM,QAAQ,GAAG,QAAQ;CACzB,IAAI,UAAU,KAAA,GACZ;CAEF,MAAM,aAAa,SAAS,OAAO,EAAE;CACrC,IAAI,OAAO,MAAM,UAAU,GACzB;CAEF,OAAO;AACT;AAEA,SAAgB,eAAe,MAAY,QAAwB;CACjE,IAAI,KAAK,aAAa,GAAG;EACvB,MAAM,SAAU,KAAc,aAAa,UAAU;EACrD,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;CAC7C;CACA,IAAI,KAAK,aAAa,GACpB,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,KAAK,WAAW,MAAM,CAAC;CAE7D,OAAO;AACT;AAEA,SAAgB,OAAyB,KAAQ,OAAsB;CACrE,OAAO,OAAO,OAAO,KAAK,KAAK;AACjC;AAGA,SAAgB,SACd,MACA,MACkC;CAClC,IAAI;CACJ,OAAO,SAA6B,GAAG,MAAqB;EAC1D,aAAa,OAAO;EACpB,UAAU,iBAAiB,KAAK,MAAM,MAAM,IAAI,GAAG,IAAI;CACzD;AACF;AAEA,SAAgB,MAAM,OAAe,YAAoB,KAAc;CACrE,OAAO,KAAK,MAAM,QAAQ,SAAS,IAAI;AACzC;AAEA,SAAgB,kBAAkB,MAAuB;CACvD,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAClD;AAIA,SAAgB,gBACd,SAC4B;CAC5B,IAAI,OAAO,SAAS,eAAe,OAAO,KAAK,cAAc,YAC3D;CAEF,OAAO,IAAI,KAAK,UAAU,KAAA,GAAW,OAAO;AAC9C;AAKA,IAAI;AACJ,IAAI,wBAAwB;AAC5B,SAAgB,uBAAmD;CACjE,IAAI,CAAC,uBAAuB;EAC1B,oBAAoB,gBAAgB,EAAE,aAAa,WAAW,CAAC;EAC/D,wBAAwB;CAC1B;CACA,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areLanguagesAttached.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areLanguagesAttached.d.ts","names":[],"sources":["../../../src/highlighter/languages/areLanguagesAttached.ts"],"mappings":";;;iBAGgB,oBAAA,CACd,SAAA,EAAW,kBAAA,GAAqB,kBAAkB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AttachedLanguages } from "./constants.js";
|
|
2
|
-
|
|
3
2
|
//#region src/highlighter/languages/areLanguagesAttached.ts
|
|
4
3
|
function areLanguagesAttached(languages) {
|
|
5
4
|
for (const language of Array.isArray(languages) ? languages : [languages]) {
|
|
@@ -8,7 +7,7 @@ function areLanguagesAttached(languages) {
|
|
|
8
7
|
}
|
|
9
8
|
return true;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
//#endregion
|
|
13
11
|
export { areLanguagesAttached };
|
|
12
|
+
|
|
14
13
|
//# sourceMappingURL=areLanguagesAttached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areLanguagesAttached.js","names":[],"sources":["../../../src/highlighter/languages/areLanguagesAttached.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport { AttachedLanguages } from './constants';\n\nexport function areLanguagesAttached(\n languages: SupportedLanguages | SupportedLanguages[]\n): boolean {\n for (const language of Array.isArray(languages) ? languages : [languages]) {\n if (language === 'text' || language === 'ansi') {\n continue;\n }\n if (!AttachedLanguages.has(language)) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"areLanguagesAttached.js","names":[],"sources":["../../../src/highlighter/languages/areLanguagesAttached.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport { AttachedLanguages } from './constants';\n\nexport function areLanguagesAttached(\n languages: SupportedLanguages | SupportedLanguages[]\n): boolean {\n for (const language of Array.isArray(languages) ? languages : [languages]) {\n if (language === 'text' || language === 'ansi') {\n continue;\n }\n if (!AttachedLanguages.has(language)) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":";;AAGA,SAAgB,qBACd,WACS;CACT,KAAK,MAAM,YAAY,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS,GAAG;EACzE,IAAI,aAAa,UAAU,aAAa,QACtC;EAEF,IAAI,CAAC,kBAAkB,IAAI,QAAQ,GACjC,OAAO;CAEX;CACA,OAAO;AACT"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { DiffsHighlighter } from "../../types.js";
|
|
2
2
|
import { ResolvedLanguage } from "../../worker/types.js";
|
|
3
|
-
import "../../worker/index.js";
|
|
4
|
-
|
|
5
3
|
//#region src/highlighter/languages/attachResolvedLanguages.d.ts
|
|
6
4
|
declare function attachResolvedLanguages(resolvedLanguages: ResolvedLanguage | ResolvedLanguage[], highlighter: DiffsHighlighter): void;
|
|
7
5
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachResolvedLanguages.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"attachResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.ts"],"mappings":";;;iBAIgB,uBAAA,CACd,iBAAA,EAAmB,gBAAA,GAAmB,gBAAA,IACtC,WAAA,EAAa,gBAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AttachedLanguages, ResolvedLanguages } from "./constants.js";
|
|
2
|
-
|
|
3
2
|
//#region src/highlighter/languages/attachResolvedLanguages.ts
|
|
4
3
|
function attachResolvedLanguages(resolvedLanguages, highlighter) {
|
|
5
4
|
resolvedLanguages = Array.isArray(resolvedLanguages) ? resolvedLanguages : [resolvedLanguages];
|
|
@@ -14,7 +13,7 @@ function attachResolvedLanguages(resolvedLanguages, highlighter) {
|
|
|
14
13
|
highlighter.loadLanguageSync(lang.data);
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
|
-
|
|
18
16
|
//#endregion
|
|
19
17
|
export { attachResolvedLanguages };
|
|
18
|
+
|
|
20
19
|
//# sourceMappingURL=attachResolvedLanguages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.ts"],"sourcesContent":["import type { DiffsHighlighter } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nimport { AttachedLanguages, ResolvedLanguages } from './constants';\n\nexport function attachResolvedLanguages(\n resolvedLanguages: ResolvedLanguage | ResolvedLanguage[],\n highlighter: DiffsHighlighter\n): void {\n resolvedLanguages = Array.isArray(resolvedLanguages)\n ? resolvedLanguages\n : [resolvedLanguages];\n\n for (const resolvedLang of resolvedLanguages) {\n if (AttachedLanguages.has(resolvedLang.name)) continue;\n let lang = ResolvedLanguages.get(resolvedLang.name);\n if (lang == null) {\n lang = resolvedLang;\n ResolvedLanguages.set(resolvedLang.name, lang);\n }\n AttachedLanguages.add(lang.name);\n highlighter.loadLanguageSync(lang.data);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"attachResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.ts"],"sourcesContent":["import type { DiffsHighlighter } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nimport { AttachedLanguages, ResolvedLanguages } from './constants';\n\nexport function attachResolvedLanguages(\n resolvedLanguages: ResolvedLanguage | ResolvedLanguage[],\n highlighter: DiffsHighlighter\n): void {\n resolvedLanguages = Array.isArray(resolvedLanguages)\n ? resolvedLanguages\n : [resolvedLanguages];\n\n for (const resolvedLang of resolvedLanguages) {\n if (AttachedLanguages.has(resolvedLang.name)) continue;\n let lang = ResolvedLanguages.get(resolvedLang.name);\n if (lang == null) {\n lang = resolvedLang;\n ResolvedLanguages.set(resolvedLang.name, lang);\n }\n AttachedLanguages.add(lang.name);\n highlighter.loadLanguageSync(lang.data);\n }\n}\n"],"mappings":";;AAIA,SAAgB,wBACd,mBACA,aACM;CACN,oBAAoB,MAAM,QAAQ,iBAAiB,IAC/C,oBACA,CAAC,iBAAiB;CAEtB,KAAK,MAAM,gBAAgB,mBAAmB;EAC5C,IAAI,kBAAkB,IAAI,aAAa,IAAI,GAAG;EAC9C,IAAI,OAAO,kBAAkB,IAAI,aAAa,IAAI;EAClD,IAAI,QAAQ,MAAM;GAChB,OAAO;GACP,kBAAkB,IAAI,aAAa,MAAM,IAAI;EAC/C;EACA,kBAAkB,IAAI,KAAK,IAAI;EAC/B,YAAY,iBAAiB,KAAK,IAAI;CACxC;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanUpResolvedLanguages.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"cleanUpResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.ts"],"mappings":";iBAEgB,wBAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { AttachedLanguages, ResolvedLanguages } from "./constants.js";
|
|
2
|
-
|
|
3
2
|
//#region src/highlighter/languages/cleanUpResolvedLanguages.ts
|
|
4
3
|
function cleanUpResolvedLanguages() {
|
|
5
4
|
ResolvedLanguages.clear();
|
|
6
5
|
AttachedLanguages.clear();
|
|
7
6
|
}
|
|
8
|
-
|
|
9
7
|
//#endregion
|
|
10
8
|
export { cleanUpResolvedLanguages };
|
|
9
|
+
|
|
11
10
|
//# sourceMappingURL=cleanUpResolvedLanguages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanUpResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.ts"],"sourcesContent":["import { AttachedLanguages, ResolvedLanguages } from './constants';\n\nexport function cleanUpResolvedLanguages(): void {\n ResolvedLanguages.clear();\n AttachedLanguages.clear();\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanUpResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.ts"],"sourcesContent":["import { AttachedLanguages, ResolvedLanguages } from './constants';\n\nexport function cleanUpResolvedLanguages(): void {\n ResolvedLanguages.clear();\n AttachedLanguages.clear();\n}\n"],"mappings":";;AAEA,SAAgB,2BAAiC;CAC/C,kBAAkB,MAAM;CACxB,kBAAkB,MAAM;AAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/highlighter/languages/constants.ts"],"mappings":";;;;;cAKa,iBAAA,EAAmB,GAAA,CAAI,kBAAA,EAAoB,gBAAA;AAAA,cAG3C,kBAAA,EAAoB,GAAA,CAC/B,kBAAA,EACA,OAAA,CAAQ,gBAAA;AAAA,cAGG,yBAAA,EAA2B,GAAG,SAEzC,iCAAA;AAAA,cAGW,iBAAA,EAAmB,GAAG"}
|
|
@@ -3,7 +3,7 @@ const ResolvedLanguages = /* @__PURE__ */ new Map();
|
|
|
3
3
|
const ResolvingLanguages = /* @__PURE__ */ new Map();
|
|
4
4
|
const RegisteredCustomLanguages = /* @__PURE__ */ new Map();
|
|
5
5
|
const AttachedLanguages = /* @__PURE__ */ new Set();
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { AttachedLanguages, RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":[
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../../../src/highlighter/languages/constants.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\n\nimport type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\n\nexport const ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage> =\n new Map();\n\nexport const ResolvingLanguages: Map<\n SupportedLanguages,\n Promise<ResolvedLanguage>\n> = new Map();\n\nexport const RegisteredCustomLanguages: Map<\n string,\n DynamicImportLanguageRegistration\n> = new Map();\n\nexport const AttachedLanguages: Set<string> = new Set();\n"],"mappings":";AAKA,MAAa,oCACX,IAAI,IAAI;AAEV,MAAa,qCAGT,IAAI,IAAI;AAEZ,MAAa,4CAGT,IAAI,IAAI;AAEZ,MAAa,oCAAiC,IAAI,IAAI"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { SupportedLanguages } from "../../types.js";
|
|
2
2
|
import { ResolvedLanguage } from "../../worker/types.js";
|
|
3
|
-
import "../../worker/index.js";
|
|
4
|
-
|
|
5
3
|
//#region src/highlighter/languages/getResolvedLanguages.d.ts
|
|
6
4
|
declare function getResolvedLanguages(languages: SupportedLanguages[]): ResolvedLanguage[];
|
|
7
5
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedLanguages.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"getResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/getResolvedLanguages.ts"],"mappings":";;;iBAOgB,oBAAA,CACd,SAAA,EAAW,kBAAA,KACV,gBAAgB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ResolvedLanguages } from "./constants.js";
|
|
2
|
-
|
|
3
2
|
//#region src/highlighter/languages/getResolvedLanguages.ts
|
|
4
3
|
function getResolvedLanguages(languages) {
|
|
5
4
|
const resolvedLanguages = [];
|
|
@@ -10,7 +9,7 @@ function getResolvedLanguages(languages) {
|
|
|
10
9
|
}
|
|
11
10
|
return resolvedLanguages;
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
//#endregion
|
|
15
13
|
export { getResolvedLanguages };
|
|
14
|
+
|
|
16
15
|
//# sourceMappingURL=getResolvedLanguages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedLanguages.js","names":[
|
|
1
|
+
{"version":3,"file":"getResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/getResolvedLanguages.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nimport { ResolvedLanguages } from './constants';\n\n// This method should only be called if you know all languages are resolved,\n// otherwise it will fail. The main intention is a helper to avoid an async\n// tick if we don't actually need it\nexport function getResolvedLanguages(\n languages: SupportedLanguages[]\n): ResolvedLanguage[] {\n const resolvedLanguages: ResolvedLanguage[] = [];\n for (const language of languages) {\n const resolvedLanguage = ResolvedLanguages.get(language);\n if (resolvedLanguage == null) {\n throw new Error(\n `getResolvedLanguages: ${language} is not resolved. Please resolve languages before calling getResolvedLanguages`\n );\n }\n resolvedLanguages.push(resolvedLanguage);\n }\n return resolvedLanguages;\n}\n"],"mappings":";;AAOA,SAAgB,qBACd,WACoB;CACpB,MAAM,oBAAwC,CAAC;CAC/C,KAAK,MAAM,YAAY,WAAW;EAChC,MAAM,mBAAmB,kBAAkB,IAAI,QAAQ;EACvD,IAAI,oBAAoB,MACtB,MAAM,IAAI,MACR,yBAAyB,SAAS,+EACpC;EAEF,kBAAkB,KAAK,gBAAgB;CACzC;CACA,OAAO;AACT"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { SupportedLanguages } from "../../types.js";
|
|
2
2
|
import { ResolvedLanguage } from "../../worker/types.js";
|
|
3
|
-
import "../../worker/index.js";
|
|
4
|
-
|
|
5
3
|
//#region src/highlighter/languages/getResolvedOrResolveLanguage.d.ts
|
|
6
4
|
declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages, 'text' | 'ansi'>): ResolvedLanguage | Promise<ResolvedLanguage>;
|
|
7
5
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedOrResolveLanguage.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"getResolvedOrResolveLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.ts"],"mappings":";;;iBAKgB,4BAAA,CACd,QAAA,EAAU,OAAA,CAAQ,kBAAA,qBACjB,gBAAA,GAAmB,OAAA,CAAQ,gBAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { ResolvedLanguages } from "./constants.js";
|
|
2
2
|
import { resolveLanguage } from "./resolveLanguage.js";
|
|
3
|
-
|
|
4
3
|
//#region src/highlighter/languages/getResolvedOrResolveLanguage.ts
|
|
5
4
|
function getResolvedOrResolveLanguage(language) {
|
|
6
5
|
return ResolvedLanguages.get(language) ?? resolveLanguage(language);
|
|
7
6
|
}
|
|
8
|
-
|
|
9
7
|
//#endregion
|
|
10
8
|
export { getResolvedOrResolveLanguage };
|
|
9
|
+
|
|
11
10
|
//# sourceMappingURL=getResolvedOrResolveLanguage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedOrResolveLanguage.js","names":[],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nimport { ResolvedLanguages } from './constants';\nimport { resolveLanguage } from './resolveLanguage';\n\nexport function getResolvedOrResolveLanguage(\n language: Exclude<SupportedLanguages, 'text' | 'ansi'>\n): ResolvedLanguage | Promise<ResolvedLanguage> {\n return ResolvedLanguages.get(language) ?? resolveLanguage(language);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getResolvedOrResolveLanguage.js","names":[],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nimport { ResolvedLanguages } from './constants';\nimport { resolveLanguage } from './resolveLanguage';\n\nexport function getResolvedOrResolveLanguage(\n language: Exclude<SupportedLanguages, 'text' | 'ansi'>\n): ResolvedLanguage | Promise<ResolvedLanguage> {\n return ResolvedLanguages.get(language) ?? resolveLanguage(language);\n}\n"],"mappings":";;;AAKA,SAAgB,6BACd,UAC8C;CAC9C,OAAO,kBAAkB,IAAI,QAAQ,KAAK,gBAAgB,QAAQ;AACpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasResolvedLanguages.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"hasResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.ts"],"mappings":";;;iBAGgB,oBAAA,CACd,SAAA,EAAW,kBAAA,GAAqB,kBAAkB"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { ResolvedLanguages } from "./constants.js";
|
|
2
|
-
|
|
3
2
|
//#region src/highlighter/languages/hasResolvedLanguages.ts
|
|
4
3
|
function hasResolvedLanguages(languages) {
|
|
5
4
|
for (const language of Array.isArray(languages) ? languages : [languages]) if (!ResolvedLanguages.has(language)) return false;
|
|
6
5
|
return true;
|
|
7
6
|
}
|
|
8
|
-
|
|
9
7
|
//#endregion
|
|
10
8
|
export { hasResolvedLanguages };
|
|
9
|
+
|
|
11
10
|
//# sourceMappingURL=hasResolvedLanguages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport { ResolvedLanguages } from './constants';\n\nexport function hasResolvedLanguages(\n languages: SupportedLanguages | SupportedLanguages[]\n): boolean {\n for (const language of Array.isArray(languages) ? languages : [languages]) {\n if (!ResolvedLanguages.has(language)) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hasResolvedLanguages.js","names":[],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport { ResolvedLanguages } from './constants';\n\nexport function hasResolvedLanguages(\n languages: SupportedLanguages | SupportedLanguages[]\n): boolean {\n for (const language of Array.isArray(languages) ? languages : [languages]) {\n if (!ResolvedLanguages.has(language)) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":";;AAGA,SAAgB,qBACd,WACS;CACT,KAAK,MAAM,YAAY,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS,GACtE,IAAI,CAAC,kBAAkB,IAAI,QAAQ,GACjC,OAAO;CAGX,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomLanguage.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"registerCustomLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/registerCustomLanguage.ts"],"mappings":";;;;;AASA;;iBAAgB,sBAAA,CACd,IAAA,UACA,MAAA,EAAQ,iCAAiC;;;;;;;AAOzC,qBAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { RegisteredCustomLanguages } from "./constants.js";
|
|
2
2
|
import { setCustomExtension } from "../../utils/getFiletypeFromFileName.js";
|
|
3
|
-
|
|
4
3
|
//#region src/highlighter/languages/registerCustomLanguage.ts
|
|
5
4
|
/**
|
|
6
5
|
* Register a custom language loader and optionally map it to
|
|
@@ -15,7 +14,7 @@ function registerCustomLanguage(lang, loader, extensionsOrFilenames = []) {
|
|
|
15
14
|
RegisteredCustomLanguages.set(lang, loader);
|
|
16
15
|
for (const extension of extensionsOrFilenames) setCustomExtension(extension, lang);
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
//#endregion
|
|
20
18
|
export { registerCustomLanguage };
|
|
19
|
+
|
|
21
20
|
//# sourceMappingURL=registerCustomLanguage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomLanguage.js","names":[],"sources":["../../../src/highlighter/languages/registerCustomLanguage.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\n\nimport { setCustomExtension } from '../../utils/getFiletypeFromFileName';\nimport { RegisteredCustomLanguages } from './constants';\n\n/**\n * Register a custom language loader and optionally map it to\n * file names or extensions.\n */\nexport function registerCustomLanguage(\n lang: string,\n loader: DynamicImportLanguageRegistration,\n /**\n * File names or extensions to map to this language. Use exact filenames\n * (e.g., \"Dockerfile\", \"CMakeLists.txt\") or extension tokens without a dot\n * (e.g., \"proto\", \"foo\"). Compound extensions are supported\n * (e.g., \"blade.php\").\n */\n extensionsOrFilenames: string[] = []\n): void {\n if (lang === 'text' || lang === 'ansi') {\n throw new Error(\n \"registerCustomLanguage: 'text' and 'ansi' are reserved language names\"\n );\n }\n if (RegisteredCustomLanguages.has(lang)) {\n console.error(\n `registerCustomLanguage: lang: ${lang} is already registered`\n );\n return;\n }\n RegisteredCustomLanguages.set(lang, loader);\n for (const extension of extensionsOrFilenames) {\n setCustomExtension(extension, lang);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerCustomLanguage.js","names":[],"sources":["../../../src/highlighter/languages/registerCustomLanguage.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\n\nimport { setCustomExtension } from '../../utils/getFiletypeFromFileName';\nimport { RegisteredCustomLanguages } from './constants';\n\n/**\n * Register a custom language loader and optionally map it to\n * file names or extensions.\n */\nexport function registerCustomLanguage(\n lang: string,\n loader: DynamicImportLanguageRegistration,\n /**\n * File names or extensions to map to this language. Use exact filenames\n * (e.g., \"Dockerfile\", \"CMakeLists.txt\") or extension tokens without a dot\n * (e.g., \"proto\", \"foo\"). Compound extensions are supported\n * (e.g., \"blade.php\").\n */\n extensionsOrFilenames: string[] = []\n): void {\n if (lang === 'text' || lang === 'ansi') {\n throw new Error(\n \"registerCustomLanguage: 'text' and 'ansi' are reserved language names\"\n );\n }\n if (RegisteredCustomLanguages.has(lang)) {\n console.error(\n `registerCustomLanguage: lang: ${lang} is already registered`\n );\n return;\n }\n RegisteredCustomLanguages.set(lang, loader);\n for (const extension of extensionsOrFilenames) {\n setCustomExtension(extension, lang);\n }\n}\n"],"mappings":";;;;;;;AASA,SAAgB,uBACd,MACA,QAOA,wBAAkC,CAAC,GAC7B;CACN,IAAI,SAAS,UAAU,SAAS,QAC9B,MAAM,IAAI,MACR,uEACF;CAEF,IAAI,0BAA0B,IAAI,IAAI,GAAG;EACvC,QAAQ,MACN,iCAAiC,KAAK,uBACxC;EACA;CACF;CACA,0BAA0B,IAAI,MAAM,MAAM;CAC1C,KAAK,MAAM,aAAa,uBACtB,mBAAmB,WAAW,IAAI;AAEtC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { SupportedLanguages } from "../../types.js";
|
|
2
2
|
import { ResolvedLanguage } from "../../worker/types.js";
|
|
3
|
-
import "../../worker/index.js";
|
|
4
|
-
|
|
5
3
|
//#region src/highlighter/languages/resolveLanguage.d.ts
|
|
6
4
|
declare function resolveLanguage(lang: Exclude<SupportedLanguages, 'text' | 'ansi'>): Promise<ResolvedLanguage>;
|
|
7
5
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLanguage.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"resolveLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/resolveLanguage.ts"],"mappings":";;;iBAWsB,eAAA,CACpB,IAAA,EAAM,OAAA,CAAQ,kBAAA,qBACb,OAAA,CAAQ,gBAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages } from "./constants.js";
|
|
2
2
|
import { isWorkerContext } from "../../utils/isWorkerContext.js";
|
|
3
3
|
import { bundledLanguages } from "shiki";
|
|
4
|
-
|
|
5
4
|
//#region src/highlighter/languages/resolveLanguage.ts
|
|
6
5
|
async function resolveLanguage(lang) {
|
|
7
6
|
if (isWorkerContext()) throw new Error(`resolveLanguage("${lang}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);
|
|
@@ -11,7 +10,7 @@ async function resolveLanguage(lang) {
|
|
|
11
10
|
let loader = RegisteredCustomLanguages.get(lang);
|
|
12
11
|
if (loader == null && Object.prototype.hasOwnProperty.call(bundledLanguages, lang)) loader = bundledLanguages[lang];
|
|
13
12
|
if (loader == null) throw new Error(`resolveLanguage: "${lang}" not found in bundled or custom languages`);
|
|
14
|
-
const resolver
|
|
13
|
+
const resolver = loader().then(({ default: data }) => {
|
|
15
14
|
const resolvedLang = {
|
|
16
15
|
name: lang,
|
|
17
16
|
data
|
|
@@ -19,13 +18,13 @@ async function resolveLanguage(lang) {
|
|
|
19
18
|
if (!ResolvedLanguages.has(lang)) ResolvedLanguages.set(lang, resolvedLang);
|
|
20
19
|
return resolvedLang;
|
|
21
20
|
});
|
|
22
|
-
ResolvingLanguages.set(lang, resolver
|
|
23
|
-
return await resolver
|
|
21
|
+
ResolvingLanguages.set(lang, resolver);
|
|
22
|
+
return await resolver;
|
|
24
23
|
} finally {
|
|
25
24
|
ResolvingLanguages.delete(lang);
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
|
-
|
|
29
27
|
//#endregion
|
|
30
28
|
export { resolveLanguage };
|
|
29
|
+
|
|
31
30
|
//# sourceMappingURL=resolveLanguage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLanguage.js","names":[
|
|
1
|
+
{"version":3,"file":"resolveLanguage.js","names":[],"sources":["../../../src/highlighter/languages/resolveLanguage.ts"],"sourcesContent":["import { bundledLanguages } from 'shiki';\n\nimport type { BundledLanguage, SupportedLanguages } from '../../types';\nimport { isWorkerContext } from '../../utils/isWorkerContext';\nimport type { ResolvedLanguage } from '../../worker';\nimport {\n RegisteredCustomLanguages,\n ResolvedLanguages,\n ResolvingLanguages,\n} from './constants';\n\nexport async function resolveLanguage(\n lang: Exclude<SupportedLanguages, 'text' | 'ansi'>\n): Promise<ResolvedLanguage> {\n // Prevent dynamic imports in worker contexts\n if (isWorkerContext()) {\n throw new Error(\n `resolveLanguage(\"${lang}\") cannot be called from a worker context. ` +\n 'Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.'\n );\n }\n\n const resolver = ResolvingLanguages.get(lang);\n if (resolver != null) {\n return resolver;\n }\n\n try {\n let loader = RegisteredCustomLanguages.get(lang);\n if (\n loader == null &&\n Object.prototype.hasOwnProperty.call(bundledLanguages, lang)\n ) {\n loader = bundledLanguages[lang as BundledLanguage];\n }\n if (loader == null) {\n throw new Error(\n `resolveLanguage: \"${lang}\" not found in bundled or custom languages`\n );\n }\n\n const resolver = loader().then(({ default: data }) => {\n const resolvedLang = { name: lang, data };\n if (!ResolvedLanguages.has(lang)) {\n ResolvedLanguages.set(lang, resolvedLang);\n }\n return resolvedLang;\n });\n ResolvingLanguages.set(lang, resolver);\n return await resolver;\n } finally {\n ResolvingLanguages.delete(lang);\n }\n}\n"],"mappings":";;;;AAWA,eAAsB,gBACpB,MAC2B;CAE3B,IAAI,gBAAgB,GAClB,MAAM,IAAI,MACR,oBAAoB,KAAK,2JAE3B;CAGF,MAAM,WAAW,mBAAmB,IAAI,IAAI;CAC5C,IAAI,YAAY,MACd,OAAO;CAGT,IAAI;EACF,IAAI,SAAS,0BAA0B,IAAI,IAAI;EAC/C,IACE,UAAU,QACV,OAAO,UAAU,eAAe,KAAK,kBAAkB,IAAI,GAE3D,SAAS,iBAAiB;EAE5B,IAAI,UAAU,MACZ,MAAM,IAAI,MACR,qBAAqB,KAAK,2CAC5B;EAGF,MAAM,WAAW,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,WAAW;GACpD,MAAM,eAAe;IAAE,MAAM;IAAM;GAAK;GACxC,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAC7B,kBAAkB,IAAI,MAAM,YAAY;GAE1C,OAAO;EACT,CAAC;EACD,mBAAmB,IAAI,MAAM,QAAQ;EACrC,OAAO,MAAM;CACf,UAAU;EACR,mBAAmB,OAAO,IAAI;CAChC;AACF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { SupportedLanguages } from "../../types.js";
|
|
2
2
|
import { ResolvedLanguage } from "../../worker/types.js";
|
|
3
|
-
import "../../worker/index.js";
|
|
4
|
-
|
|
5
3
|
//#region src/highlighter/languages/resolveLanguages.d.ts
|
|
6
4
|
declare function resolveLanguages(languages: SupportedLanguages[]): Promise<ResolvedLanguage[]>;
|
|
7
5
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLanguages.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"resolveLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/resolveLanguages.ts"],"mappings":";;;iBAKsB,gBAAA,CACpB,SAAA,EAAW,kBAAA,KACV,OAAA,CAAQ,gBAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { resolveLanguage } from "./resolveLanguage.js";
|
|
2
2
|
import { getResolvedOrResolveLanguage } from "./getResolvedOrResolveLanguage.js";
|
|
3
|
-
|
|
4
3
|
//#region src/highlighter/languages/resolveLanguages.ts
|
|
5
4
|
async function resolveLanguages(languages) {
|
|
6
5
|
const resolvedLanguages = [];
|
|
@@ -19,7 +18,7 @@ async function resolveLanguages(languages) {
|
|
|
19
18
|
});
|
|
20
19
|
return resolvedLanguages;
|
|
21
20
|
}
|
|
22
|
-
|
|
23
21
|
//#endregion
|
|
24
22
|
export { resolveLanguages };
|
|
23
|
+
|
|
25
24
|
//# sourceMappingURL=resolveLanguages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLanguages.js","names":[
|
|
1
|
+
{"version":3,"file":"resolveLanguages.js","names":[],"sources":["../../../src/highlighter/languages/resolveLanguages.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nimport { getResolvedOrResolveLanguage } from './getResolvedOrResolveLanguage';\nimport { resolveLanguage } from './resolveLanguage';\n\nexport async function resolveLanguages(\n languages: SupportedLanguages[]\n): Promise<ResolvedLanguage[]> {\n const resolvedLanguages: ResolvedLanguage[] = [];\n const languagesToResolve: Promise<ResolvedLanguage | undefined>[] = [];\n for (const language of languages) {\n if (language === 'text' || language === 'ansi') continue;\n const maybeResolvedLanguage =\n getResolvedOrResolveLanguage(language) ?? resolveLanguage(language);\n if ('then' in maybeResolvedLanguage) {\n languagesToResolve.push(maybeResolvedLanguage);\n } else {\n resolvedLanguages.push(maybeResolvedLanguage);\n }\n }\n if (languagesToResolve.length > 0) {\n await Promise.all(languagesToResolve).then((_resolvedLanguages) => {\n for (const resolvedLanguage of _resolvedLanguages) {\n if (resolvedLanguage == null) {\n throw new Error('resolvedLanguages: unable to resolve language');\n }\n resolvedLanguages.push(resolvedLanguage);\n }\n });\n }\n\n return resolvedLanguages;\n}\n"],"mappings":";;;AAKA,eAAsB,iBACpB,WAC6B;CAC7B,MAAM,oBAAwC,CAAC;CAC/C,MAAM,qBAA8D,CAAC;CACrE,KAAK,MAAM,YAAY,WAAW;EAChC,IAAI,aAAa,UAAU,aAAa,QAAQ;EAChD,MAAM,wBACJ,6BAA6B,QAAQ,KAAK,gBAAgB,QAAQ;EACpE,IAAI,UAAU,uBACZ,mBAAmB,KAAK,qBAAqB;OAE7C,kBAAkB,KAAK,qBAAqB;CAEhD;CACA,IAAI,mBAAmB,SAAS,GAC9B,MAAM,QAAQ,IAAI,kBAAkB,CAAC,CAAC,MAAM,uBAAuB;EACjE,KAAK,MAAM,oBAAoB,oBAAoB;GACjD,IAAI,oBAAoB,MACtB,MAAM,IAAI,MAAM,+CAA+C;GAEjE,kBAAkB,KAAK,gBAAgB;EACzC;CACF,CAAC;CAGH,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_highlighter.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"shared_highlighter.d.ts","names":[],"sources":["../../src/highlighter/shared_highlighter.ts"],"mappings":";;;KAwBK,8BAAA,GACD,OAAA,CAAQ,gBAAA,IACR,gBAAA;AAAA,UAKM,kBAAA;EACR,MAAA,EAAQ,eAAA;EACR,KAAA,EAAO,kBAAA;EACP,oBAAA,GAAuB,gBAAA;AAAA;AAAA,iBAGH,oBAAA;EACpB,MAAA;EACA,KAAA;EACA;AAAA,GACC,kBAAA,GAAqB,OAAA,CAAQ,gBAAA;AAAA,iBAmDhB,mBAAA,CACd,CAAA,GAAG,8BAAA,GACF,CAAA,IAAK,gBAAgB;AAAA,iBAIR,sBAAA,IAA0B,gBAAgB;AAAA,iBAO1C,oBAAA,CACd,CAAA,GAAG,8BAAA,GACF,CAAA,IAAK,OAAA,CAAQ,gBAAA;AAAA,iBAIA,iBAAA,CACd,CAAA,GAAG,8BAA4C,GAC9C,CAAA;AAAA,iBAImB,kBAAA,CACpB,OAAA,EAAS,kBAAA,GACR,OAAO;AAAA,iBAIY,kBAAA,IAAsB,OAAO"}
|
|
@@ -7,7 +7,6 @@ import { cleanUpResolvedThemes } from "./themes/cleanUpResolvedThemes.js";
|
|
|
7
7
|
import { getResolvedOrResolveTheme } from "./themes/getResolvedOrResolveTheme.js";
|
|
8
8
|
import { createHighlighter, createJavaScriptRegexEngine, createOnigurumaEngine } from "shiki";
|
|
9
9
|
import { pierreThemes } from "@pierre/theming/themes";
|
|
10
|
-
|
|
11
10
|
//#region src/highlighter/shared_highlighter.ts
|
|
12
11
|
let highlighter;
|
|
13
12
|
async function getSharedHighlighter({ themes, langs, preferredHighlighter = "shiki-js" }) {
|
|
@@ -33,8 +32,8 @@ async function getSharedHighlighter({ themes, langs, preferredHighlighter = "shi
|
|
|
33
32
|
}
|
|
34
33
|
if (languageLoaders.length > 0 || themeLoaders.length > 0) await Promise.all([Promise.all(languageLoaders).then((languages) => {
|
|
35
34
|
attachResolvedLanguages(languages, instance);
|
|
36
|
-
}), Promise.all(themeLoaders).then((themes
|
|
37
|
-
attachResolvedThemes(themes
|
|
35
|
+
}), Promise.all(themeLoaders).then((themes) => {
|
|
36
|
+
attachResolvedThemes(themes, instance);
|
|
38
37
|
})]);
|
|
39
38
|
return instance;
|
|
40
39
|
}
|
|
@@ -61,7 +60,7 @@ async function disposeHighlighter() {
|
|
|
61
60
|
highlighter = void 0;
|
|
62
61
|
}
|
|
63
62
|
for (const descriptor of pierreThemes.getThemes()) themeResolver.registerThemeIfAbsent(descriptor.name, descriptor.load);
|
|
64
|
-
|
|
65
63
|
//#endregion
|
|
66
64
|
export { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, preloadHighlighter };
|
|
65
|
+
|
|
67
66
|
//# sourceMappingURL=shared_highlighter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_highlighter.js","names":[
|
|
1
|
+
{"version":3,"file":"shared_highlighter.js","names":[],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":["import type { ThemeLoader } from '@pierre/theming';\nimport { pierreThemes } from '@pierre/theming/themes';\nimport {\n createHighlighter,\n createJavaScriptRegexEngine,\n createOnigurumaEngine,\n} from 'shiki';\n\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\n HighlighterTypes,\n SupportedLanguages,\n ThemeRegistrationResolved,\n} from '../types';\nimport type { ResolvedLanguage } from '../worker/types';\nimport { attachResolvedLanguages } from './languages/attachResolvedLanguages';\nimport { cleanUpResolvedLanguages } from './languages/cleanUpResolvedLanguages';\nimport { getResolvedOrResolveLanguage } from './languages/getResolvedOrResolveLanguage';\nimport { attachResolvedThemes } from './themes/attachResolvedThemes';\nimport { cleanUpResolvedThemes } from './themes/cleanUpResolvedThemes';\nimport { getResolvedOrResolveTheme } from './themes/getResolvedOrResolveTheme';\nimport { themeResolver } from './themes/themeResolver';\n\ntype CachedOrLoadingHighlighterType =\n | Promise<DiffsHighlighter>\n | DiffsHighlighter\n | undefined;\n\nlet highlighter: CachedOrLoadingHighlighterType;\n\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n preferredHighlighter?: HighlighterTypes;\n}\n\nexport async function getSharedHighlighter({\n themes,\n langs,\n preferredHighlighter = 'shiki-js',\n}: HighlighterOptions): Promise<DiffsHighlighter> {\n highlighter ??= createHighlighter({\n themes: [],\n langs: ['text'],\n engine:\n preferredHighlighter === 'shiki-wasm'\n ? createOnigurumaEngine(import('shiki/wasm'))\n : createJavaScriptRegexEngine(),\n }) as Promise<DiffsHighlighter>;\n\n const instance = isHighlighterLoading(highlighter)\n ? await highlighter\n : highlighter;\n highlighter = instance;\n\n const languageLoaders: Promise<ResolvedLanguage>[] = [];\n for (const language of langs) {\n if (language === 'text' || language === 'ansi') continue;\n const maybeResolvedLanguage = getResolvedOrResolveLanguage(language);\n if ('then' in maybeResolvedLanguage) {\n languageLoaders.push(maybeResolvedLanguage);\n } else {\n attachResolvedLanguages(maybeResolvedLanguage, instance);\n }\n }\n\n const themeLoaders: Promise<ThemeRegistrationResolved>[] = [];\n for (const themeName of themes) {\n const maybeResolvedTheme = getResolvedOrResolveTheme(themeName);\n if ('then' in maybeResolvedTheme) {\n themeLoaders.push(maybeResolvedTheme);\n } else {\n attachResolvedThemes(maybeResolvedTheme, highlighter);\n }\n }\n\n // If we need to load any languages or themes, lets do that now\n if (languageLoaders.length > 0 || themeLoaders.length > 0) {\n await Promise.all([\n Promise.all(languageLoaders).then((languages) => {\n attachResolvedLanguages(languages, instance);\n }),\n Promise.all(themeLoaders).then((themes) => {\n attachResolvedThemes(themes, instance);\n }),\n ]);\n }\n\n return instance;\n}\n\nexport function isHighlighterLoaded(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is DiffsHighlighter {\n return h != null && !('then' in h);\n}\n\nexport function getHighlighterIfLoaded(): DiffsHighlighter | undefined {\n if (highlighter != null && !('then' in highlighter)) {\n return highlighter;\n }\n return undefined;\n}\n\nexport function isHighlighterLoading(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is Promise<DiffsHighlighter> {\n return h != null && 'then' in h;\n}\n\nexport function isHighlighterNull(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is undefined {\n return h == null;\n}\n\nexport async function preloadHighlighter(\n options: HighlighterOptions\n): Promise<void> {\n return void (await getSharedHighlighter(options));\n}\n\nexport async function disposeHighlighter(): Promise<void> {\n if (highlighter == null) return;\n (await highlighter).dispose();\n cleanUpResolvedLanguages();\n cleanUpResolvedThemes();\n highlighter = undefined;\n}\n\nfor (const descriptor of pierreThemes.getThemes()) {\n themeResolver.registerThemeIfAbsent(\n descriptor.name,\n descriptor.load as ThemeLoader<ThemeRegistrationResolved>\n );\n}\n"],"mappings":";;;;;;;;;;AA6BA,IAAI;AAQJ,eAAsB,qBAAqB,EACzC,QACA,OACA,uBAAuB,cACyB;CAChD,gBAAgB,kBAAkB;EAChC,QAAQ,CAAC;EACT,OAAO,CAAC,MAAM;EACd,QACE,yBAAyB,eACrB,sBAAsB,OAAO,aAAa,IAC1C,4BAA4B;CACpC,CAAC;CAED,MAAM,WAAW,qBAAqB,WAAW,IAC7C,MAAM,cACN;CACJ,cAAc;CAEd,MAAM,kBAA+C,CAAC;CACtD,KAAK,MAAM,YAAY,OAAO;EAC5B,IAAI,aAAa,UAAU,aAAa,QAAQ;EAChD,MAAM,wBAAwB,6BAA6B,QAAQ;EACnE,IAAI,UAAU,uBACZ,gBAAgB,KAAK,qBAAqB;OAE1C,wBAAwB,uBAAuB,QAAQ;CAE3D;CAEA,MAAM,eAAqD,CAAC;CAC5D,KAAK,MAAM,aAAa,QAAQ;EAC9B,MAAM,qBAAqB,0BAA0B,SAAS;EAC9D,IAAI,UAAU,oBACZ,aAAa,KAAK,kBAAkB;OAEpC,qBAAqB,oBAAoB,WAAW;CAExD;CAGA,IAAI,gBAAgB,SAAS,KAAK,aAAa,SAAS,GACtD,MAAM,QAAQ,IAAI,CAChB,QAAQ,IAAI,eAAe,CAAC,CAAC,MAAM,cAAc;EAC/C,wBAAwB,WAAW,QAAQ;CAC7C,CAAC,GACD,QAAQ,IAAI,YAAY,CAAC,CAAC,MAAM,WAAW;EACzC,qBAAqB,QAAQ,QAAQ;CACvC,CAAC,CACH,CAAC;CAGH,OAAO;AACT;AAEA,SAAgB,oBACd,IAAoC,aACb;CACvB,OAAO,KAAK,QAAQ,EAAE,UAAU;AAClC;AAEA,SAAgB,yBAAuD;CACrE,IAAI,eAAe,QAAQ,EAAE,UAAU,cACrC,OAAO;AAGX;AAEA,SAAgB,qBACd,IAAoC,aACJ;CAChC,OAAO,KAAK,QAAQ,UAAU;AAChC;AAEA,SAAgB,kBACd,IAAoC,aACpB;CAChB,OAAO,KAAK;AACd;AAEA,eAAsB,mBACpB,SACe;CACR,MAAY,qBAAqB,OAAO;AACjD;AAEA,eAAsB,qBAAoC;CACxD,IAAI,eAAe,MAAM;CACzB,CAAC,MAAM,YAAA,CAAa,QAAQ;CAC5B,yBAAyB;CACzB,sBAAsB;CACtB,cAAc,KAAA;AAChB;AAEA,KAAK,MAAM,cAAc,aAAa,UAAU,GAC9C,cAAc,sBACZ,WAAW,MACX,WAAW,IACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areThemesAttached.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"areThemesAttached.d.ts","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"mappings":";;;iBAIgB,iBAAA,CACd,MAAA,EAAQ,eAAA,GAAkB,UAAU"}
|