@pierre/diffs 1.1.0-beta.6 → 1.1.0-beta.8
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/dist/components/AdvancedVirtualizedFileDiff.d.ts +40 -0
- package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +1 -0
- package/dist/components/AdvancedVirtualizedFileDiff.js +145 -0
- package/dist/components/AdvancedVirtualizedFileDiff.js.map +1 -0
- package/dist/components/AdvancedVirtualizer.d.ts +38 -0
- package/dist/components/AdvancedVirtualizer.d.ts.map +1 -0
- package/dist/components/AdvancedVirtualizer.js +201 -0
- package/dist/components/AdvancedVirtualizer.js.map +1 -0
- package/dist/components/File.d.ts +58 -33
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +223 -22
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +42 -16
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +505 -65
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.d.ts +5 -0
- package/dist/components/FileStream.d.ts.map +1 -1
- package/dist/components/FileStream.js +66 -8
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +33 -0
- package/dist/components/VirtualizedFile.d.ts.map +1 -0
- package/dist/components/VirtualizedFile.js +227 -0
- package/dist/components/VirtualizedFile.js.map +1 -0
- package/dist/components/VirtualizedFileDiff.d.ts +39 -0
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -0
- package/dist/components/VirtualizedFileDiff.js +316 -0
- package/dist/components/VirtualizedFileDiff.js.map +1 -0
- package/dist/components/Virtualizer.d.ts +63 -0
- package/dist/components/Virtualizer.d.ts.map +1 -0
- package/dist/components/Virtualizer.js +369 -0
- package/dist/components/Virtualizer.js.map +1 -0
- package/dist/components/VirtulizerDevelopment.d.ts +14 -0
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -0
- package/dist/components/web-components.d.ts +1 -1
- package/dist/components/web-components.d.ts.map +1 -1
- package/dist/constants.d.ts +4 -7
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +14 -6
- package/dist/constants.js.map +1 -1
- package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/constants.d.ts.map +1 -1
- package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -1
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
- package/dist/highlighter/languages/registerCustomLanguage.d.ts +11 -4
- package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +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/resolveLanguages.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/constants.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
- package/dist/index.d.ts +13 -10
- package/dist/index.js +10 -7
- package/dist/managers/LineSelectionManager.d.ts +14 -15
- package/dist/managers/LineSelectionManager.d.ts.map +1 -1
- package/dist/managers/LineSelectionManager.js +60 -71
- package/dist/managers/LineSelectionManager.js.map +1 -1
- package/dist/managers/MouseEventManager.d.ts +13 -6
- package/dist/managers/MouseEventManager.d.ts.map +1 -1
- package/dist/managers/MouseEventManager.js +161 -47
- package/dist/managers/MouseEventManager.js.map +1 -1
- package/dist/managers/ResizeManager.d.ts +6 -1
- package/dist/managers/ResizeManager.d.ts.map +1 -1
- package/dist/managers/ResizeManager.js +114 -64
- package/dist/managers/ResizeManager.js.map +1 -1
- package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
- package/dist/managers/UniversalRenderingManager.d.ts.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 +2 -1
- 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 +2 -1
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.d.ts +1 -0
- package/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/dist/react/MultiFileDiff.js +2 -1
- 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 +3 -2
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/Virtualizer.d.ts +25 -0
- package/dist/react/Virtualizer.d.ts.map +1 -0
- package/dist/react/Virtualizer.js +38 -0
- package/dist/react/Virtualizer.js.map +1 -0
- package/dist/react/WorkerPoolContext.d.ts.map +1 -1
- package/dist/react/WorkerPoolContext.js +1 -1
- package/dist/react/WorkerPoolContext.js.map +1 -1
- package/dist/react/constants.d.ts.map +1 -1
- package/dist/react/index.d.ts +3 -2
- package/dist/react/index.js +2 -1
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/react/types.d.ts +5 -3
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.d.ts +5 -5
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderFileChildren.d.ts +5 -5
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/dist/react/utils/templateRender.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +6 -2
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.d.ts +5 -3
- package/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileInstance.js +6 -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.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +15 -10
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +240 -136
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +12 -5
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +90 -31
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/shiki-stream/stream.d.ts +2 -2
- package/dist/shiki-stream/stream.d.ts.map +1 -1
- package/dist/shiki-stream/stream.js.map +1 -1
- package/dist/shiki-stream/tokenizer.d.ts +2 -2
- package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
- package/dist/shiki-stream/tokenizer.js.map +1 -1
- package/dist/shiki-stream/types.d.ts +18 -18
- package/dist/shiki-stream/types.d.ts.map +1 -1
- package/dist/sprite.d.ts +1 -1
- package/dist/sprite.d.ts.map +1 -1
- package/dist/ssr/FileDiffReact.d.ts.map +1 -1
- package/dist/ssr/FileDiffReact.js +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/preloadDiffs.d.ts.map +1 -1
- package/dist/ssr/preloadFile.d.ts.map +1 -1
- package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
- package/dist/ssr/preloadPatchFile.js.map +1 -1
- package/dist/ssr/renderHTML.d.ts.map +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +191 -172
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
- package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
- package/dist/utils/areFilesEqual.d.ts.map +1 -1
- package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
- package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
- package/dist/utils/areObjectsEqual.d.ts.map +1 -1
- package/dist/utils/areOptionsEqual.d.ts +1 -1
- package/dist/utils/areOptionsEqual.d.ts.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/areSelectionsEqual.d.ts.map +1 -1
- package/dist/utils/areThemesEqual.d.ts.map +1 -1
- package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
- package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
- package/dist/utils/cleanLastNewline.d.ts.map +1 -1
- package/dist/utils/createAnnotationElement.d.ts.map +1 -1
- package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
- package/dist/utils/createContentColumn.d.ts +7 -0
- package/dist/utils/createContentColumn.d.ts.map +1 -0
- package/dist/utils/createContentColumn.js +17 -0
- package/dist/utils/createContentColumn.js.map +1 -0
- package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
- package/dist/utils/createEmptyRowBuffer.js +2 -1
- package/dist/utils/createEmptyRowBuffer.js.map +1 -1
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
- package/dist/utils/createHoverContentNode.d.ts.map +1 -1
- package/dist/utils/createNoNewlineElement.d.ts +2 -1
- package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
- package/dist/utils/createNoNewlineElement.js +3 -6
- package/dist/utils/createNoNewlineElement.js.map +1 -1
- package/dist/utils/createPreElement.d.ts +2 -1
- package/dist/utils/createPreElement.d.ts.map +1 -1
- package/dist/utils/createPreElement.js +4 -3
- package/dist/utils/createPreElement.js.map +1 -1
- package/dist/utils/createRowNodes.d.ts.map +1 -1
- package/dist/utils/createSeparator.d.ts.map +1 -1
- package/dist/utils/createSeparator.js +1 -1
- package/dist/utils/createSeparator.js.map +1 -1
- package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
- package/dist/utils/createSpanNodeFromToken.js.map +1 -1
- package/dist/utils/createStyleElement.d.ts.map +1 -1
- package/dist/utils/createTransformerWithState.d.ts.map +1 -1
- package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
- package/dist/utils/cssWrappers.d.ts.map +1 -1
- package/dist/utils/diffAcceptRejectHunk.d.ts +1 -1
- package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
- package/dist/utils/formatCSSVariablePrefix.d.ts +1 -1
- package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
- package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
- package/dist/utils/getHunkSeparatorSlotName.d.ts +3 -1
- package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
- package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
- package/dist/utils/getIconForType.d.ts +1 -1
- package/dist/utils/getIconForType.d.ts.map +1 -1
- package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
- package/dist/utils/getLineEndingType.d.ts +1 -1
- package/dist/utils/getLineEndingType.d.ts.map +1 -1
- package/dist/utils/getLineNodes.d.ts.map +1 -1
- package/dist/utils/getOrCreateCodeNode.d.ts +4 -2
- package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
- package/dist/utils/getOrCreateCodeNode.js +9 -6
- package/dist/utils/getOrCreateCodeNode.js.map +1 -1
- package/dist/utils/getSingularPatch.d.ts.map +1 -1
- package/dist/utils/getThemes.d.ts.map +1 -1
- package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
- package/dist/utils/hast_utils.d.ts +6 -3
- package/dist/utils/hast_utils.d.ts.map +1 -1
- package/dist/utils/hast_utils.js +28 -4
- package/dist/utils/hast_utils.js.map +1 -1
- package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
- package/dist/utils/isWorkerContext.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.d.ts +26 -13
- package/dist/utils/iterateOverDiff.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.js +94 -55
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/iterateOverFile.d.ts +50 -0
- package/dist/utils/iterateOverFile.d.ts.map +1 -0
- package/dist/utils/iterateOverFile.js +49 -0
- package/dist/utils/iterateOverFile.js.map +1 -0
- package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
- package/dist/utils/parseDiffFromFile.d.ts +6 -6
- package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseDiffFromFile.js +3 -2
- package/dist/utils/parseDiffFromFile.js.map +1 -1
- package/dist/utils/parseLineType.d.ts +1 -1
- package/dist/utils/parseLineType.d.ts.map +1 -1
- package/dist/utils/parsePatchFiles.d.ts +12 -10
- package/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/dist/utils/parsePatchFiles.js +16 -9
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
- package/dist/utils/processLine.d.ts.map +1 -1
- package/dist/utils/processLine.js +7 -24
- package/dist/utils/processLine.js.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.d.ts +2 -2
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +15 -14
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.d.ts +7 -2
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +30 -4
- package/dist/utils/renderFileWithHighlighter.js.map +1 -1
- package/dist/utils/resolveVirtualFileMetrics.d.ts +7 -0
- package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -0
- package/dist/utils/resolveVirtualFileMetrics.js +24 -0
- package/dist/utils/resolveVirtualFileMetrics.js.map +1 -0
- package/dist/utils/setLanguageOverride.d.ts.map +1 -1
- package/dist/utils/setWrapperNodeProps.d.ts +1 -0
- package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
- package/dist/utils/setWrapperNodeProps.js +19 -12
- package/dist/utils/setWrapperNodeProps.js.map +1 -1
- package/dist/utils/splitFileContents.d.ts +12 -0
- package/dist/utils/splitFileContents.d.ts.map +1 -0
- package/dist/utils/splitFileContents.js +17 -0
- package/dist/utils/splitFileContents.js.map +1 -0
- package/dist/utils/trimPatchContext.d.ts +5 -5
- package/dist/utils/trimPatchContext.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +2 -2
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +36 -24
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
- package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
- package/dist/worker/types.d.ts +26 -26
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/worker-portable.js +323 -143
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +206 -106
- package/dist/worker/worker.js.map +1 -1
- package/package.json +52 -53
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","names":["COMMIT_METADATA_SPLIT
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":["HunkExpansionRegion","RenderRange","ThemesType","VirtualFileMetrics","DIFFS_TAG_NAME","COMMIT_METADATA_SPLIT","RegExp","GIT_DIFF_FILE_BREAK_REGEX","UNIFIED_DIFF_FILE_BREAK_REGEX","FILE_CONTEXT_BLOB","HUNK_HEADER","SPLIT_WITH_NEWLINES","FILENAME_HEADER_REGEX","FILENAME_HEADER_REGEX_GIT","ALTERNATE_FILE_NAMES_GIT","INDEX_LINE_METADATA","HEADER_METADATA_SLOT_ID","DEFAULT_THEMES","UNSAFE_CSS_ATTRIBUTE","CORE_CSS_ATTRIBUTE","DEFAULT_COLLAPSED_CONTEXT_THRESHOLD","DEFAULT_VIRTUAL_FILE_METRICS","DEFAULT_EXPANDED_REGION","DEFAULT_RENDER_RANGE"],"sources":["../src/constants.d.ts"],"sourcesContent":["import type { HunkExpansionRegion, RenderRange, ThemesType, VirtualFileMetrics } from './types';\nexport declare const DIFFS_TAG_NAME: \"diffs-container\";\nexport declare const COMMIT_METADATA_SPLIT: RegExp;\nexport declare const GIT_DIFF_FILE_BREAK_REGEX: RegExp;\nexport declare const UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp;\nexport declare const FILE_CONTEXT_BLOB: RegExp;\nexport declare const HUNK_HEADER: RegExp;\nexport declare const SPLIT_WITH_NEWLINES: RegExp;\nexport declare const FILENAME_HEADER_REGEX: RegExp;\nexport declare const FILENAME_HEADER_REGEX_GIT: RegExp;\nexport declare const ALTERNATE_FILE_NAMES_GIT: RegExp;\nexport declare const INDEX_LINE_METADATA: RegExp;\nexport declare const HEADER_METADATA_SLOT_ID = \"header-metadata\";\nexport declare const DEFAULT_THEMES: ThemesType;\nexport declare const UNSAFE_CSS_ATTRIBUTE = \"data-unsafe-css\";\nexport declare const CORE_CSS_ATTRIBUTE = \"data-core-css\";\nexport declare const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;\nexport declare const DEFAULT_VIRTUAL_FILE_METRICS: VirtualFileMetrics;\nexport declare const DEFAULT_EXPANDED_REGION: HunkExpansionRegion;\nexport declare const DEFAULT_RENDER_RANGE: RenderRange;\n//# sourceMappingURL=constants.d.ts.map"],"mappings":";;;cACqBI;cACAC,uBAAuBC;AADvBF,cAEAG,yBAFiC,EAEND,MAFM;AACjCD,cAEAG,6BAF6B,EAEEF,MAFF;AAC7BC,cAEAE,iBAFiC,EAEdH,MAFQA;AAC3BE,cAEAE,WAFAF,EAEaF,MAFwB;AACrCG,cAEAE,mBAFmBL,EAEEA,MAFI;AACzBI,cAEAE,qBAFmB,EAEIN,MAFJ;AACnBK,cAEAE,yBAF2B,EAEAP,MAFA;AAC3BM,cAEAE,wBAFuBR,EAEGA,MAFG;AAC7BO,cAEAE,mBAFiC,EAEZT,MAFMA;AAC3BQ,cAEAE,uBAAAA,GAF0BV,iBAAM;AAChCS,cAEAE,cAF2B,EAEXf,UAFW;AAC3Bc,cAEAE,oBAAAA,GAFuB,iBAAA;AACvBD,cAEAE,kBAAAA,GAFgBjB,eAAU;AAC1BgB,cAEAE,mCAAAA,GAFoB,CAAA;AACpBD,cAEAE,4BAFkB,EAEYlB,kBAFZ;AAClBiB,cAEAE,uBAFmC,EAEVtB,mBAFU;AACnCqB,cAEAE,oBAFgD,EAE1BtB,WAFQE"}
|
package/dist/constants.js
CHANGED
|
@@ -17,17 +17,25 @@ const DEFAULT_THEMES = {
|
|
|
17
17
|
};
|
|
18
18
|
const UNSAFE_CSS_ATTRIBUTE = "data-unsafe-css";
|
|
19
19
|
const CORE_CSS_ATTRIBUTE = "data-core-css";
|
|
20
|
-
const LINE_HUNK_COUNT = 10;
|
|
21
|
-
const LINE_HEIGHT = 20;
|
|
22
|
-
const DIFF_HEADER_HEIGHT = 44;
|
|
23
|
-
const HUNK_SEPARATOR_HEIGHT = 32;
|
|
24
|
-
const FILE_GAP = 8;
|
|
25
20
|
const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;
|
|
21
|
+
const DEFAULT_VIRTUAL_FILE_METRICS = {
|
|
22
|
+
hunkLineCount: 50,
|
|
23
|
+
lineHeight: 20,
|
|
24
|
+
diffHeaderHeight: 44,
|
|
25
|
+
hunkSeparatorHeight: 32,
|
|
26
|
+
fileGap: 8
|
|
27
|
+
};
|
|
26
28
|
const DEFAULT_EXPANDED_REGION = Object.freeze({
|
|
27
29
|
fromStart: 0,
|
|
28
30
|
fromEnd: 0
|
|
29
31
|
});
|
|
32
|
+
const DEFAULT_RENDER_RANGE = {
|
|
33
|
+
startingLine: 0,
|
|
34
|
+
totalLines: Infinity,
|
|
35
|
+
bufferBefore: 0,
|
|
36
|
+
bufferAfter: 0
|
|
37
|
+
};
|
|
30
38
|
|
|
31
39
|
//#endregion
|
|
32
|
-
export { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES,
|
|
40
|
+
export { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE };
|
|
33
41
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["COMMIT_METADATA_SPLIT: RegExp","GIT_DIFF_FILE_BREAK_REGEX: RegExp","UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp","FILE_CONTEXT_BLOB: RegExp","HUNK_HEADER: RegExp","SPLIT_WITH_NEWLINES: RegExp","FILENAME_HEADER_REGEX: RegExp","FILENAME_HEADER_REGEX_GIT: RegExp","ALTERNATE_FILE_NAMES_GIT: RegExp","INDEX_LINE_METADATA: RegExp","DEFAULT_THEMES: ThemesType","DEFAULT_EXPANDED_REGION: HunkExpansionRegion"],"sources":["../src/constants.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"constants.js","names":["COMMIT_METADATA_SPLIT: RegExp","GIT_DIFF_FILE_BREAK_REGEX: RegExp","UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp","FILE_CONTEXT_BLOB: RegExp","HUNK_HEADER: RegExp","SPLIT_WITH_NEWLINES: RegExp","FILENAME_HEADER_REGEX: RegExp","FILENAME_HEADER_REGEX_GIT: RegExp","ALTERNATE_FILE_NAMES_GIT: RegExp","INDEX_LINE_METADATA: RegExp","DEFAULT_THEMES: ThemesType","DEFAULT_VIRTUAL_FILE_METRICS: VirtualFileMetrics","DEFAULT_EXPANDED_REGION: HunkExpansionRegion","DEFAULT_RENDER_RANGE: RenderRange"],"sources":["../src/constants.ts"],"sourcesContent":["import type {\n HunkExpansionRegion,\n RenderRange,\n ThemesType,\n VirtualFileMetrics,\n} from './types';\n\nexport const DIFFS_TAG_NAME = 'diffs-container' as const;\n\n// Misc patch/content parsing regexes\nexport const COMMIT_METADATA_SPLIT: RegExp = /(?=^From [a-f0-9]+ .+$)/m;\nexport const GIT_DIFF_FILE_BREAK_REGEX: RegExp = /(?=^diff --git)/gm;\nexport const UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp = /(?=^---\\s+\\S)/gm;\nexport const FILE_CONTEXT_BLOB: RegExp = /(?=^@@ )/gm;\nexport const HUNK_HEADER: RegExp =\n /^@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@(?: (.*))?/m;\nexport const SPLIT_WITH_NEWLINES: RegExp = /(?<=\\n)/;\nexport const FILENAME_HEADER_REGEX: RegExp = /^(---|\\+\\+\\+)\\s+([^\\t\\r\\n]+)/;\nexport const FILENAME_HEADER_REGEX_GIT: RegExp =\n /^(---|\\+\\+\\+)\\s+[ab]\\/([^\\t\\r\\n]+)/;\nexport const ALTERNATE_FILE_NAMES_GIT: RegExp =\n /^diff --git (?:\"a\\/(.+?)\"|a\\/(.+?)) (?:\"b\\/(.+?)\"|b\\/(.+?))$/;\nexport const INDEX_LINE_METADATA: RegExp =\n /^index ([0-9a-f]+)\\.\\.([0-9a-f]+)(?: (\\d+))?$/i;\n\nexport const HEADER_METADATA_SLOT_ID = 'header-metadata';\n\nexport const DEFAULT_THEMES: ThemesType = {\n dark: 'pierre-dark',\n light: 'pierre-light',\n};\n\nexport const UNSAFE_CSS_ATTRIBUTE = 'data-unsafe-css';\nexport const CORE_CSS_ATTRIBUTE = 'data-core-css';\n\nexport const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;\nexport const DEFAULT_VIRTUAL_FILE_METRICS: VirtualFileMetrics = {\n hunkLineCount: 50,\n lineHeight: 20,\n diffHeaderHeight: 44,\n hunkSeparatorHeight: 32,\n fileGap: 8,\n};\n\nexport const DEFAULT_EXPANDED_REGION: HunkExpansionRegion = Object.freeze({\n fromStart: 0,\n fromEnd: 0,\n});\n\nexport const DEFAULT_RENDER_RANGE: RenderRange = {\n startingLine: 0,\n totalLines: Infinity,\n bufferBefore: 0,\n bufferAfter: 0,\n};\n"],"mappings":";AAOA,MAAa,iBAAiB;AAG9B,MAAaA,wBAAgC;AAC7C,MAAaC,4BAAoC;AACjD,MAAaC,gCAAwC;AACrD,MAAaC,oBAA4B;AACzC,MAAaC,cACX;AACF,MAAaC,sBAA8B;AAC3C,MAAaC,wBAAgC;AAC7C,MAAaC,4BACX;AACF,MAAaC,2BACX;AACF,MAAaC,sBACX;AAEF,MAAa,0BAA0B;AAEvC,MAAaC,iBAA6B;CACxC,MAAM;CACN,OAAO;CACR;AAED,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;AAElC,MAAa,sCAAsC;AACnD,MAAaC,+BAAmD;CAC9D,eAAe;CACf,YAAY;CACZ,kBAAkB;CAClB,qBAAqB;CACrB,SAAS;CACV;AAED,MAAaC,0BAA+C,OAAO,OAAO;CACxE,WAAW;CACX,SAAS;CACV,CAAC;AAEF,MAAaC,uBAAoC;CAC/C,cAAc;CACd,YAAY;CACZ,cAAc;CACd,aAAa;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areLanguagesAttached.d.ts","names":[],"sources":["../../../src/highlighter/languages/areLanguagesAttached.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"areLanguagesAttached.d.ts","names":["SupportedLanguages","areLanguagesAttached"],"sources":["../../../src/highlighter/languages/areLanguagesAttached.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nexport declare function areLanguagesAttached(languages: SupportedLanguages | SupportedLanguages[]): boolean;\n//# sourceMappingURL=areLanguagesAttached.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,YAAgCD,qBAAqBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"attachResolvedLanguages.d.ts","names":["DiffsHighlighter","ResolvedLanguage","attachResolvedLanguages"],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.d.ts"],"sourcesContent":["import type { DiffsHighlighter } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function attachResolvedLanguages(resolvedLanguages: ResolvedLanguage | ResolvedLanguage[], highlighter: DiffsHighlighter): void;\n//# sourceMappingURL=attachResolvedLanguages.d.ts.map"],"mappings":";;;;;iBAEwBE,uBAAAA,oBAA2CD,mBAAmBA,iCAAiCD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanUpResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.ts"],"sourcesContent":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cleanUpResolvedLanguages.d.ts","names":["cleanUpResolvedLanguages"],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.d.ts"],"sourcesContent":["export declare function cleanUpResolvedLanguages(): void;\n//# sourceMappingURL=cleanUpResolvedLanguages.d.ts.map"],"mappings":";iBAAwBA,wBAAAA,CAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","names":["
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":["DynamicImportLanguageRegistration","SupportedLanguages","ResolvedLanguage","ResolvedLanguages","Map","ResolvingLanguages","Promise","RegisteredCustomLanguages","AttachedLanguages","Set"],"sources":["../../../src/highlighter/languages/constants.d.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\nimport type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare const ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage>;\nexport declare const ResolvingLanguages: Map<SupportedLanguages, Promise<ResolvedLanguage>>;\nexport declare const RegisteredCustomLanguages: Map<string, DynamicImportLanguageRegistration>;\nexport declare const AttachedLanguages: Set<string>;\n//# sourceMappingURL=constants.d.ts.map"],"mappings":";;;;;;cAGqBG,mBAAmBC,IAAIH,oBAAoBC;cAC3CG,oBAAoBD,IAAIH,oBAAoBK,QAAQJ;cACpDK,2BAA2BH,YAAYJ;AAFvCG,cAGAK,iBAH4D,EAGzCC,GAHyC,CAAA,MAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/getResolvedLanguages.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getResolvedLanguages.d.ts","names":["SupportedLanguages","ResolvedLanguage","getResolvedLanguages"],"sources":["../../../src/highlighter/languages/getResolvedLanguages.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function getResolvedLanguages(languages: SupportedLanguages[]): ResolvedLanguage[];\n//# sourceMappingURL=getResolvedLanguages.d.ts.map"],"mappings":";;;;;iBAEwBE,oBAAAA,YAAgCF,uBAAuBC"}
|
|
@@ -3,7 +3,7 @@ import { ResolvedLanguage } from "../../worker/types.js";
|
|
|
3
3
|
import "../../worker/index.js";
|
|
4
4
|
|
|
5
5
|
//#region src/highlighter/languages/getResolvedOrResolveLanguage.d.ts
|
|
6
|
-
declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages,
|
|
6
|
+
declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages, 'text' | 'ansi'>): ResolvedLanguage | Promise<ResolvedLanguage>;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { getResolvedOrResolveLanguage };
|
|
9
9
|
//# sourceMappingURL=getResolvedOrResolveLanguage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedOrResolveLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getResolvedOrResolveLanguage.d.ts","names":["SupportedLanguages","ResolvedLanguage","getResolvedOrResolveLanguage","Exclude","Promise"],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages, 'text' | 'ansi'>): ResolvedLanguage | Promise<ResolvedLanguage>;\n//# sourceMappingURL=getResolvedOrResolveLanguage.d.ts.map"],"mappings":";;;;;iBAEwBE,4BAAAA,WAAuCC,QAAQH,uCAAuCC,mBAAmBG,QAAQH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hasResolvedLanguages.d.ts","names":["SupportedLanguages","hasResolvedLanguages"],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nexport declare function hasResolvedLanguages(languages: SupportedLanguages | SupportedLanguages[]): boolean;\n//# sourceMappingURL=hasResolvedLanguages.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,YAAgCD,qBAAqBA"}
|
|
@@ -3,10 +3,17 @@ import { DynamicImportLanguageRegistration } from "shiki";
|
|
|
3
3
|
//#region src/highlighter/languages/registerCustomLanguage.d.ts
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Register a custom language loader and optionally map it to
|
|
7
|
-
* file names or extensions.
|
|
8
|
-
*/
|
|
9
|
-
declare function registerCustomLanguage(lang: string, loader: DynamicImportLanguageRegistration,
|
|
6
|
+
* Register a custom language loader and optionally map it to
|
|
7
|
+
* file names or extensions.
|
|
8
|
+
*/
|
|
9
|
+
declare function registerCustomLanguage(lang: string, loader: DynamicImportLanguageRegistration,
|
|
10
|
+
/**
|
|
11
|
+
* File names or extensions to map to this language. Use exact filenames
|
|
12
|
+
* (e.g., "Dockerfile", "CMakeLists.txt") or extension tokens without a dot
|
|
13
|
+
* (e.g., "proto", "foo"). Compound extensions are supported
|
|
14
|
+
* (e.g., "blade.php").
|
|
15
|
+
*/
|
|
16
|
+
extensionsOrFilenames?: string[]): void;
|
|
10
17
|
//#endregion
|
|
11
18
|
export { registerCustomLanguage };
|
|
12
19
|
//# sourceMappingURL=registerCustomLanguage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/registerCustomLanguage.ts"],"sourcesContent":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"registerCustomLanguage.d.ts","names":["DynamicImportLanguageRegistration","registerCustomLanguage"],"sources":["../../../src/highlighter/languages/registerCustomLanguage.d.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\n/**\n * Register a custom language loader and optionally map it to\n * file names or extensions.\n */\nexport declare function registerCustomLanguage(lang: string, 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 */\nextensionsOrFilenames?: string[]): void;\n//# sourceMappingURL=registerCustomLanguage.d.ts.map"],"mappings":";;;;;;AAKA;;iBAAwBC,sBAAAA,uBAA6CD"}
|
|
@@ -3,7 +3,7 @@ import { ResolvedLanguage } from "../../worker/types.js";
|
|
|
3
3
|
import "../../worker/index.js";
|
|
4
4
|
|
|
5
5
|
//#region src/highlighter/languages/resolveLanguage.d.ts
|
|
6
|
-
declare function resolveLanguage(lang: Exclude<SupportedLanguages,
|
|
6
|
+
declare function resolveLanguage(lang: Exclude<SupportedLanguages, 'text' | 'ansi'>): Promise<ResolvedLanguage>;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { resolveLanguage };
|
|
9
9
|
//# sourceMappingURL=resolveLanguage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/resolveLanguage.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"resolveLanguage.d.ts","names":["SupportedLanguages","ResolvedLanguage","resolveLanguage","Exclude","Promise"],"sources":["../../../src/highlighter/languages/resolveLanguage.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function resolveLanguage(lang: Exclude<SupportedLanguages, 'text' | 'ansi'>): Promise<ResolvedLanguage>;\n//# sourceMappingURL=resolveLanguage.d.ts.map"],"mappings":";;;;;iBAEwBE,eAAAA,OAAsBC,QAAQH,uCAAuCI,QAAQH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/resolveLanguages.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"resolveLanguages.d.ts","names":["SupportedLanguages","ResolvedLanguage","resolveLanguages","Promise"],"sources":["../../../src/highlighter/languages/resolveLanguages.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function resolveLanguages(languages: SupportedLanguages[]): Promise<ResolvedLanguage[]>;\n//# sourceMappingURL=resolveLanguages.d.ts.map"],"mappings":";;;;;iBAEwBE,gBAAAA,YAA4BF,uBAAuBG,QAAQF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_highlighter.d.ts","names":[],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"shared_highlighter.d.ts","names":["DiffsHighlighter","DiffsThemeNames","SupportedLanguages","CachedOrLoadingHighlighterType","Promise","HighlighterOptions","getSharedHighlighter","themes","langs","isHighlighterLoaded","getHighlighterIfLoaded","isHighlighterLoading","isHighlighterNull","preloadHighlighter","disposeHighlighter"],"sources":["../../src/highlighter/shared_highlighter.d.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames, SupportedLanguages } from '../types';\ntype CachedOrLoadingHighlighterType = Promise<DiffsHighlighter> | DiffsHighlighter | undefined;\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n}\nexport declare function getSharedHighlighter({ themes, langs }: HighlighterOptions): Promise<DiffsHighlighter>;\nexport declare function isHighlighterLoaded(h?: CachedOrLoadingHighlighterType): h is DiffsHighlighter;\nexport declare function getHighlighterIfLoaded(): DiffsHighlighter | undefined;\nexport declare function isHighlighterLoading(h?: CachedOrLoadingHighlighterType): h is Promise<DiffsHighlighter>;\nexport declare function isHighlighterNull(h?: CachedOrLoadingHighlighterType): h is undefined;\nexport declare function preloadHighlighter(options: HighlighterOptions): Promise<void>;\nexport declare function disposeHighlighter(): Promise<void>;\nexport {};\n//# sourceMappingURL=shared_highlighter.d.ts.map"],"mappings":";;;KACKG,8BAAAA,GAAiCC,QAAQJ,oBAAoBA;UACxDK,kBAAAA;EADLF,MAAAA,EAEOF,eAFPE,EAAAA;EAAyCH,KAAAA,EAGnCE,kBAHmCF,EAAAA;;AAAoBA,iBAK1CM,oBAAAA,CAL0CN;EAAAA,MAAAA;EAAAA;AAAAA,CAAAA,EAKFK,kBALEL,CAAAA,EAKmBI,OALnBJ,CAK2BA,gBAL3BA,CAAAA;AAAgB,iBAM1DS,mBAAAA,CAN0D,CAAA,CAAA,EAMlCN,8BANkC,CAAA,EAAA,CAAA,IAMIH,gBANJ;AACxEK,iBAMcK,sBAAAA,CAAAA,CALZT,EAKsCD,gBAJvCE,GAAAA,SAAkB;AAELI,iBAGAK,oBAAAA,CAHoB,CAAA,CAAA,EAGKR,8BAHL,CAAA,EAAA,CAAA,IAG2CC,OAH3C,CAGmDJ,gBAHnD,CAAA;AAAGO,iBAIvBK,iBAAAA,CAJuBL,CAAAA,CAAAA,EAIDJ,8BAJCI,CAAAA,EAAAA,CAAAA,IAAAA,SAAAA;AAAQC,iBAK/BK,kBAAAA,CAL+BL,OAAAA,EAKHH,kBALGG,CAAAA,EAKkBJ,OALlBI,CAAAA,IAAAA,CAAAA;AAASH,iBAMxCS,kBAAAA,CAAAA,CANwCT,EAMlBD,OANkBC,CAAAA,IAAAA,CAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_highlighter.js","names":["highlighter: CachedOrLoadingHighlighterType","languageLoaders: Promise<ResolvedLanguage>[]","themeLoaders: Promise<ThemeRegistrationResolved>[]","themes"],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":["import { createHighlighter, createJavaScriptRegexEngine } from 'shiki';\n\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\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 { registerCustomTheme } from './themes/registerCustomTheme';\n\ntype CachedOrLoadingHighlighterType =\n | Promise<DiffsHighlighter>\n | DiffsHighlighter\n | undefined;\n\nlet highlighter: CachedOrLoadingHighlighterType;\n\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n}\n\nexport async function getSharedHighlighter({\n themes,\n langs,\n}: HighlighterOptions): Promise<DiffsHighlighter> {\n highlighter ??= createHighlighter({\n themes: [],\n langs: ['text'],\n engine: 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\nregisterCustomTheme('pierre-dark', () => {\n return import(
|
|
1
|
+
{"version":3,"file":"shared_highlighter.js","names":["highlighter: CachedOrLoadingHighlighterType","languageLoaders: Promise<ResolvedLanguage>[]","themeLoaders: Promise<ThemeRegistrationResolved>[]","themes"],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":["import { createHighlighter, createJavaScriptRegexEngine } from 'shiki';\n\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\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 { registerCustomTheme } from './themes/registerCustomTheme';\n\ntype CachedOrLoadingHighlighterType =\n | Promise<DiffsHighlighter>\n | DiffsHighlighter\n | undefined;\n\nlet highlighter: CachedOrLoadingHighlighterType;\n\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n}\n\nexport async function getSharedHighlighter({\n themes,\n langs,\n}: HighlighterOptions): Promise<DiffsHighlighter> {\n highlighter ??= createHighlighter({\n themes: [],\n langs: ['text'],\n engine: 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\nregisterCustomTheme('pierre-dark', () => {\n return import('../themes/pierre-dark.json') as unknown as Promise<ThemeRegistrationResolved>;\n});\n\nregisterCustomTheme('pierre-light', () => {\n return import('../themes/pierre-light.json') as unknown as Promise<ThemeRegistrationResolved>;\n});\n"],"mappings":";;;;;;;;;;AAsBA,IAAIA;AAOJ,eAAsB,qBAAqB,EACzC,QACA,SACgD;AAChD,iBAAgB,kBAAkB;EAChC,QAAQ,EAAE;EACV,OAAO,CAAC,OAAO;EACf,QAAQ,6BAA6B;EACtC,CAAC;CAEF,MAAM,WAAW,qBAAqB,YAAY,GAC9C,MAAM,cACN;AACJ,eAAc;CAEd,MAAMC,kBAA+C,EAAE;AACvD,MAAK,MAAM,YAAY,OAAO;AAC5B,MAAI,aAAa,UAAU,aAAa,OAAQ;EAChD,MAAM,wBAAwB,6BAA6B,SAAS;AACpE,MAAI,UAAU,sBACZ,iBAAgB,KAAK,sBAAsB;MAE3C,yBAAwB,uBAAuB,SAAS;;CAI5D,MAAMC,eAAqD,EAAE;AAC7D,MAAK,MAAM,aAAa,QAAQ;EAC9B,MAAM,qBAAqB,0BAA0B,UAAU;AAC/D,MAAI,UAAU,mBACZ,cAAa,KAAK,mBAAmB;MAErC,sBAAqB,oBAAoB,YAAY;;AAKzD,KAAI,gBAAgB,SAAS,KAAK,aAAa,SAAS,EACtD,OAAM,QAAQ,IAAI,CAChB,QAAQ,IAAI,gBAAgB,CAAC,MAAM,cAAc;AAC/C,0BAAwB,WAAW,SAAS;GAC5C,EACF,QAAQ,IAAI,aAAa,CAAC,MAAM,aAAW;AACzC,uBAAqBC,UAAQ,SAAS;GACtC,CACH,CAAC;AAGJ,QAAO;;AAGT,SAAgB,oBACd,IAAoC,aACb;AACvB,QAAO,KAAK,QAAQ,EAAE,UAAU;;AAGlC,SAAgB,yBAAuD;AACrE,KAAI,eAAe,QAAQ,EAAE,UAAU,aACrC,QAAO;;AAKX,SAAgB,qBACd,IAAoC,aACJ;AAChC,QAAO,KAAK,QAAQ,UAAU;;AAGhC,SAAgB,kBACd,IAAoC,aACpB;AAChB,QAAO,KAAK;;AAGd,eAAsB,mBACpB,SACe;AACR,CAAM,MAAM,qBAAqB,QAAQ;;AAGlD,eAAsB,qBAAoC;AACxD,KAAI,eAAe,KAAM;AACzB,EAAC,MAAM,aAAa,SAAS;AAC7B,2BAA0B;AAC1B,wBAAuB;AACvB,eAAc;;AAGhB,oBAAoB,qBAAqB;AACvC,QAAO,OAAO;EACd;AAEF,oBAAoB,sBAAsB;AACxC,QAAO,OAAO;EACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"areThemesAttached.d.ts","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"areThemesAttached.d.ts","names":["DiffsThemeNames","ThemesType","areThemesAttached"],"sources":["../../../src/highlighter/themes/areThemesAttached.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemesType } from '../../types';\nexport declare function areThemesAttached(themes: DiffsThemeNames | ThemesType): boolean;\n//# sourceMappingURL=areThemesAttached.d.ts.map"],"mappings":";;;iBACwBE,iBAAAA,SAA0BF,kBAAkBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/attachResolvedThemes.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"attachResolvedThemes.d.ts","names":["DiffsHighlighter","DiffsThemeNames","ThemeRegistrationResolved","attachResolvedThemes"],"sources":["../../../src/highlighter/themes/attachResolvedThemes.d.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function attachResolvedThemes(themes: DiffsThemeNames | ThemeRegistrationResolved | (DiffsThemeNames | ThemeRegistrationResolved)[], highlighter: DiffsHighlighter): void;\n//# sourceMappingURL=attachResolvedThemes.d.ts.map"],"mappings":";;;iBACwBG,oBAAAA,SAA6BF,kBAAkBC,6BAA6BD,kBAAkBC,2CAA2CF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanUpResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.ts"],"sourcesContent":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cleanUpResolvedThemes.d.ts","names":["cleanUpResolvedThemes"],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.d.ts"],"sourcesContent":["export declare function cleanUpResolvedThemes(): void;\n//# sourceMappingURL=cleanUpResolvedThemes.d.ts.map"],"mappings":";iBAAwBA,qBAAAA,CAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","names":["ResolvedThemes: Map<DiffsThemeNames, ThemeRegistrationResolved
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":["ThemeRegistration","ThemeRegistrationResolved","DiffsThemeNames","ResolvedThemes","Map","ResolvingThemes","Promise","RegisteredCustomThemes","AttachedThemes","Set"],"sources":["../../../src/highlighter/themes/constants.d.ts"],"sourcesContent":["import type { ThemeRegistration, ThemeRegistrationResolved } from 'shiki';\nimport type { DiffsThemeNames } from '../../types';\nexport declare const ResolvedThemes: Map<DiffsThemeNames, ThemeRegistrationResolved>;\nexport declare const ResolvingThemes: Map<DiffsThemeNames, Promise<ThemeRegistrationResolved>>;\nexport declare const RegisteredCustomThemes: Map<string, () => Promise<ThemeRegistrationResolved | ThemeRegistration>>;\nexport declare const AttachedThemes: Set<string>;\n//# sourceMappingURL=constants.d.ts.map"],"mappings":";;;;cAEqBG,gBAAgBC,IAAIF,iBAAiBD;cACrCI,iBAAiBD,IAAIF,iBAAiBI,QAAQL;AAD9CE,cAEAI,sBAF+D,EAEvCH,GAFuC,CAAA,MAAA,EAAA,GAAA,GAErBE,OAFqB,CAEbL,yBAFa,GAEeD,iBAFf,CAAA,CAAA;AAA3CE,cAGpBM,cAHoBN,EAGJO,GAHIP,CAAAA,MAAAA,CAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedOrResolveTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getResolvedOrResolveTheme.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","getResolvedOrResolveTheme","Promise"],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function getResolvedOrResolveTheme(themeName: DiffsThemeNames): ThemeRegistrationResolved | Promise<ThemeRegistrationResolved>;\n//# sourceMappingURL=getResolvedOrResolveTheme.d.ts.map"],"mappings":";;;iBACwBE,yBAAAA,YAAqCF,kBAAkBC,4BAA4BE,QAAQF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedThemes.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getResolvedThemes.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","getResolvedThemes"],"sources":["../../../src/highlighter/themes/getResolvedThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function getResolvedThemes(themeNames: DiffsThemeNames[]): ThemeRegistrationResolved[];\n//# sourceMappingURL=getResolvedThemes.d.ts.map"],"mappings":";;;iBACwBE,iBAAAA,aAA8BF,oBAAoBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/hasResolvedThemes.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hasResolvedThemes.d.ts","names":["DiffsThemeNames","hasResolvedThemes"],"sources":["../../../src/highlighter/themes/hasResolvedThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames } from '../../types';\nexport declare function hasResolvedThemes(themeNames: DiffsThemeNames[]): boolean;\n//# sourceMappingURL=hasResolvedThemes.d.ts.map"],"mappings":";;;iBACwBC,iBAAAA,aAA8BD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomCSSVariableTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.ts"],"sourcesContent":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"registerCustomCSSVariableTheme.d.ts","names":["registerCustomCSSVariableTheme","Record"],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.d.ts"],"sourcesContent":["export declare function registerCustomCSSVariableTheme(name: string, variableDefaults: Record<string, string>, fontStyle?: boolean): void;\n//# sourceMappingURL=registerCustomCSSVariableTheme.d.ts.map"],"mappings":";iBAAwBA,8BAAAA,iCAA+DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerCustomTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomTheme.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"registerCustomTheme.d.ts","names":["ThemeRegistration","ThemeRegistrationResolved","registerCustomTheme","Promise"],"sources":["../../../src/highlighter/themes/registerCustomTheme.d.ts"],"sourcesContent":["import type { ThemeRegistration, ThemeRegistrationResolved } from 'shiki';\nexport declare function registerCustomTheme(themeName: string, loader: () => Promise<ThemeRegistrationResolved | ThemeRegistration>): void;\n//# sourceMappingURL=registerCustomTheme.d.ts.map"],"mappings":";;;iBACwBE,mBAAAA,kCAAqDC,QAAQF,4BAA4BD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/resolveTheme.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resolveTheme.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","resolveTheme","Promise"],"sources":["../../../src/highlighter/themes/resolveTheme.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function resolveTheme(themeName: DiffsThemeNames): Promise<ThemeRegistrationResolved>;\n//# sourceMappingURL=resolveTheme.d.ts.map"],"mappings":";;;iBACwBE,YAAAA,YAAwBF,kBAAkBG,QAAQF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/resolveThemes.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resolveThemes.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","resolveThemes","Promise"],"sources":["../../../src/highlighter/themes/resolveThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function resolveThemes(themes: DiffsThemeNames[]): Promise<ThemeRegistrationResolved[]>;\n//# sourceMappingURL=resolveThemes.d.ts.map"],"mappings":";;;iBACwBE,aAAAA,SAAsBF,oBAAoBG,QAAQF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { AnnotationLineMap, AnnotationSide, AnnotationSpan, BaseCodeOptions, BaseDiffOptions, BundledLanguage, ChangeContent, ChangeTypes, CodeToHastOptions, ContextContent, DecorationItem, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata,
|
|
2
|
-
import {
|
|
3
|
-
import { LineSelectionManager, LineSelectionOptions, SelectedLineRange, SelectionSide, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
|
|
1
|
+
import { AnnotationLineMap, AnnotationSide, AnnotationSpan, BaseCodeOptions, BaseDiffOptions, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ContextContent, DecorationItem, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, VirtualFileMetrics, VirtualWindowSpecs } from "./types.js";
|
|
2
|
+
import { GetLineIndexUtility, LineSelectionManager, LineSelectionOptions, SelectedLineRange, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
|
|
4
3
|
import { GetHoveredLineResult, LogTypes, MouseEventManager, MouseEventManagerBaseOptions, MouseEventManagerMode, MouseEventManagerOptions, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, pluckMouseEventOptions } from "./managers/MouseEventManager.js";
|
|
5
|
-
import { File, FileHyrdateProps, FileOptions, FileRenderProps } from "./components/File.js";
|
|
6
4
|
import { ResizeManager } from "./managers/ResizeManager.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps } from "./components/FileDiff.js";
|
|
5
|
+
import { FileRenderResult, FileRenderer, FileRendererOptions } from "./renderers/FileRenderer.js";
|
|
6
|
+
import { File, FileHyrdateProps, FileOptions, FileRenderProps } from "./components/File.js";
|
|
10
7
|
import { CodeToTokenTransformStreamOptions, RecallToken, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions } from "./shiki-stream/types.js";
|
|
11
8
|
import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
|
|
12
9
|
import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
|
|
13
10
|
import { FileStream, FileStreamOptions } from "./components/FileStream.js";
|
|
11
|
+
import { Virtualizer, VirtualizerConfig } from "./components/Virtualizer.js";
|
|
12
|
+
import { VirtualizedFile } from "./components/VirtualizedFile.js";
|
|
13
|
+
import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
|
|
14
|
+
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
|
|
14
15
|
import { areLanguagesAttached } from "./highlighter/languages/areLanguagesAttached.js";
|
|
15
16
|
import { attachResolvedLanguages } from "./highlighter/languages/attachResolvedLanguages.js";
|
|
16
17
|
import { cleanUpResolvedLanguages } from "./highlighter/languages/cleanUpResolvedLanguages.js";
|
|
@@ -33,8 +34,9 @@ import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCus
|
|
|
33
34
|
import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
|
|
34
35
|
import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
|
|
35
36
|
import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
|
|
37
|
+
import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
|
|
36
38
|
import { queueRender } from "./managers/UniversalRenderingManager.js";
|
|
37
|
-
import {
|
|
39
|
+
import { DiffHunksRenderer, HunksRenderResult } from "./renderers/DiffHunksRenderer.js";
|
|
38
40
|
import { SVGSpriteNames, SVGSpriteSheet } from "./sprite.js";
|
|
39
41
|
import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
|
|
40
42
|
import { areFilesEqual } from "./utils/areFilesEqual.js";
|
|
@@ -78,7 +80,7 @@ import { getOrCreateCodeNode } from "./utils/getOrCreateCodeNode.js";
|
|
|
78
80
|
import { getSingularPatch } from "./utils/getSingularPatch.js";
|
|
79
81
|
import { getThemes } from "./utils/getThemes.js";
|
|
80
82
|
import { getTotalLineCountFromHunks } from "./utils/getTotalLineCountFromHunks.js";
|
|
81
|
-
import {
|
|
83
|
+
import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
|
|
82
84
|
import { isDefaultRenderRange } from "./utils/isDefaultRenderRange.js";
|
|
83
85
|
import { isWorkerContext } from "./utils/isWorkerContext.js";
|
|
84
86
|
import { createDiffSpanDecoration, pushOrJoinSpan } from "./utils/parseDiffDecorations.js";
|
|
@@ -92,5 +94,6 @@ import { renderFileWithHighlighter } from "./utils/renderFileWithHighlighter.js"
|
|
|
92
94
|
import { setLanguageOverride } from "./utils/setLanguageOverride.js";
|
|
93
95
|
import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
|
|
94
96
|
import { trimPatchContext } from "./utils/trimPatchContext.js";
|
|
97
|
+
import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps } from "./components/FileDiff.js";
|
|
95
98
|
import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
|
|
96
|
-
export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, ChangeContent, ChangeTypes, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, ContextContent, CreateFileHeaderElementProps, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES,
|
|
99
|
+
export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, ContextContent, CreateFileHeaderElementProps, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DecorationItem, DiffHunksRenderer, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, EXTENSION_TO_FILE_FORMAT, ExpansionDirections, ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileContents, FileDiff, FileDiffHydrationProps, FileDiffMetadata, FileDiffOptions, FileDiffRenderProps, FileHyrdateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, GapSpan, GetHoveredLineResult, GetLineIndexUtility, HEADER_METADATA_SLOT_ID, HUNK_HEADER, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSelectionManager, LineSelectionOptions, LineSpans, LineTypes, LogTypes, MouseEventManager, MouseEventManagerBaseOptions, MouseEventManagerMode, MouseEventManagerOptions, ObservedAnnotationNodes, ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, ParsedLine, ParsedPatch, PrePropertiesConfig, RecallToken, RegisteredCustomLanguages, RegisteredCustomThemes, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, SelectedLineRange, SelectionSide, SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, VirtualFileMetrics, VirtualWindowSpecs, VirtualizedFile, VirtualizedFileDiff, Virtualizer, VirtualizerConfig, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES,
|
|
1
|
+
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
|
|
2
2
|
import { areSelectionsEqual } from "./utils/areSelectionsEqual.js";
|
|
3
3
|
import { LineSelectionManager, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
|
|
4
4
|
import { MouseEventManager, pluckMouseEventOptions } from "./managers/MouseEventManager.js";
|
|
@@ -20,8 +20,9 @@ import { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHig
|
|
|
20
20
|
import { getThemes } from "./utils/getThemes.js";
|
|
21
21
|
import { areThemesAttached } from "./highlighter/themes/areThemesAttached.js";
|
|
22
22
|
import { hasResolvedThemes } from "./highlighter/themes/hasResolvedThemes.js";
|
|
23
|
+
import { areRenderRangesEqual } from "./utils/areRenderRangesEqual.js";
|
|
23
24
|
import { areThemesEqual } from "./utils/areThemesEqual.js";
|
|
24
|
-
import {
|
|
25
|
+
import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
|
|
25
26
|
import { createAnnotationElement } from "./utils/createAnnotationElement.js";
|
|
26
27
|
import { getIconForType } from "./utils/getIconForType.js";
|
|
27
28
|
import { createFileHeaderElement } from "./utils/createFileHeaderElement.js";
|
|
@@ -50,7 +51,6 @@ import { prerenderHTMLIfNecessary } from "./utils/prerenderHTMLIfNecessary.js";
|
|
|
50
51
|
import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
|
|
51
52
|
import { File } from "./components/File.js";
|
|
52
53
|
import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
|
|
53
|
-
import { areRenderRangesEqual } from "./utils/areRenderRangesEqual.js";
|
|
54
54
|
import { createEmptyRowBuffer } from "./utils/createEmptyRowBuffer.js";
|
|
55
55
|
import { createNoNewlineElement } from "./utils/createNoNewlineElement.js";
|
|
56
56
|
import { createSeparator } from "./utils/createSeparator.js";
|
|
@@ -69,9 +69,13 @@ import { FileDiff } from "./components/FileDiff.js";
|
|
|
69
69
|
import { queueRender } from "./managers/UniversalRenderingManager.js";
|
|
70
70
|
import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
|
|
71
71
|
import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
|
|
72
|
-
import { createRowNodes } from "./utils/createRowNodes.js";
|
|
73
72
|
import { createSpanFromToken } from "./utils/createSpanNodeFromToken.js";
|
|
74
73
|
import { FileStream } from "./components/FileStream.js";
|
|
74
|
+
import { VirtualizedFile } from "./components/VirtualizedFile.js";
|
|
75
|
+
import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
|
|
76
|
+
import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
|
|
77
|
+
import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
|
|
78
|
+
import { Virtualizer } from "./components/Virtualizer.js";
|
|
75
79
|
import { getResolvedLanguages } from "./highlighter/languages/getResolvedLanguages.js";
|
|
76
80
|
import { hasResolvedLanguages } from "./highlighter/languages/hasResolvedLanguages.js";
|
|
77
81
|
import { registerCustomLanguage } from "./highlighter/languages/registerCustomLanguage.js";
|
|
@@ -81,10 +85,9 @@ import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCus
|
|
|
81
85
|
import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
|
|
82
86
|
import { areObjectsEqual } from "./utils/areObjectsEqual.js";
|
|
83
87
|
import { areOptionsEqual } from "./utils/areOptionsEqual.js";
|
|
84
|
-
import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
|
|
85
88
|
import { areWorkerStatsEqual } from "./utils/areWorkerStatsEqual.js";
|
|
89
|
+
import { createRowNodes } from "./utils/createRowNodes.js";
|
|
86
90
|
import { createStyleElement } from "./utils/createStyleElement.js";
|
|
87
|
-
import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
|
|
88
91
|
import { diffAcceptRejectHunk } from "./utils/diffAcceptRejectHunk.js";
|
|
89
92
|
import { getLineEndingType } from "./utils/getLineEndingType.js";
|
|
90
93
|
import { getSingularPatch } from "./utils/getSingularPatch.js";
|
|
@@ -92,4 +95,4 @@ import { setLanguageOverride } from "./utils/setLanguageOverride.js";
|
|
|
92
95
|
import { trimPatchContext } from "./utils/trimPatchContext.js";
|
|
93
96
|
import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
|
|
94
97
|
|
|
95
|
-
export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, CodeToTokenTransformStream, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES,
|
|
98
|
+
export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, CodeToTokenTransformStream, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DiffHunksRenderer, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, LineSelectionManager, MouseEventManager, RegisteredCustomLanguages, RegisteredCustomThemes, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SelectionSide } from "../types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/managers/LineSelectionManager.d.ts
|
|
4
|
-
type SelectionSide = AnnotationSide;
|
|
5
4
|
interface SelectedLineRange {
|
|
6
5
|
start: number;
|
|
7
6
|
side?: SelectionSide;
|
|
8
7
|
end: number;
|
|
9
8
|
endSide?: SelectionSide;
|
|
10
9
|
}
|
|
10
|
+
type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;
|
|
11
11
|
interface LineSelectionOptions {
|
|
12
12
|
enableLineSelection?: boolean;
|
|
13
13
|
onLineSelected?: (range: SelectedLineRange | null) => void;
|
|
14
14
|
onLineSelectionStart?: (range: SelectedLineRange | null) => void;
|
|
15
15
|
onLineSelectionEnd?: (range: SelectedLineRange | null) => void;
|
|
16
|
+
getLineIndex?: GetLineIndexUtility;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
|
-
* Manages line selection state and interactions for code/diff viewers.
|
|
19
|
-
* Handles:
|
|
20
|
-
* - Click and drag selection
|
|
21
|
-
* - Shift-click to extend selection
|
|
22
|
-
* - DOM attribute updates (data-selected-line)
|
|
23
|
-
*/
|
|
19
|
+
* Manages line selection state and interactions for code/diff viewers.
|
|
20
|
+
* Handles:
|
|
21
|
+
* - Click and drag selection
|
|
22
|
+
* - Shift-click to extend selection
|
|
23
|
+
* - DOM attribute updates (data-selected-line)
|
|
24
|
+
*/
|
|
24
25
|
declare class LineSelectionManager {
|
|
25
26
|
private options;
|
|
26
27
|
private pre;
|
|
@@ -36,30 +37,28 @@ declare class LineSelectionManager {
|
|
|
36
37
|
isDirty(): boolean;
|
|
37
38
|
setSelection(range: SelectedLineRange | null): void;
|
|
38
39
|
getSelection(): SelectedLineRange | null;
|
|
40
|
+
getLineIndex(lineNumber: number, side?: SelectionSide): [number, number] | undefined;
|
|
39
41
|
private attachEventListeners;
|
|
40
42
|
private removeEventListeners;
|
|
41
43
|
private handleMouseDown;
|
|
42
44
|
private handleMouseMove;
|
|
43
45
|
private handleMouseUp;
|
|
44
46
|
private updateSelection;
|
|
45
|
-
private
|
|
47
|
+
private getIndexesFromSelection;
|
|
46
48
|
private renderSelection;
|
|
47
|
-
private deriveRowRangeFromDOM;
|
|
48
|
-
private findRowIndexForLineNumber;
|
|
49
49
|
private notifySelectionChange;
|
|
50
50
|
private notifySelectionStart;
|
|
51
51
|
private notifySelectionEnd;
|
|
52
52
|
private getMouseEventDataForPath;
|
|
53
53
|
private getLineNumber;
|
|
54
|
-
private
|
|
55
|
-
private getLineSideFromElement;
|
|
54
|
+
private parseLineIndex;
|
|
56
55
|
}
|
|
57
56
|
declare function pluckLineSelectionOptions({
|
|
58
57
|
enableLineSelection,
|
|
59
58
|
onLineSelected,
|
|
60
59
|
onLineSelectionStart,
|
|
61
60
|
onLineSelectionEnd
|
|
62
|
-
}: LineSelectionOptions): LineSelectionOptions;
|
|
61
|
+
}: LineSelectionOptions, getLineIndex?: GetLineIndexUtility): LineSelectionOptions;
|
|
63
62
|
//#endregion
|
|
64
|
-
export { LineSelectionManager, LineSelectionOptions, SelectedLineRange,
|
|
63
|
+
export { GetLineIndexUtility, LineSelectionManager, LineSelectionOptions, SelectedLineRange, pluckLineSelectionOptions };
|
|
65
64
|
//# sourceMappingURL=LineSelectionManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineSelectionManager.d.ts","names":["
|
|
1
|
+
{"version":3,"file":"LineSelectionManager.d.ts","names":["SelectionSide","SelectedLineRange","GetLineIndexUtility","LineSelectionOptions","LineSelectionManager","HTMLPreElement","pluckLineSelectionOptions","enableLineSelection","onLineSelected","onLineSelectionStart","onLineSelectionEnd"],"sources":["../../src/managers/LineSelectionManager.d.ts"],"sourcesContent":["import type { SelectionSide } from '../types';\nexport interface SelectedLineRange {\n start: number;\n side?: SelectionSide;\n end: number;\n endSide?: SelectionSide;\n}\nexport type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;\nexport interface LineSelectionOptions {\n enableLineSelection?: boolean;\n onLineSelected?: (range: SelectedLineRange | null) => void;\n onLineSelectionStart?: (range: SelectedLineRange | null) => void;\n onLineSelectionEnd?: (range: SelectedLineRange | null) => void;\n getLineIndex?: GetLineIndexUtility;\n}\n/**\n * Manages line selection state and interactions for code/diff viewers.\n * Handles:\n * - Click and drag selection\n * - Shift-click to extend selection\n * - DOM attribute updates (data-selected-line)\n */\nexport declare class LineSelectionManager {\n private options;\n private pre;\n private selectedRange;\n private renderedSelectionRange;\n private anchor;\n private _queuedRender;\n constructor(options?: LineSelectionOptions);\n setOptions(options: LineSelectionOptions): void;\n cleanUp(): void;\n setup(pre: HTMLPreElement): void;\n setDirty(): void;\n isDirty(): boolean;\n setSelection(range: SelectedLineRange | null): void;\n getSelection(): SelectedLineRange | null;\n getLineIndex(lineNumber: number, side?: SelectionSide): [number, number] | undefined;\n private attachEventListeners;\n private removeEventListeners;\n private handleMouseDown;\n private handleMouseMove;\n private handleMouseUp;\n private updateSelection;\n private getIndexesFromSelection;\n private renderSelection;\n private notifySelectionChange;\n private notifySelectionStart;\n private notifySelectionEnd;\n private getMouseEventDataForPath;\n private getLineNumber;\n private parseLineIndex;\n}\nexport declare function pluckLineSelectionOptions({ enableLineSelection, onLineSelected, onLineSelectionStart, onLineSelectionEnd }: LineSelectionOptions, getLineIndex?: GetLineIndexUtility): LineSelectionOptions;\n//# sourceMappingURL=LineSelectionManager.d.ts.map"],"mappings":";;;UACiBC,iBAAAA;;EAAAA,IAAAA,CAAAA,EAEND,aAFuB;EAMtBE,GAAAA,EAAAA,MAAAA;EACKC,OAAAA,CAAAA,EAHHH,aAGuB;;AAGFC,KAJvBC,mBAAAA,GAIuBD,CAAAA,UAAAA,EAAAA,MAAAA,EAAAA,IAAAA,CAAAA,EAJ2BD,aAI3BC,EAAAA,GAAAA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA,GAAAA,SAAAA;AACFA,UAJhBE,oBAAAA,CAIgBF;EACdC,mBAAAA,CAAAA,EAAAA,OAAAA;EAAmB,cAAA,CAAA,EAAA,CAAA,KAAA,EAHTD,iBAGS,GAAA,IAAA,EAAA,GAAA,IAAA;EASjBG,oBAAAA,CAAAA,EAAoB,CAAA,KAAA,EAXNH,iBAWM,GAAA,IAAA,EAAA,GAAA,IAAA;EAOfE,kBAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAjBOF,iBAiBPE,GAAAA,IAAAA,EAAAA,GAAAA,IAAAA;EACFA,YAAAA,CAAAA,EAjBLD,mBAiBKC;;;;;;AAuBxB;;;AAAyFM,cA/BpEL,oBAAAA,CA+BoEK;EAAsBC,QAAAA,OAAAA;EAAsBP,QAAAA,GAAAA;EAAqCD,QAAAA,aAAAA;EAAsBC,QAAAA,sBAAAA;EAAoB,QAAA,MAAA;;wBAxB1LA;sBACFA;;aAETE;;;sBAGSJ;kBACJA;0CACwBD;;;;;;;;;;;;;;;;iBAgBpBM,yBAAAA;;;;;GAA6GH,qCAAqCD,sBAAsBC"}
|