@pierre/diffs 1.5.2 → 1.6.0
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 +4 -3
- package/dist/components/CodeView.d.ts +3 -2
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +24 -19
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +31 -9
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +176 -90
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +32 -9
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +225 -131
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.d.ts +6 -4
- package/dist/components/FileStream.d.ts.map +1 -1
- package/dist/components/FileStream.js +49 -36
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts +14 -4
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +35 -16
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +3 -2
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +28 -20
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +3 -2
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +31 -24
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/constants.d.ts +4 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/editor/editor.d.ts +2 -1
- package/dist/editor/editor.d.ts.map +1 -1
- package/dist/editor/editor.js +5 -1
- package/dist/editor/editor.js.map +1 -1
- package/dist/editor/platform.d.ts +1 -1
- package/dist/editor/platform.js +5 -4
- package/dist/editor/platform.js.map +1 -1
- package/dist/editor/selection.d.ts +2 -2
- package/dist/editor/selection.d.ts.map +1 -1
- package/dist/editor/selection.js +31 -6
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/tokenizer.d.ts +6 -4
- package/dist/editor/tokenizer.d.ts.map +1 -1
- package/dist/editor/tokenizer.js +25 -470
- package/dist/editor/tokenizer.js.map +1 -1
- package/dist/highlighter/DiffsEditorTokenizer.d.ts +16 -0
- package/dist/highlighter/DiffsEditorTokenizer.d.ts.map +1 -0
- package/dist/highlighter/DiffsEditorTokenizer.js +0 -0
- package/dist/highlighter/DiffsHighlighter.d.ts +41 -0
- package/dist/highlighter/DiffsHighlighter.d.ts.map +1 -0
- package/dist/highlighter/DiffsHighlighter.js +39 -0
- package/dist/highlighter/DiffsHighlighter.js.map +1 -0
- package/dist/highlighter/backends/highlights.d.ts +26 -0
- package/dist/highlighter/backends/highlights.d.ts.map +1 -0
- package/dist/highlighter/backends/highlights.js +71 -0
- package/dist/highlighter/backends/highlights.js.map +1 -0
- package/dist/highlighter/backends/shiki.d.ts +27 -0
- package/dist/highlighter/backends/shiki.d.ts.map +1 -0
- package/dist/highlighter/backends/shiki.js +107 -0
- package/dist/highlighter/backends/shiki.js.map +1 -0
- package/dist/highlighter/highlighterType.d.ts +13 -0
- package/dist/highlighter/highlighterType.d.ts.map +1 -0
- package/dist/highlighter/highlighterType.js +32 -0
- package/dist/highlighter/highlighterType.js.map +1 -0
- package/dist/highlighter/highlights-editor.d.ts +24 -0
- package/dist/highlighter/highlights-editor.d.ts.map +1 -0
- package/dist/highlighter/highlights-editor.js +166 -0
- package/dist/highlighter/highlights-editor.js.map +1 -0
- package/dist/highlighter/highlights-stream.d.ts +20 -0
- package/dist/highlighter/highlights-stream.d.ts.map +1 -0
- package/dist/highlighter/highlights-stream.js +93 -0
- package/dist/highlighter/highlights-stream.js.map +1 -0
- package/dist/highlighter/languages/areLanguagesAttached.d.ts +2 -1
- package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
- package/dist/highlighter/languages/areLanguagesAttached.js +4 -6
- package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts +6 -1
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.js +6 -11
- package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
- package/dist/highlighter/languages/constants.d.ts +1 -1
- package/dist/highlighter/languages/getResolvedLanguages.d.ts +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -1
- package/dist/highlighter/languages/resolveLanguage.d.ts +1 -1
- package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/resolveLanguage.js +19 -16
- package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
- package/dist/highlighter/languages/resolveLanguages.d.ts +1 -1
- package/dist/highlighter/shared_highlighter.d.ts +24 -9
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.js +59 -47
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/highlighter/shiki-editor.d.ts +25 -0
- package/dist/highlighter/shiki-editor.d.ts.map +1 -0
- package/dist/highlighter/shiki-editor.js +483 -0
- package/dist/highlighter/shiki-editor.js.map +1 -0
- package/dist/highlighter/shiki-stream.d.ts +20 -0
- package/dist/highlighter/shiki-stream.d.ts.map +1 -0
- package/dist/highlighter/shiki-stream.js +60 -0
- package/dist/highlighter/shiki-stream.js.map +1 -0
- package/dist/highlighter/stream-tokenizer.d.ts +40 -0
- package/dist/highlighter/stream-tokenizer.d.ts.map +1 -0
- package/dist/highlighter/stream-tokenizer.js +70 -0
- package/dist/highlighter/stream-tokenizer.js.map +1 -0
- package/dist/highlighter/themes/areThemesAttached.d.ts +3 -2
- package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
- package/dist/highlighter/themes/areThemesAttached.js +5 -4
- package/dist/highlighter/themes/areThemesAttached.js.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.d.ts +5 -2
- package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.js +4 -16
- package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts +3 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.js +8 -5
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/createCSSVariablesTheme.d.ts +7 -0
- package/dist/highlighter/themes/createCSSVariablesTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/createCSSVariablesTheme.js +89 -0
- package/dist/highlighter/themes/createCSSVariablesTheme.js.map +1 -0
- package/dist/highlighter/themes/createCachedLoader.d.ts +5 -0
- package/dist/highlighter/themes/createCachedLoader.d.ts.map +1 -0
- package/dist/highlighter/themes/createCachedLoader.js +15 -0
- package/dist/highlighter/themes/createCachedLoader.js.map +1 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +3 -2
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js +4 -4
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.d.ts +3 -2
- package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.js +4 -3
- package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.d.ts +2 -2
- package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.js +4 -3
- 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 +3 -3
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.d.ts +9 -4
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.js +8 -16
- package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveTheme.d.ts +3 -2
- package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveTheme.js +4 -7
- package/dist/highlighter/themes/resolveTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveThemes.d.ts +3 -2
- package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveThemes.js +4 -7
- package/dist/highlighter/themes/resolveThemes.js.map +1 -1
- package/dist/highlighter/themes/themeResolver.d.ts +10 -4
- package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
- package/dist/highlighter/themes/themeResolver.js +141 -2
- package/dist/highlighter/themes/themeResolver.js.map +1 -1
- package/dist/highlighter/themes/types.d.ts +23 -0
- package/dist/highlighter/themes/types.d.ts.map +1 -0
- package/dist/highlighter/themes/types.js +0 -0
- package/dist/highlighter/tokenizer-types.d.ts +35 -0
- package/dist/highlighter/tokenizer-types.d.ts.map +1 -0
- package/dist/highlighter/tokenizer-types.js +0 -0
- package/dist/highlighter/types.d.ts +55 -0
- package/dist/highlighter/types.d.ts.map +1 -0
- package/dist/highlighter/types.js +0 -0
- package/dist/index.d.ts +22 -13
- package/dist/index.js +21 -18
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/InteractionManager.js +2 -2
- package/dist/managers/InteractionManager.js.map +1 -1
- package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +9 -1
- package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -1
- package/dist/react/CodeView.d.ts +4 -3
- package/dist/react/CodeView.d.ts.map +1 -1
- package/dist/react/CodeView.js +47 -38
- package/dist/react/CodeView.js.map +1 -1
- package/dist/react/File.js +3 -3
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.js +3 -3
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.js +2 -2
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.js +3 -3
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.js +2 -2
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/index.d.ts +9 -4
- package/dist/react/types.d.ts +4 -2
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +1 -1
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.js +1 -1
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.d.ts +1 -0
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +29 -24
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.d.ts +2 -0
- package/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileInstance.js +38 -28
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useForceUpdate.d.ts +5 -0
- package/dist/react/utils/useForceUpdate.d.ts.map +1 -0
- package/dist/react/utils/useForceUpdate.js +27 -0
- package/dist/react/utils/useForceUpdate.js.map +1 -0
- package/dist/react/utils/useNextRenderData.d.ts +9 -0
- package/dist/react/utils/useNextRenderData.d.ts.map +1 -0
- package/dist/react/utils/useNextRenderData.js +9 -0
- package/dist/react/utils/useNextRenderData.js.map +1 -0
- package/dist/react/utils/useUnresolvedFileInstance.d.ts +1 -0
- package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +26 -11
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +4 -2
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +82 -43
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +6 -2
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +77 -43
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/dist/shiki-stream/index.d.ts +3 -3
- package/dist/shiki-stream/index.js +1 -2
- package/dist/shiki-stream/stream.d.ts +4 -4
- package/dist/shiki-stream/stream.d.ts.map +1 -1
- package/dist/shiki-stream/stream.js +20 -9
- package/dist/shiki-stream/stream.js.map +1 -1
- package/dist/shiki-stream/types.d.ts +7 -38
- package/dist/shiki-stream/types.d.ts.map +1 -1
- package/dist/ssr/index.d.ts +7 -2
- package/dist/ssr/renderHTML.js +2 -2
- package/dist/ssr/renderHTML.js.map +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +20 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/canUseWASM.d.ts +13 -0
- package/dist/utils/canUseWASM.d.ts.map +1 -0
- package/dist/utils/canUseWASM.js +59 -0
- package/dist/utils/canUseWASM.js.map +1 -0
- package/dist/utils/createSpanNodeFromToken.d.ts +3 -2
- package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
- package/dist/utils/createSpanNodeFromToken.js +4 -5
- package/dist/utils/createSpanNodeFromToken.js.map +1 -1
- package/dist/utils/cssWrappers.d.ts.map +1 -1
- package/dist/utils/cssWrappers.js +12 -0
- package/dist/utils/cssWrappers.js.map +1 -1
- package/dist/utils/getCodeViewItemRenderData.d.ts +10 -0
- package/dist/utils/getCodeViewItemRenderData.d.ts.map +1 -0
- package/dist/utils/getCodeViewItemRenderData.js +19 -0
- package/dist/utils/getCodeViewItemRenderData.js.map +1 -0
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
- package/dist/utils/getHighlighterOptions.js +3 -2
- package/dist/utils/getHighlighterOptions.js.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.d.ts +2 -1
- package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.js +13 -3
- package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
- package/dist/utils/getTokenOptions.d.ts +7 -0
- package/dist/utils/getTokenOptions.d.ts.map +1 -0
- package/dist/utils/getTokenOptions.js +16 -0
- package/dist/utils/getTokenOptions.js.map +1 -0
- package/dist/utils/hastToHtml.d.ts +10 -0
- package/dist/utils/hastToHtml.d.ts.map +1 -0
- package/dist/utils/hastToHtml.js +125 -0
- package/dist/utils/hastToHtml.js.map +1 -0
- package/dist/utils/hydratePartialDiff.js +4 -0
- package/dist/utils/hydratePartialDiff.js.map +1 -1
- package/dist/utils/parseDiffDecorations.d.ts +2 -1
- package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.js +2 -0
- package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
- package/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/dist/utils/parsePatchFiles.js +24 -4
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.d.ts +3 -2
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +33 -48
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.d.ts +3 -2
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +10 -26
- package/dist/utils/renderFileWithHighlighter.js.map +1 -1
- package/dist/utils/renderTokenLines.d.ts +22 -0
- package/dist/utils/renderTokenLines.d.ts.map +1 -0
- package/dist/utils/renderTokenLines.js +250 -0
- package/dist/utils/renderTokenLines.js.map +1 -0
- package/dist/utils/resolvePreferredHighlighter.d.ts +13 -0
- package/dist/utils/resolvePreferredHighlighter.d.ts.map +1 -0
- package/dist/utils/resolvePreferredHighlighter.js +11 -0
- package/dist/utils/resolvePreferredHighlighter.js.map +1 -0
- package/dist/utils/resolveRegion.js +20 -10
- package/dist/utils/resolveRegion.js.map +1 -1
- package/dist/utils/setDeferredArrayItem.d.ts +5 -0
- package/dist/utils/setDeferredArrayItem.d.ts.map +1 -0
- package/dist/utils/setDeferredArrayItem.js +39 -0
- package/dist/utils/setDeferredArrayItem.js.map +1 -0
- package/dist/utils/tokenStyle.d.ts +11 -0
- package/dist/utils/tokenStyle.d.ts.map +1 -0
- package/dist/utils/tokenStyle.js +32 -0
- package/dist/utils/tokenStyle.js.map +1 -0
- package/dist/utils/tokensToHtml.d.ts +11 -0
- package/dist/utils/tokensToHtml.d.ts.map +1 -0
- package/dist/utils/tokensToHtml.js +48 -0
- package/dist/utils/tokensToHtml.js.map +1 -0
- package/dist/utils/updateDiffHunks.d.ts +2 -2
- package/dist/utils/updateDiffHunks.d.ts.map +1 -1
- package/dist/utils/updateDiffHunks.js +7 -3
- package/dist/utils/updateDiffHunks.js.map +1 -1
- package/dist/utils/wrapTokenFragments.js.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +14 -2
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +155 -67
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/hastLinesTransport.d.ts +14 -0
- package/dist/worker/hastLinesTransport.d.ts.map +1 -0
- package/dist/worker/hastLinesTransport.js +156 -0
- package/dist/worker/hastLinesTransport.js.map +1 -0
- package/dist/worker/highlights-CpZm9DAR.js +317 -0
- package/dist/worker/highlights-CpZm9DAR.js.map +1 -0
- package/dist/worker/index.d.ts +1 -1
- package/dist/worker/shiki-Ci4cdHsM.js +697 -0
- package/dist/worker/shiki-Ci4cdHsM.js.map +1 -0
- package/dist/worker/stream-tokenizer-DK9xp5M5.js +427 -0
- package/dist/worker/stream-tokenizer-DK9xp5M5.js.map +1 -0
- package/dist/worker/types.d.ts +16 -3
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/worker-portable.js +41 -13337
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +681 -349
- package/dist/worker/worker.js.map +1 -1
- package/dist/worker/workerMessage.d.ts +24 -0
- package/dist/worker/workerMessage.d.ts.map +1 -0
- package/dist/worker/workerMessage.js +0 -0
- package/package.json +5 -3
- package/dist/highlighter/themes/constants.d.ts +0 -5
- package/dist/highlighter/themes/constants.d.ts.map +0 -1
- package/dist/highlighter/themes/constants.js +0 -6
- package/dist/highlighter/themes/constants.js.map +0 -1
- package/dist/highlighter/themes/themeResolution.d.ts +0 -7
- package/dist/highlighter/themes/themeResolution.d.ts.map +0 -1
- package/dist/highlighter/themes/themeResolution.js +0 -21
- package/dist/highlighter/themes/themeResolution.js.map +0 -1
- package/dist/shiki-stream/tokenizer.d.ts +0 -23
- package/dist/shiki-stream/tokenizer.d.ts.map +0 -1
- package/dist/shiki-stream/tokenizer.js +0 -72
- package/dist/shiki-stream/tokenizer.js.map +0 -1
- package/dist/utils/createTransformerWithState.d.ts +0 -12
- package/dist/utils/createTransformerWithState.d.ts.map +0 -1
- package/dist/utils/createTransformerWithState.js +0 -89
- package/dist/utils/createTransformerWithState.js.map +0 -1
- package/dist/worker/wasm-B9ZqxnKj.js +0 -8
- package/dist/worker/wasm-B9ZqxnKj.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { DiffsStreamTokenizer, DiffsStreamTokenizerEnqueueResult } from "./tokenizer-types.js";
|
|
2
|
+
import { ThemedToken } from "./types.js";
|
|
3
|
+
//#region src/highlighter/stream-tokenizer.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The final line stays provisional until a line break or stream close.
|
|
6
|
+
* A trailing CR waits for the next chunk, which may complete a CRLF pair.
|
|
7
|
+
* Token offsets are absolute UTF-16 positions in the stream.
|
|
8
|
+
*/
|
|
9
|
+
declare abstract class BaseStreamTokenizer implements DiffsStreamTokenizer {
|
|
10
|
+
protected disposed: boolean;
|
|
11
|
+
/** Stream offset of the provisional line's first character. */
|
|
12
|
+
protected stableOffset: number;
|
|
13
|
+
protected unstable: ThemedToken[];
|
|
14
|
+
protected pendingCarriageReturn: string;
|
|
15
|
+
enqueue(chunk: string): DiffsStreamTokenizerEnqueueResult;
|
|
16
|
+
/**
|
|
17
|
+
* Append completed lines to stable, using pushLineBreak for their endings.
|
|
18
|
+
* Return the unfinished line's tokens and UTF-16 length.
|
|
19
|
+
*/
|
|
20
|
+
protected abstract tokenizeChunk(chunk: string, stable: ThemedToken[]): {
|
|
21
|
+
unstable: ThemedToken[];
|
|
22
|
+
tailLength: number;
|
|
23
|
+
};
|
|
24
|
+
/** Emit one token per line-break character and move past the line. */
|
|
25
|
+
protected pushLineBreak(stable: ThemedToken[], lineLength: number, lineBreak: string): void;
|
|
26
|
+
close(): {
|
|
27
|
+
stable: ThemedToken[];
|
|
28
|
+
};
|
|
29
|
+
clear(): void;
|
|
30
|
+
abstract clone(): DiffsStreamTokenizer;
|
|
31
|
+
dispose(): void;
|
|
32
|
+
protected copyStateTo(clone: BaseStreamTokenizer): void;
|
|
33
|
+
protected assertActive(): void;
|
|
34
|
+
/** Forget the provisional line and any lexer state. */
|
|
35
|
+
protected abstract resetSource(): void;
|
|
36
|
+
protected abstract releaseSource(): void;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { BaseStreamTokenizer };
|
|
40
|
+
//# sourceMappingURL=stream-tokenizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-tokenizer.d.ts","names":[],"sources":["../../src/highlighter/stream-tokenizer.ts"],"mappings":";;;;;;;;uBAWsB,+BAA+B;YACzC;;YAEA;YACA,UAAU;YACV;EAEV,QAAQ,gBAAgB;;;;;qBAmBL,cACjB,eACA,QAAQ;IACL,UAAU;IAAe;;;YAGpB,cACR,QAAQ,eACR,oBACA;EAWF;IAAW,QAAQ;;EAMnB;WAQS,SAAS;EAElB;YAOU,YAAY,OAAO;YAMnB;;qBAKS;qBAEA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
//#region src/highlighter/stream-tokenizer.ts
|
|
2
|
+
/**
|
|
3
|
+
* The final line stays provisional until a line break or stream close.
|
|
4
|
+
* A trailing CR waits for the next chunk, which may complete a CRLF pair.
|
|
5
|
+
* Token offsets are absolute UTF-16 positions in the stream.
|
|
6
|
+
*/
|
|
7
|
+
var BaseStreamTokenizer = class {
|
|
8
|
+
disposed = false;
|
|
9
|
+
/** Stream offset of the provisional line's first character. */
|
|
10
|
+
stableOffset = 0;
|
|
11
|
+
unstable = [];
|
|
12
|
+
pendingCarriageReturn = "";
|
|
13
|
+
enqueue(chunk) {
|
|
14
|
+
this.assertActive();
|
|
15
|
+
chunk = this.pendingCarriageReturn + chunk;
|
|
16
|
+
this.pendingCarriageReturn = chunk.endsWith("\r") ? "\r" : "";
|
|
17
|
+
if (this.pendingCarriageReturn !== "") chunk = chunk.slice(0, -1);
|
|
18
|
+
const recall = this.unstable.length;
|
|
19
|
+
const stable = [];
|
|
20
|
+
const { unstable, tailLength } = this.tokenizeChunk(chunk, stable);
|
|
21
|
+
if (this.pendingCarriageReturn !== "") unstable.push({
|
|
22
|
+
content: "\r",
|
|
23
|
+
offset: this.stableOffset + tailLength
|
|
24
|
+
});
|
|
25
|
+
this.unstable = unstable;
|
|
26
|
+
return {
|
|
27
|
+
recall,
|
|
28
|
+
stable,
|
|
29
|
+
unstable
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** Emit one token per line-break character and move past the line. */
|
|
33
|
+
pushLineBreak(stable, lineLength, lineBreak) {
|
|
34
|
+
for (let index = 0; index < lineBreak.length; index++) stable.push({
|
|
35
|
+
content: lineBreak[index],
|
|
36
|
+
offset: this.stableOffset + lineLength + index
|
|
37
|
+
});
|
|
38
|
+
this.stableOffset += lineLength + lineBreak.length;
|
|
39
|
+
}
|
|
40
|
+
close() {
|
|
41
|
+
const stable = this.unstable;
|
|
42
|
+
this.dispose();
|
|
43
|
+
return { stable };
|
|
44
|
+
}
|
|
45
|
+
clear() {
|
|
46
|
+
this.assertActive();
|
|
47
|
+
this.stableOffset = 0;
|
|
48
|
+
this.unstable = [];
|
|
49
|
+
this.pendingCarriageReturn = "";
|
|
50
|
+
this.resetSource();
|
|
51
|
+
}
|
|
52
|
+
dispose() {
|
|
53
|
+
if (this.disposed) return;
|
|
54
|
+
this.disposed = true;
|
|
55
|
+
this.unstable = [];
|
|
56
|
+
this.releaseSource();
|
|
57
|
+
}
|
|
58
|
+
copyStateTo(clone) {
|
|
59
|
+
clone.stableOffset = this.stableOffset;
|
|
60
|
+
clone.unstable = this.unstable.slice();
|
|
61
|
+
clone.pendingCarriageReturn = this.pendingCarriageReturn;
|
|
62
|
+
}
|
|
63
|
+
assertActive() {
|
|
64
|
+
if (this.disposed) throw new Error("stream tokenizer is disposed");
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
//#endregion
|
|
68
|
+
export { BaseStreamTokenizer };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=stream-tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-tokenizer.js","names":[],"sources":["../../src/highlighter/stream-tokenizer.ts"],"sourcesContent":["import type {\n DiffsStreamTokenizer,\n DiffsStreamTokenizerEnqueueResult,\n} from './tokenizer-types';\nimport type { ThemedToken } from './types';\n\n/**\n * The final line stays provisional until a line break or stream close.\n * A trailing CR waits for the next chunk, which may complete a CRLF pair.\n * Token offsets are absolute UTF-16 positions in the stream.\n */\nexport abstract class BaseStreamTokenizer implements DiffsStreamTokenizer {\n protected disposed = false;\n /** Stream offset of the provisional line's first character. */\n protected stableOffset = 0;\n protected unstable: ThemedToken[] = [];\n protected pendingCarriageReturn = '';\n\n enqueue(chunk: string): DiffsStreamTokenizerEnqueueResult {\n this.assertActive();\n chunk = this.pendingCarriageReturn + chunk;\n this.pendingCarriageReturn = chunk.endsWith('\\r') ? '\\r' : '';\n if (this.pendingCarriageReturn !== '') chunk = chunk.slice(0, -1);\n const recall = this.unstable.length;\n const stable: ThemedToken[] = [];\n const { unstable, tailLength } = this.tokenizeChunk(chunk, stable);\n // Include the pending CR so token contents still reproduce the input.\n if (this.pendingCarriageReturn !== '')\n unstable.push({ content: '\\r', offset: this.stableOffset + tailLength });\n this.unstable = unstable;\n return { recall, stable, unstable };\n }\n\n /**\n * Append completed lines to stable, using pushLineBreak for their endings.\n * Return the unfinished line's tokens and UTF-16 length.\n */\n protected abstract tokenizeChunk(\n chunk: string,\n stable: ThemedToken[]\n ): { unstable: ThemedToken[]; tailLength: number };\n\n /** Emit one token per line-break character and move past the line. */\n protected pushLineBreak(\n stable: ThemedToken[],\n lineLength: number,\n lineBreak: string\n ): void {\n for (let index = 0; index < lineBreak.length; index++) {\n stable.push({\n content: lineBreak[index],\n offset: this.stableOffset + lineLength + index,\n });\n }\n this.stableOffset += lineLength + lineBreak.length;\n }\n\n close(): { stable: ThemedToken[] } {\n const stable = this.unstable;\n this.dispose();\n return { stable };\n }\n\n clear(): void {\n this.assertActive();\n this.stableOffset = 0;\n this.unstable = [];\n this.pendingCarriageReturn = '';\n this.resetSource();\n }\n\n abstract clone(): DiffsStreamTokenizer;\n\n dispose(): void {\n if (this.disposed) return;\n this.disposed = true;\n this.unstable = [];\n this.releaseSource();\n }\n\n protected copyStateTo(clone: BaseStreamTokenizer): void {\n clone.stableOffset = this.stableOffset;\n clone.unstable = this.unstable.slice();\n clone.pendingCarriageReturn = this.pendingCarriageReturn;\n }\n\n protected assertActive(): void {\n if (this.disposed) throw new Error('stream tokenizer is disposed');\n }\n\n /** Forget the provisional line and any lexer state. */\n protected abstract resetSource(): void;\n\n protected abstract releaseSource(): void;\n}\n"],"mappings":";;;;;;AAWA,IAAsB,sBAAtB,MAA0E;CACxE,WAAqB;;CAErB,eAAyB;CACzB,WAAoC,CAAC;CACrC,wBAAkC;CAElC,QAAQ,OAAkD;EACxD,KAAK,aAAa;EAClB,QAAQ,KAAK,wBAAwB;EACrC,KAAK,wBAAwB,MAAM,SAAS,IAAI,IAAI,OAAO;EAC3D,IAAI,KAAK,0BAA0B,IAAI,QAAQ,MAAM,MAAM,GAAG,EAAE;EAChE,MAAM,SAAS,KAAK,SAAS;EAC7B,MAAM,SAAwB,CAAC;EAC/B,MAAM,EAAE,UAAU,eAAe,KAAK,cAAc,OAAO,MAAM;EAEjE,IAAI,KAAK,0BAA0B,IACjC,SAAS,KAAK;GAAE,SAAS;GAAM,QAAQ,KAAK,eAAe;EAAW,CAAC;EACzE,KAAK,WAAW;EAChB,OAAO;GAAE;GAAQ;GAAQ;EAAS;CACpC;;CAYA,cACE,QACA,YACA,WACM;EACN,KAAK,IAAI,QAAQ,GAAG,QAAQ,UAAU,QAAQ,SAC5C,OAAO,KAAK;GACV,SAAS,UAAU;GACnB,QAAQ,KAAK,eAAe,aAAa;EAC3C,CAAC;EAEH,KAAK,gBAAgB,aAAa,UAAU;CAC9C;CAEA,QAAmC;EACjC,MAAM,SAAS,KAAK;EACpB,KAAK,QAAQ;EACb,OAAO,EAAE,OAAO;CAClB;CAEA,QAAc;EACZ,KAAK,aAAa;EAClB,KAAK,eAAe;EACpB,KAAK,WAAW,CAAC;EACjB,KAAK,wBAAwB;EAC7B,KAAK,YAAY;CACnB;CAIA,UAAgB;EACd,IAAI,KAAK,UAAU;EACnB,KAAK,WAAW;EAChB,KAAK,WAAW,CAAC;EACjB,KAAK,cAAc;CACrB;CAEA,YAAsB,OAAkC;EACtD,MAAM,eAAe,KAAK;EAC1B,MAAM,WAAW,KAAK,SAAS,MAAM;EACrC,MAAM,wBAAwB,KAAK;CACrC;CAEA,eAA+B;EAC7B,IAAI,KAAK,UAAU,MAAM,IAAI,MAAM,8BAA8B;CACnE;AAMF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DiffsHighlighter } from "../DiffsHighlighter.js";
|
|
2
|
+
import { DiffsThemeNames, HighlighterTypes, ThemesType } from "../../types.js";
|
|
2
3
|
//#region src/highlighter/themes/areThemesAttached.d.ts
|
|
3
|
-
declare function areThemesAttached(themes: DiffsThemeNames | ThemesType): boolean;
|
|
4
|
+
declare function areThemesAttached(themes: DiffsThemeNames | ThemesType, highlighter?: DiffsHighlighter | HighlighterTypes): boolean;
|
|
4
5
|
//#endregion
|
|
5
6
|
export { areThemesAttached };
|
|
6
7
|
//# sourceMappingURL=areThemesAttached.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areThemesAttached.d.ts","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"areThemesAttached.d.ts","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"mappings":";;;iBAUgB,kBACd,QAAQ,kBAAkB,YAC1B,cAAa,mBAAmB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { resolveHighlighterType } from "../highlighterType.js";
|
|
1
2
|
import { getThemes } from "../../utils/getThemes.js";
|
|
2
|
-
import {
|
|
3
|
+
import { createDiffsThemeResolver } from "./themeResolver.js";
|
|
3
4
|
//#region src/highlighter/themes/areThemesAttached.ts
|
|
4
|
-
function areThemesAttached(themes) {
|
|
5
|
-
|
|
6
|
-
return
|
|
5
|
+
function areThemesAttached(themes, highlighter = resolveHighlighterType()) {
|
|
6
|
+
if (typeof highlighter !== "string" && highlighter.isDisposed) return false;
|
|
7
|
+
return (typeof highlighter === "string" ? createDiffsThemeResolver(highlighter) : highlighter.themeResolver).hasResolvedThemes(getThemes(themes));
|
|
7
8
|
}
|
|
8
9
|
//#endregion
|
|
9
10
|
export { areThemesAttached };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areThemesAttached.js","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"areThemesAttached.js","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"sourcesContent":["import type {\n DiffsHighlighter,\n DiffsThemeNames,\n HighlighterTypes,\n ThemesType,\n} from '../../types';\nimport { getThemes } from '../../utils/getThemes';\nimport { resolveHighlighterType } from '../highlighterType';\nimport { createDiffsThemeResolver } from './themeResolver';\n\nexport function areThemesAttached(\n themes: DiffsThemeNames | ThemesType,\n highlighter: DiffsHighlighter | HighlighterTypes = resolveHighlighterType()\n): boolean {\n // Shared resolvers can retain themes after an instance is disposed.\n if (typeof highlighter !== 'string' && highlighter.isDisposed) {\n return false;\n }\n const resolver =\n typeof highlighter === 'string'\n ? createDiffsThemeResolver(highlighter)\n : highlighter.themeResolver;\n return resolver.hasResolvedThemes(getThemes(themes));\n}\n"],"mappings":";;;;AAUA,SAAgB,kBACd,QACA,cAAmD,uBAAuB,GACjE;CAET,IAAI,OAAO,gBAAgB,YAAY,YAAY,YACjD,OAAO;CAMT,QAHE,OAAO,gBAAgB,WACnB,yBAAyB,WAAW,IACpC,YAAY,cAAA,CACF,kBAAkB,UAAU,MAAM,CAAC;AACrD"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DiffsTheme } from "./types.js";
|
|
2
|
+
import { DiffsHighlighter } from "../DiffsHighlighter.js";
|
|
3
|
+
import { DiffsThemeNames } from "../../types.js";
|
|
2
4
|
//#region src/highlighter/themes/attachResolvedThemes.d.ts
|
|
3
|
-
|
|
5
|
+
/** Seed themes received from the main thread into the worker's backend resolver. */
|
|
6
|
+
declare function attachResolvedThemes(themes: DiffsThemeNames | DiffsTheme | (DiffsThemeNames | DiffsTheme)[], highlighter: DiffsHighlighter): void;
|
|
4
7
|
//#endregion
|
|
5
8
|
export { attachResolvedThemes };
|
|
6
9
|
//# sourceMappingURL=attachResolvedThemes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/attachResolvedThemes.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"attachResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/attachResolvedThemes.ts"],"mappings":";;;;;iBAIgB,qBACd,QAAQ,kBAAkB,cAAc,kBAAkB,eAC1D,aAAa"}
|
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
import { AttachedThemes } from "./constants.js";
|
|
2
|
-
import { themeResolver } from "./themeResolver.js";
|
|
3
1
|
//#region src/highlighter/themes/attachResolvedThemes.ts
|
|
2
|
+
/** Seed themes received from the main thread into the worker's backend resolver. */
|
|
4
3
|
function attachResolvedThemes(themes, highlighter) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (typeof themeRef === "string") {
|
|
9
|
-
resolvedTheme = themeResolver.getResolvedTheme(themeRef);
|
|
10
|
-
if (resolvedTheme == null) throw new Error(`loadResolvedThemes: ${themeRef} is not resolved, you must resolve it before calling loadResolvedThemes`);
|
|
11
|
-
} else {
|
|
12
|
-
resolvedTheme = themeRef;
|
|
13
|
-
themeRef = themeRef.name;
|
|
14
|
-
if (themeResolver.getResolvedTheme(themeRef) == null) themeResolver.seedResolvedTheme(themeRef, resolvedTheme);
|
|
15
|
-
}
|
|
16
|
-
if (AttachedThemes.has(themeRef)) continue;
|
|
17
|
-
AttachedThemes.add(themeRef);
|
|
18
|
-
highlighter.loadThemeSync(resolvedTheme);
|
|
4
|
+
for (const theme of Array.isArray(themes) ? themes : [themes]) {
|
|
5
|
+
const resolved = typeof theme === "string" ? highlighter.themeResolver.getResolvedThemes([theme])[0] : theme;
|
|
6
|
+
highlighter.themeResolver.seedResolvedTheme(resolved.name, resolved);
|
|
19
7
|
}
|
|
20
8
|
}
|
|
21
9
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/attachResolvedThemes.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"attachResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/attachResolvedThemes.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames } from '../../types';\nimport type { DiffsTheme } from './types';\n\n/** Seed themes received from the main thread into the worker's backend resolver. */\nexport function attachResolvedThemes(\n themes: DiffsThemeNames | DiffsTheme | (DiffsThemeNames | DiffsTheme)[],\n highlighter: DiffsHighlighter\n): void {\n for (const theme of Array.isArray(themes) ? themes : [themes]) {\n const resolved =\n typeof theme === 'string'\n ? highlighter.themeResolver.getResolvedThemes([theme])[0]\n : theme;\n highlighter.themeResolver.seedResolvedTheme(resolved.name, resolved);\n }\n}\n"],"mappings":";;AAIA,SAAgB,qBACd,QACA,aACM;CACN,KAAK,MAAM,SAAS,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG;EAC7D,MAAM,WACJ,OAAO,UAAU,WACb,YAAY,cAAc,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KACrD;EACN,YAAY,cAAc,kBAAkB,SAAS,MAAM,QAAQ;CACrE;AACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { HighlighterTypes } from "../../types.js";
|
|
1
2
|
//#region src/highlighter/themes/cleanUpResolvedThemes.d.ts
|
|
2
|
-
|
|
3
|
+
/** Clear cached themes while preserving custom registrations for future instances. */
|
|
4
|
+
declare function cleanUpResolvedThemes(backend?: HighlighterTypes): void;
|
|
3
5
|
//#endregion
|
|
4
6
|
export { cleanUpResolvedThemes };
|
|
5
7
|
//# sourceMappingURL=cleanUpResolvedThemes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanUpResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanUpResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.ts"],"mappings":";;;iBAIgB,sBAAsB,UAAU"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { themeResolver } from "./themeResolver.js";
|
|
1
|
+
import { createDiffsThemeResolver } from "./themeResolver.js";
|
|
3
2
|
//#region src/highlighter/themes/cleanUpResolvedThemes.ts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/** Clear cached themes while preserving custom registrations for future instances. */
|
|
4
|
+
function cleanUpResolvedThemes(backend) {
|
|
5
|
+
for (const name of backend == null ? [
|
|
6
|
+
"shiki-js",
|
|
7
|
+
"shiki-wasm",
|
|
8
|
+
"highlights"
|
|
9
|
+
] : [backend]) createDiffsThemeResolver(name).clearResolvedThemes();
|
|
7
10
|
}
|
|
8
11
|
//#endregion
|
|
9
12
|
export { cleanUpResolvedThemes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanUpResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"cleanUpResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.ts"],"sourcesContent":["import type { HighlighterTypes } from '../../types';\nimport { createDiffsThemeResolver } from './themeResolver';\n\n/** Clear cached themes while preserving custom registrations for future instances. */\nexport function cleanUpResolvedThemes(backend?: HighlighterTypes): void {\n for (const name of backend == null\n ? (['shiki-js', 'shiki-wasm', 'highlights'] as const)\n : [backend]) {\n createDiffsThemeResolver(name).clearResolvedThemes();\n }\n}\n"],"mappings":";;;AAIA,SAAgB,sBAAsB,SAAkC;CACtE,KAAK,MAAM,QAAQ,WAAW,OACzB;EAAC;EAAY;EAAc;CAAY,IACxC,CAAC,OAAO,GACV,yBAAyB,IAAI,CAAC,CAAC,oBAAoB;AAEvD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CSSVariablesThemeOptions, DiffsTheme } from "./types.js";
|
|
2
|
+
//#region src/highlighter/themes/createCSSVariablesTheme.d.ts
|
|
3
|
+
/** A CSS palette shared by TextMate scopes and Highlights syntax categories. */
|
|
4
|
+
declare function createCSSVariablesTheme({ name, variablePrefix, variableDefaults, fontStyle }?: CSSVariablesThemeOptions): DiffsTheme;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { createCSSVariablesTheme };
|
|
7
|
+
//# sourceMappingURL=createCSSVariablesTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCSSVariablesTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/createCSSVariablesTheme.ts"],"mappings":";;;iBAKgB,0BACd,MACA,gBACA,kBACA,cACC,2BAAgC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
//#region src/highlighter/themes/createCSSVariablesTheme.ts
|
|
2
|
+
/** A CSS palette shared by TextMate scopes and Highlights syntax categories. */
|
|
3
|
+
function createCSSVariablesTheme({ name = "css-variables", variablePrefix = "--diffs-", variableDefaults = {}, fontStyle = true } = {}) {
|
|
4
|
+
const variable = (key) => {
|
|
5
|
+
const fallback = variableDefaults[key];
|
|
6
|
+
return `var(${variablePrefix}${key}${fallback != null && fallback !== "" ? `, ${fallback}` : ""})`;
|
|
7
|
+
};
|
|
8
|
+
const fg = variable("foreground");
|
|
9
|
+
const bg = variable("background");
|
|
10
|
+
const colors = {
|
|
11
|
+
"editor.foreground": fg,
|
|
12
|
+
"editor.background": bg
|
|
13
|
+
};
|
|
14
|
+
for (const color of [
|
|
15
|
+
"black",
|
|
16
|
+
"red",
|
|
17
|
+
"green",
|
|
18
|
+
"yellow",
|
|
19
|
+
"blue",
|
|
20
|
+
"magenta",
|
|
21
|
+
"cyan",
|
|
22
|
+
"white"
|
|
23
|
+
]) {
|
|
24
|
+
const title = color[0].toUpperCase() + color.slice(1);
|
|
25
|
+
colors[`terminal.ansi${title}`] = variable(`ansi-${color}`);
|
|
26
|
+
colors[`terminal.ansiBright${title}`] = variable(`ansi-bright-${color}`);
|
|
27
|
+
}
|
|
28
|
+
const syntax = {
|
|
29
|
+
comment: "token-comment",
|
|
30
|
+
string: "token-string-expression",
|
|
31
|
+
"string.escape": "token-constant",
|
|
32
|
+
"text.literal": "token-string",
|
|
33
|
+
keyword: "token-keyword",
|
|
34
|
+
operator: "token-keyword",
|
|
35
|
+
preproc: "token-keyword",
|
|
36
|
+
boolean: "token-constant",
|
|
37
|
+
number: "token-constant",
|
|
38
|
+
constant: "token-constant",
|
|
39
|
+
property: "token-constant",
|
|
40
|
+
"property.json_key": "token-keyword",
|
|
41
|
+
"variable.special": "token-constant",
|
|
42
|
+
"variable.parameter": "token-parameter",
|
|
43
|
+
function: "token-function",
|
|
44
|
+
constructor: "token-function",
|
|
45
|
+
type: "token-function",
|
|
46
|
+
attribute: "token-function",
|
|
47
|
+
tag: "token-string-expression",
|
|
48
|
+
punctuation: "token-punctuation",
|
|
49
|
+
link_text: "token-link",
|
|
50
|
+
link_uri: "token-link",
|
|
51
|
+
"diff.plus": "token-inserted",
|
|
52
|
+
"diff.minus": "token-deleted"
|
|
53
|
+
};
|
|
54
|
+
if (fontStyle) {
|
|
55
|
+
syntax.emphasis = { font_style: "italic" };
|
|
56
|
+
syntax["emphasis.strong"] = { font_weight: 700 };
|
|
57
|
+
syntax.title = { font_weight: 700 };
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
name,
|
|
61
|
+
type: "dark",
|
|
62
|
+
fg,
|
|
63
|
+
bg,
|
|
64
|
+
colors,
|
|
65
|
+
cssVariables: {
|
|
66
|
+
name,
|
|
67
|
+
variablePrefix,
|
|
68
|
+
variableDefaults,
|
|
69
|
+
fontStyle
|
|
70
|
+
},
|
|
71
|
+
zed: {
|
|
72
|
+
name,
|
|
73
|
+
appearance: "dark",
|
|
74
|
+
cssVariables: {
|
|
75
|
+
prefix: variablePrefix,
|
|
76
|
+
defaults: variableDefaults
|
|
77
|
+
},
|
|
78
|
+
style: {
|
|
79
|
+
"editor.foreground": "foreground",
|
|
80
|
+
"editor.background": "background",
|
|
81
|
+
syntax
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { createCSSVariablesTheme };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=createCSSVariablesTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCSSVariablesTheme.js","names":[],"sources":["../../../src/highlighter/themes/createCSSVariablesTheme.ts"],"sourcesContent":["import type { ThemeStyle } from '@pierre/highlights';\n\nimport type { CSSVariablesThemeOptions, DiffsTheme } from './types';\n\n/** A CSS palette shared by TextMate scopes and Highlights syntax categories. */\nexport function createCSSVariablesTheme({\n name = 'css-variables',\n variablePrefix = '--diffs-',\n variableDefaults = {},\n fontStyle = true,\n}: CSSVariablesThemeOptions = {}): DiffsTheme {\n const variable = (key: string): string => {\n const fallback = variableDefaults[key];\n return `var(${variablePrefix}${key}${fallback != null && fallback !== '' ? `, ${fallback}` : ''})`;\n };\n const fg = variable('foreground');\n const bg = variable('background');\n const colors: Record<string, string> = {\n 'editor.foreground': fg,\n 'editor.background': bg,\n };\n for (const color of [\n 'black',\n 'red',\n 'green',\n 'yellow',\n 'blue',\n 'magenta',\n 'cyan',\n 'white',\n ]) {\n const title = color[0].toUpperCase() + color.slice(1);\n colors[`terminal.ansi${title}`] = variable(`ansi-${color}`);\n colors[`terminal.ansiBright${title}`] = variable(`ansi-bright-${color}`);\n }\n const syntax: NonNullable<ThemeStyle['syntax']> = {\n comment: 'token-comment',\n string: 'token-string-expression',\n 'string.escape': 'token-constant',\n 'text.literal': 'token-string',\n keyword: 'token-keyword',\n operator: 'token-keyword',\n preproc: 'token-keyword',\n boolean: 'token-constant',\n number: 'token-constant',\n constant: 'token-constant',\n property: 'token-constant',\n 'property.json_key': 'token-keyword',\n 'variable.special': 'token-constant',\n 'variable.parameter': 'token-parameter',\n function: 'token-function',\n constructor: 'token-function',\n type: 'token-function',\n attribute: 'token-function',\n tag: 'token-string-expression',\n punctuation: 'token-punctuation',\n link_text: 'token-link',\n link_uri: 'token-link',\n 'diff.plus': 'token-inserted',\n 'diff.minus': 'token-deleted',\n };\n if (fontStyle) {\n syntax.emphasis = { font_style: 'italic' };\n syntax['emphasis.strong'] = { font_weight: 700 };\n syntax.title = { font_weight: 700 };\n }\n return {\n name,\n type: 'dark',\n fg,\n bg,\n colors,\n cssVariables: { name, variablePrefix, variableDefaults, fontStyle },\n zed: {\n name,\n appearance: 'dark',\n cssVariables: { prefix: variablePrefix, defaults: variableDefaults },\n style: {\n 'editor.foreground': 'foreground',\n 'editor.background': 'background',\n syntax,\n },\n },\n };\n}\n"],"mappings":";;AAKA,SAAgB,wBAAwB,EACtC,OAAO,iBACP,iBAAiB,YACjB,mBAAmB,CAAC,GACpB,YAAY,SACgB,CAAC,GAAe;CAC5C,MAAM,YAAY,QAAwB;EACxC,MAAM,WAAW,iBAAiB;EAClC,OAAO,OAAO,iBAAiB,MAAM,YAAY,QAAQ,aAAa,KAAK,KAAK,aAAa,GAAG;CAClG;CACA,MAAM,KAAK,SAAS,YAAY;CAChC,MAAM,KAAK,SAAS,YAAY;CAChC,MAAM,SAAiC;EACrC,qBAAqB;EACrB,qBAAqB;CACvB;CACA,KAAK,MAAM,SAAS;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,GAAG;EACD,MAAM,QAAQ,MAAM,EAAE,CAAC,YAAY,IAAI,MAAM,MAAM,CAAC;EACpD,OAAO,gBAAgB,WAAW,SAAS,QAAQ,OAAO;EAC1D,OAAO,sBAAsB,WAAW,SAAS,eAAe,OAAO;CACzE;CACA,MAAM,SAA4C;EAChD,SAAS;EACT,QAAQ;EACR,iBAAiB;EACjB,gBAAgB;EAChB,SAAS;EACT,UAAU;EACV,SAAS;EACT,SAAS;EACT,QAAQ;EACR,UAAU;EACV,UAAU;EACV,qBAAqB;EACrB,oBAAoB;EACpB,sBAAsB;EACtB,UAAU;EACV,aAAa;EACb,MAAM;EACN,WAAW;EACX,KAAK;EACL,aAAa;EACb,WAAW;EACX,UAAU;EACV,aAAa;EACb,cAAc;CAChB;CACA,IAAI,WAAW;EACb,OAAO,WAAW,EAAE,YAAY,SAAS;EACzC,OAAO,qBAAqB,EAAE,aAAa,IAAI;EAC/C,OAAO,QAAQ,EAAE,aAAa,IAAI;CACpC;CACA,OAAO;EACL;EACA,MAAM;EACN;EACA;EACA;EACA,cAAc;GAAE;GAAM;GAAgB;GAAkB;EAAU;EAClE,KAAK;GACH;GACA,YAAY;GACZ,cAAc;IAAE,QAAQ;IAAgB,UAAU;GAAiB;GACnE,OAAO;IACL,qBAAqB;IACrB,qBAAqB;IACrB;GACF;EACF;CACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCachedLoader.d.ts","names":[],"sources":["../../../src/highlighter/themes/createCachedLoader.ts"],"mappings":";iBAAgB,mBAAmB,kBACjC,cAAc,QAAQ,WACf,IAAI,QAAQ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/highlighter/themes/createCachedLoader.ts
|
|
2
|
+
function createCachedLoader(loader) {
|
|
3
|
+
let cached;
|
|
4
|
+
return () => cached ??= loader().then((loaded) => {
|
|
5
|
+
cached = loaded;
|
|
6
|
+
return loaded;
|
|
7
|
+
}, (error) => {
|
|
8
|
+
cached = void 0;
|
|
9
|
+
throw error;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { createCachedLoader };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=createCachedLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCachedLoader.js","names":[],"sources":["../../../src/highlighter/themes/createCachedLoader.ts"],"sourcesContent":["export function createCachedLoader<T extends object>(\n loader: () => Promise<T>\n): () => T | Promise<T> {\n let cached: T | Promise<T> | undefined;\n return () =>\n (cached ??= loader().then(\n (loaded) => {\n cached = loaded;\n return loaded;\n },\n (error: unknown) => {\n cached = undefined;\n throw error;\n }\n ));\n}\n"],"mappings":";AAAA,SAAgB,mBACd,QACsB;CACtB,IAAI;CACJ,aACG,WAAW,OAAO,CAAC,CAAC,MAClB,WAAW;EACV,SAAS;EACT,OAAO;CACT,IACC,UAAmB;EAClB,SAAS,KAAA;EACT,MAAM;CACR,CACF;AACJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DiffsTheme } from "./types.js";
|
|
2
|
+
import { DiffsThemeNames, HighlighterTypes } from "../../types.js";
|
|
2
3
|
//#region src/highlighter/themes/getResolvedOrResolveTheme.d.ts
|
|
3
|
-
declare function getResolvedOrResolveTheme(themeName: DiffsThemeNames):
|
|
4
|
+
declare function getResolvedOrResolveTheme(themeName: DiffsThemeNames, backend?: HighlighterTypes): DiffsTheme | Promise<DiffsTheme>;
|
|
4
5
|
//#endregion
|
|
5
6
|
export { getResolvedOrResolveTheme };
|
|
6
7
|
//# sourceMappingURL=getResolvedOrResolveTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedOrResolveTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getResolvedOrResolveTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.ts"],"mappings":";;;iBAKgB,0BACd,WAAW,iBACX,UAAS,mBACR,aAAa,QAAQ"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { resolveHighlighterType } from "../highlighterType.js";
|
|
2
|
+
import { createDiffsThemeResolver } from "./themeResolver.js";
|
|
3
3
|
//#region src/highlighter/themes/getResolvedOrResolveTheme.ts
|
|
4
|
-
function getResolvedOrResolveTheme(themeName) {
|
|
5
|
-
return
|
|
4
|
+
function getResolvedOrResolveTheme(themeName, backend = resolveHighlighterType()) {
|
|
5
|
+
return createDiffsThemeResolver(backend).getResolvedOrResolveTheme(themeName);
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
8
|
export { getResolvedOrResolveTheme };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedOrResolveTheme.js","names":[],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.ts"],"sourcesContent":["import type { DiffsThemeNames,
|
|
1
|
+
{"version":3,"file":"getResolvedOrResolveTheme.js","names":[],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.ts"],"sourcesContent":["import type { DiffsThemeNames, HighlighterTypes } from '../../types';\nimport { resolveHighlighterType } from '../highlighterType';\nimport { createDiffsThemeResolver } from './themeResolver';\nimport type { DiffsTheme } from './types';\n\nexport function getResolvedOrResolveTheme(\n themeName: DiffsThemeNames,\n backend: HighlighterTypes = resolveHighlighterType()\n): DiffsTheme | Promise<DiffsTheme> {\n return createDiffsThemeResolver(backend).getResolvedOrResolveTheme(themeName);\n}\n"],"mappings":";;;AAKA,SAAgB,0BACd,WACA,UAA4B,uBAAuB,GACjB;CAClC,OAAO,yBAAyB,OAAO,CAAC,CAAC,0BAA0B,SAAS;AAC9E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DiffsTheme } from "./types.js";
|
|
2
|
+
import { DiffsThemeNames, HighlighterTypes } from "../../types.js";
|
|
2
3
|
//#region src/highlighter/themes/getResolvedThemes.d.ts
|
|
3
|
-
declare function getResolvedThemes(themeNames: DiffsThemeNames[]):
|
|
4
|
+
declare function getResolvedThemes(themeNames: DiffsThemeNames[], backend?: HighlighterTypes): DiffsTheme[];
|
|
4
5
|
//#endregion
|
|
5
6
|
export { getResolvedThemes };
|
|
6
7
|
//# sourceMappingURL=getResolvedThemes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedThemes.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedThemes.ts"],"mappings":";;;iBAKgB,kBACd,YAAY,mBACZ,UAAS,mBACR"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveHighlighterType } from "../highlighterType.js";
|
|
2
|
+
import { createDiffsThemeResolver } from "./themeResolver.js";
|
|
2
3
|
//#region src/highlighter/themes/getResolvedThemes.ts
|
|
3
|
-
function getResolvedThemes(themeNames) {
|
|
4
|
-
return
|
|
4
|
+
function getResolvedThemes(themeNames, backend = resolveHighlighterType()) {
|
|
5
|
+
return createDiffsThemeResolver(backend).getResolvedThemes(themeNames);
|
|
5
6
|
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { getResolvedThemes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/getResolvedThemes.ts"],"sourcesContent":["import type { DiffsThemeNames,
|
|
1
|
+
{"version":3,"file":"getResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/getResolvedThemes.ts"],"sourcesContent":["import type { DiffsThemeNames, HighlighterTypes } from '../../types';\nimport { resolveHighlighterType } from '../highlighterType';\nimport { createDiffsThemeResolver } from './themeResolver';\nimport type { DiffsTheme } from './types';\n\nexport function getResolvedThemes(\n themeNames: DiffsThemeNames[],\n backend: HighlighterTypes = resolveHighlighterType()\n): DiffsTheme[] {\n return createDiffsThemeResolver(backend).getResolvedThemes(themeNames);\n}\n"],"mappings":";;;AAKA,SAAgB,kBACd,YACA,UAA4B,uBAAuB,GACrC;CACd,OAAO,yBAAyB,OAAO,CAAC,CAAC,kBAAkB,UAAU;AACvE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DiffsThemeNames } from "../../types.js";
|
|
1
|
+
import { DiffsThemeNames, HighlighterTypes } from "../../types.js";
|
|
2
2
|
//#region src/highlighter/themes/hasResolvedThemes.d.ts
|
|
3
|
-
declare function hasResolvedThemes(themeNames: DiffsThemeNames[]): boolean;
|
|
3
|
+
declare function hasResolvedThemes(themeNames: DiffsThemeNames[], backend?: HighlighterTypes): boolean;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { hasResolvedThemes };
|
|
6
6
|
//# sourceMappingURL=hasResolvedThemes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/hasResolvedThemes.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"hasResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/hasResolvedThemes.ts"],"mappings":";;iBAIgB,kBACd,YAAY,mBACZ,UAAS"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveHighlighterType } from "../highlighterType.js";
|
|
2
|
+
import { createDiffsThemeResolver } from "./themeResolver.js";
|
|
2
3
|
//#region src/highlighter/themes/hasResolvedThemes.ts
|
|
3
|
-
function hasResolvedThemes(themeNames) {
|
|
4
|
-
return
|
|
4
|
+
function hasResolvedThemes(themeNames, backend = resolveHighlighterType()) {
|
|
5
|
+
return createDiffsThemeResolver(backend).hasResolvedThemes(themeNames);
|
|
5
6
|
}
|
|
6
7
|
//#endregion
|
|
7
8
|
export { hasResolvedThemes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/hasResolvedThemes.ts"],"sourcesContent":["import type { DiffsThemeNames } from '../../types';\nimport {
|
|
1
|
+
{"version":3,"file":"hasResolvedThemes.js","names":[],"sources":["../../../src/highlighter/themes/hasResolvedThemes.ts"],"sourcesContent":["import type { DiffsThemeNames, HighlighterTypes } from '../../types';\nimport { resolveHighlighterType } from '../highlighterType';\nimport { createDiffsThemeResolver } from './themeResolver';\n\nexport function hasResolvedThemes(\n themeNames: DiffsThemeNames[],\n backend: HighlighterTypes = resolveHighlighterType()\n): boolean {\n return createDiffsThemeResolver(backend).hasResolvedThemes(themeNames);\n}\n"],"mappings":";;;AAIA,SAAgB,kBACd,YACA,UAA4B,uBAAuB,GAC1C;CACT,OAAO,yBAAyB,OAAO,CAAC,CAAC,kBAAkB,UAAU;AACvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomCSSVariableTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"registerCustomCSSVariableTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.ts"],"mappings":";iBAIgB,+BACd,cACA,kBAAkB,wBAClB"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { formatCSSVariablePrefix } from "../../utils/formatCSSVariablePrefix.js";
|
|
2
|
+
import { createCSSVariablesTheme } from "./createCSSVariablesTheme.js";
|
|
2
3
|
import { registerCustomTheme } from "./registerCustomTheme.js";
|
|
3
|
-
import { createCssVariablesTheme } from "shiki";
|
|
4
4
|
//#region src/highlighter/themes/registerCustomCSSVariableTheme.ts
|
|
5
5
|
function registerCustomCSSVariableTheme(name, variableDefaults, fontStyle = false) {
|
|
6
|
-
const theme =
|
|
6
|
+
const theme = createCSSVariablesTheme({
|
|
7
7
|
name,
|
|
8
8
|
variablePrefix: formatCSSVariablePrefix("global"),
|
|
9
9
|
variableDefaults,
|
|
10
10
|
fontStyle
|
|
11
11
|
});
|
|
12
|
-
registerCustomTheme(name, () => Promise.resolve(theme));
|
|
12
|
+
registerCustomTheme(name, () => Promise.resolve(theme), "diffs");
|
|
13
13
|
}
|
|
14
14
|
//#endregion
|
|
15
15
|
export { registerCustomCSSVariableTheme };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomCSSVariableTheme.js","names":[
|
|
1
|
+
{"version":3,"file":"registerCustomCSSVariableTheme.js","names":[],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.ts"],"sourcesContent":["import { formatCSSVariablePrefix } from '../../utils/formatCSSVariablePrefix';\nimport { createCSSVariablesTheme } from './createCSSVariablesTheme';\nimport { registerCustomTheme } from './registerCustomTheme';\n\nexport function registerCustomCSSVariableTheme(\n name: string,\n variableDefaults: Record<string, string>,\n fontStyle: boolean = false\n): void {\n const theme = createCSSVariablesTheme({\n name,\n variablePrefix: formatCSSVariablePrefix('global'),\n variableDefaults,\n fontStyle,\n });\n registerCustomTheme(name, () => Promise.resolve(theme), 'diffs');\n}\n"],"mappings":";;;;AAIA,SAAgB,+BACd,MACA,kBACA,YAAqB,OACf;CACN,MAAM,QAAQ,wBAAwB;EACpC;EACA,gBAAgB,wBAAwB,QAAQ;EAChD;EACA;CACF,CAAC;CACD,oBAAoB,YAAY,QAAQ,QAAQ,KAAK,GAAG,OAAO;AACjE"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DiffsTheme } from "./types.js";
|
|
2
|
+
import { CustomThemeLoader } from "./themeResolver.js";
|
|
2
3
|
import { ThemeLoader } from "@pierre/theming";
|
|
4
|
+
import { ThemeRegistration } from "shiki";
|
|
5
|
+
import { Theme, ThemeFamily } from "@pierre/highlights";
|
|
3
6
|
//#region src/highlighter/themes/registerCustomTheme.d.ts
|
|
4
|
-
|
|
5
|
-
declare function registerCustomTheme(themeName: string, loader:
|
|
7
|
+
/** Register a lazy TextMate, Zed, or shared Diffs theme loader. */
|
|
8
|
+
declare function registerCustomTheme(themeName: string, loader: ThemeLoader<ThemeRegistration>, type?: 'textmate'): void;
|
|
9
|
+
declare function registerCustomTheme(themeName: string, loader: ThemeLoader<Theme | ThemeFamily>, type: 'zed'): void;
|
|
10
|
+
declare function registerCustomTheme(themeName: string, loader: ThemeLoader<DiffsTheme>, type: 'diffs'): void;
|
|
6
11
|
//#endregion
|
|
7
|
-
export { CustomThemeLoader, registerCustomTheme };
|
|
12
|
+
export { type CustomThemeLoader, registerCustomTheme };
|
|
8
13
|
//# sourceMappingURL=registerCustomTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomTheme.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerCustomTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomTheme.ts"],"mappings":";;;;;;;iBAagB,oBACd,mBACA,QAAQ,YAAY,oBACpB;iBAEc,oBACd,mBACA,QAAQ,YAAY,QAAW,cAC/B;iBAEc,oBACd,mBACA,QAAQ,YAAY,aACpB"}
|