@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
|
@@ -11680,16 +11680,24 @@ const DEFAULT_THEMES = {
|
|
|
11680
11680
|
};
|
|
11681
11681
|
const UNSAFE_CSS_ATTRIBUTE = "data-unsafe-css";
|
|
11682
11682
|
const CORE_CSS_ATTRIBUTE = "data-core-css";
|
|
11683
|
-
const LINE_HUNK_COUNT = 10;
|
|
11684
|
-
const LINE_HEIGHT = 20;
|
|
11685
|
-
const DIFF_HEADER_HEIGHT = 44;
|
|
11686
|
-
const HUNK_SEPARATOR_HEIGHT = 32;
|
|
11687
|
-
const FILE_GAP = 8;
|
|
11688
11683
|
const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;
|
|
11684
|
+
const DEFAULT_VIRTUAL_FILE_METRICS = {
|
|
11685
|
+
hunkLineCount: 50,
|
|
11686
|
+
lineHeight: 20,
|
|
11687
|
+
diffHeaderHeight: 44,
|
|
11688
|
+
hunkSeparatorHeight: 32,
|
|
11689
|
+
fileGap: 8
|
|
11690
|
+
};
|
|
11689
11691
|
const DEFAULT_EXPANDED_REGION = Object.freeze({
|
|
11690
11692
|
fromStart: 0,
|
|
11691
11693
|
fromEnd: 0
|
|
11692
11694
|
});
|
|
11695
|
+
const DEFAULT_RENDER_RANGE = {
|
|
11696
|
+
startingLine: 0,
|
|
11697
|
+
totalLines: Infinity,
|
|
11698
|
+
bufferBefore: 0,
|
|
11699
|
+
bufferAfter: 0
|
|
11700
|
+
};
|
|
11693
11701
|
|
|
11694
11702
|
//#endregion
|
|
11695
11703
|
//#region src/highlighter/languages/constants.ts
|
|
@@ -11746,7 +11754,7 @@ function attachResolvedThemes(themes, highlighter$1) {
|
|
|
11746
11754
|
}
|
|
11747
11755
|
|
|
11748
11756
|
//#endregion
|
|
11749
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
11757
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/base.js
|
|
11750
11758
|
var Diff = class {
|
|
11751
11759
|
diff(oldStr, newStr, options = {}) {
|
|
11752
11760
|
let callback;
|
|
@@ -11970,7 +11978,7 @@ var Diff = class {
|
|
|
11970
11978
|
};
|
|
11971
11979
|
|
|
11972
11980
|
//#endregion
|
|
11973
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
11981
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/character.js
|
|
11974
11982
|
var CharacterDiff = class extends Diff {};
|
|
11975
11983
|
const characterDiff = new CharacterDiff();
|
|
11976
11984
|
function diffChars(oldStr, newStr, options) {
|
|
@@ -11978,7 +11986,7 @@ function diffChars(oldStr, newStr, options) {
|
|
|
11978
11986
|
}
|
|
11979
11987
|
|
|
11980
11988
|
//#endregion
|
|
11981
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
11989
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/util/string.js
|
|
11982
11990
|
function longestCommonPrefix(str1, str2) {
|
|
11983
11991
|
let i$2;
|
|
11984
11992
|
for (i$2 = 0; i$2 < str1.length && i$2 < str2.length; i$2++) {
|
|
@@ -12087,8 +12095,8 @@ function leadingWs(string) {
|
|
|
12087
12095
|
}
|
|
12088
12096
|
|
|
12089
12097
|
//#endregion
|
|
12090
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12091
|
-
const extendedWordChars = "a-zA-Z0-9_\\u{C0}-\\u{
|
|
12098
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/word.js
|
|
12099
|
+
const extendedWordChars = "a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}";
|
|
12092
12100
|
const tokenizeIncludingWhitespace = new RegExp(`[${extendedWordChars}]+|\\s+|[^${extendedWordChars}]`, "ug");
|
|
12093
12101
|
var WordDiff = class extends Diff {
|
|
12094
12102
|
equals(left, right, options) {
|
|
@@ -12105,7 +12113,15 @@ var WordDiff = class extends Diff {
|
|
|
12105
12113
|
if (segmenter.resolvedOptions().granularity != "word") {
|
|
12106
12114
|
throw new Error("The segmenter passed must have a granularity of \"word\"");
|
|
12107
12115
|
}
|
|
12108
|
-
parts =
|
|
12116
|
+
parts = [];
|
|
12117
|
+
for (const segmentObj of Array.from(segmenter.segment(value))) {
|
|
12118
|
+
const segment = segmentObj.segment;
|
|
12119
|
+
if (parts.length && /\s/.test(parts[parts.length - 1]) && /\s/.test(segment)) {
|
|
12120
|
+
parts[parts.length - 1] += segment;
|
|
12121
|
+
} else {
|
|
12122
|
+
parts.push(segment);
|
|
12123
|
+
}
|
|
12124
|
+
}
|
|
12109
12125
|
} else {
|
|
12110
12126
|
parts = value.match(tokenizeIncludingWhitespace) || [];
|
|
12111
12127
|
}
|
|
@@ -12233,7 +12249,7 @@ function diffWordsWithSpace(oldStr, newStr, options) {
|
|
|
12233
12249
|
}
|
|
12234
12250
|
|
|
12235
12251
|
//#endregion
|
|
12236
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12252
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/util/params.js
|
|
12237
12253
|
function generateOptions(options, defaults) {
|
|
12238
12254
|
if (typeof options === "function") {
|
|
12239
12255
|
defaults.callback = options;
|
|
@@ -12249,7 +12265,7 @@ function generateOptions(options, defaults) {
|
|
|
12249
12265
|
}
|
|
12250
12266
|
|
|
12251
12267
|
//#endregion
|
|
12252
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12268
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/line.js
|
|
12253
12269
|
var LineDiff = class extends Diff {
|
|
12254
12270
|
constructor() {
|
|
12255
12271
|
super(...arguments);
|
|
@@ -12302,7 +12318,7 @@ function tokenize(value, options) {
|
|
|
12302
12318
|
}
|
|
12303
12319
|
|
|
12304
12320
|
//#endregion
|
|
12305
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12321
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/sentence.js
|
|
12306
12322
|
function isSentenceEndPunct(char) {
|
|
12307
12323
|
return char == "." || char == "!" || char == "?";
|
|
12308
12324
|
}
|
|
@@ -12335,7 +12351,7 @@ function diffSentences(oldStr, newStr, options) {
|
|
|
12335
12351
|
}
|
|
12336
12352
|
|
|
12337
12353
|
//#endregion
|
|
12338
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12354
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/css.js
|
|
12339
12355
|
var CssDiff = class extends Diff {
|
|
12340
12356
|
tokenize(value) {
|
|
12341
12357
|
return value.split(/([{}:;,]|\s+)/);
|
|
@@ -12347,7 +12363,7 @@ function diffCss(oldStr, newStr, options) {
|
|
|
12347
12363
|
}
|
|
12348
12364
|
|
|
12349
12365
|
//#endregion
|
|
12350
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12366
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/json.js
|
|
12351
12367
|
var JsonDiff = class extends Diff {
|
|
12352
12368
|
constructor() {
|
|
12353
12369
|
super(...arguments);
|
|
@@ -12421,7 +12437,7 @@ function canonicalize(obj, stack, replacementStack, replacer, key$1) {
|
|
|
12421
12437
|
}
|
|
12422
12438
|
|
|
12423
12439
|
//#endregion
|
|
12424
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12440
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/diff/array.js
|
|
12425
12441
|
var ArrayDiff = class extends Diff {
|
|
12426
12442
|
tokenize(value) {
|
|
12427
12443
|
return value.slice();
|
|
@@ -12439,7 +12455,7 @@ function diffArrays(oldArr, newArr, options) {
|
|
|
12439
12455
|
}
|
|
12440
12456
|
|
|
12441
12457
|
//#endregion
|
|
12442
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12458
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/patch/line-endings.js
|
|
12443
12459
|
function unixToWin(patch) {
|
|
12444
12460
|
if (Array.isArray(patch)) {
|
|
12445
12461
|
return patch.map((p$1) => unixToWin(p$1));
|
|
@@ -12479,7 +12495,7 @@ function isWin(patch) {
|
|
|
12479
12495
|
}
|
|
12480
12496
|
|
|
12481
12497
|
//#endregion
|
|
12482
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12498
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/patch/parse.js
|
|
12483
12499
|
/**
|
|
12484
12500
|
* Parses a patch into structured data, in the same structure returned by `structuredPatch`.
|
|
12485
12501
|
*
|
|
@@ -12496,9 +12512,9 @@ function parsePatch(uniDiff) {
|
|
|
12496
12512
|
if (/^(---|\+\+\+|@@)\s/.test(line)) {
|
|
12497
12513
|
break;
|
|
12498
12514
|
}
|
|
12499
|
-
const
|
|
12500
|
-
if (
|
|
12501
|
-
index.index =
|
|
12515
|
+
const headerMatch = /^(?:Index:|diff(?: -r \w+)+)\s+/.exec(line);
|
|
12516
|
+
if (headerMatch) {
|
|
12517
|
+
index.index = line.substring(headerMatch[0].length).trim();
|
|
12502
12518
|
}
|
|
12503
12519
|
i$2++;
|
|
12504
12520
|
}
|
|
@@ -12519,14 +12535,14 @@ function parsePatch(uniDiff) {
|
|
|
12519
12535
|
}
|
|
12520
12536
|
}
|
|
12521
12537
|
function parseFileHeader(index) {
|
|
12522
|
-
const
|
|
12523
|
-
if (
|
|
12524
|
-
const data =
|
|
12538
|
+
const fileHeaderMatch = /^(---|\+\+\+)\s+/.exec(diffstr[i$2]);
|
|
12539
|
+
if (fileHeaderMatch) {
|
|
12540
|
+
const prefix = fileHeaderMatch[1], data = diffstr[i$2].substring(3).trim().split(" ", 2), header = (data[1] || "").trim();
|
|
12525
12541
|
let fileName = data[0].replace(/\\\\/g, "\\");
|
|
12526
|
-
if (
|
|
12542
|
+
if (fileName.startsWith("\"") && fileName.endsWith("\"")) {
|
|
12527
12543
|
fileName = fileName.substr(1, fileName.length - 2);
|
|
12528
12544
|
}
|
|
12529
|
-
if (
|
|
12545
|
+
if (prefix === "---") {
|
|
12530
12546
|
index.oldFileName = fileName;
|
|
12531
12547
|
index.oldHeader = header;
|
|
12532
12548
|
} else {
|
|
@@ -12590,7 +12606,7 @@ function parsePatch(uniDiff) {
|
|
|
12590
12606
|
}
|
|
12591
12607
|
|
|
12592
12608
|
//#endregion
|
|
12593
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12609
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/util/distance-iterator.js
|
|
12594
12610
|
function distance_iterator_default(start, minLine, maxLine) {
|
|
12595
12611
|
let wantForward = true, backwardExhausted = false, forwardExhausted = false, localOffset = 1;
|
|
12596
12612
|
return function iterator() {
|
|
@@ -12620,7 +12636,7 @@ function distance_iterator_default(start, minLine, maxLine) {
|
|
|
12620
12636
|
}
|
|
12621
12637
|
|
|
12622
12638
|
//#endregion
|
|
12623
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12639
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/patch/apply.js
|
|
12624
12640
|
/**
|
|
12625
12641
|
* attempts to apply a unified diff patch.
|
|
12626
12642
|
*
|
|
@@ -12839,7 +12855,7 @@ function applyPatches(uniDiff, options) {
|
|
|
12839
12855
|
}
|
|
12840
12856
|
|
|
12841
12857
|
//#endregion
|
|
12842
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12858
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/patch/reverse.js
|
|
12843
12859
|
function reversePatch(structuredPatch$1) {
|
|
12844
12860
|
if (Array.isArray(structuredPatch$1)) {
|
|
12845
12861
|
return structuredPatch$1.map((patch) => reversePatch(patch)).reverse();
|
|
@@ -12870,7 +12886,22 @@ function reversePatch(structuredPatch$1) {
|
|
|
12870
12886
|
}
|
|
12871
12887
|
|
|
12872
12888
|
//#endregion
|
|
12873
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
12889
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/patch/create.js
|
|
12890
|
+
const INCLUDE_HEADERS = {
|
|
12891
|
+
includeIndex: true,
|
|
12892
|
+
includeUnderline: true,
|
|
12893
|
+
includeFileHeaders: true
|
|
12894
|
+
};
|
|
12895
|
+
const FILE_HEADERS_ONLY = {
|
|
12896
|
+
includeIndex: false,
|
|
12897
|
+
includeUnderline: false,
|
|
12898
|
+
includeFileHeaders: true
|
|
12899
|
+
};
|
|
12900
|
+
const OMIT_HEADERS = {
|
|
12901
|
+
includeIndex: false,
|
|
12902
|
+
includeUnderline: false,
|
|
12903
|
+
includeFileHeaders: false
|
|
12904
|
+
};
|
|
12874
12905
|
function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
|
|
12875
12906
|
let optionsObj;
|
|
12876
12907
|
if (!options) {
|
|
@@ -12984,17 +13015,27 @@ function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, ne
|
|
|
12984
13015
|
* creates a unified diff patch.
|
|
12985
13016
|
* @param patch either a single structured patch object (as returned by `structuredPatch`) or an array of them (as returned by `parsePatch`)
|
|
12986
13017
|
*/
|
|
12987
|
-
function formatPatch(patch) {
|
|
13018
|
+
function formatPatch(patch, headerOptions) {
|
|
13019
|
+
if (!headerOptions) {
|
|
13020
|
+
headerOptions = INCLUDE_HEADERS;
|
|
13021
|
+
}
|
|
12988
13022
|
if (Array.isArray(patch)) {
|
|
12989
|
-
|
|
13023
|
+
if (patch.length > 1 && !headerOptions.includeFileHeaders) {
|
|
13024
|
+
throw new Error("Cannot omit file headers on a multi-file patch. " + "(The result would be unparseable; how would a tool trying to apply " + "the patch know which changes are to which file?)");
|
|
13025
|
+
}
|
|
13026
|
+
return patch.map((p$1) => formatPatch(p$1, headerOptions)).join("\n");
|
|
12990
13027
|
}
|
|
12991
13028
|
const ret = [];
|
|
12992
|
-
if (patch.oldFileName == patch.newFileName) {
|
|
13029
|
+
if (headerOptions.includeIndex && patch.oldFileName == patch.newFileName) {
|
|
12993
13030
|
ret.push("Index: " + patch.oldFileName);
|
|
12994
13031
|
}
|
|
12995
|
-
|
|
12996
|
-
|
|
12997
|
-
|
|
13032
|
+
if (headerOptions.includeUnderline) {
|
|
13033
|
+
ret.push("===================================================================");
|
|
13034
|
+
}
|
|
13035
|
+
if (headerOptions.includeFileHeaders) {
|
|
13036
|
+
ret.push("--- " + patch.oldFileName + (typeof patch.oldHeader === "undefined" ? "" : " " + patch.oldHeader));
|
|
13037
|
+
ret.push("+++ " + patch.newFileName + (typeof patch.newHeader === "undefined" ? "" : " " + patch.newHeader));
|
|
13038
|
+
}
|
|
12998
13039
|
for (let i$2 = 0; i$2 < patch.hunks.length; i$2++) {
|
|
12999
13040
|
const hunk = patch.hunks[i$2];
|
|
13000
13041
|
if (hunk.oldLines === 0) {
|
|
@@ -13019,14 +13060,14 @@ function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader
|
|
|
13019
13060
|
if (!patchObj) {
|
|
13020
13061
|
return;
|
|
13021
13062
|
}
|
|
13022
|
-
return formatPatch(patchObj);
|
|
13063
|
+
return formatPatch(patchObj, options === null || options === void 0 ? void 0 : options.headerOptions);
|
|
13023
13064
|
} else {
|
|
13024
13065
|
const { callback } = options;
|
|
13025
13066
|
structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, Object.assign(Object.assign({}, options), { callback: (patchObj) => {
|
|
13026
13067
|
if (!patchObj) {
|
|
13027
13068
|
callback(undefined);
|
|
13028
13069
|
} else {
|
|
13029
|
-
callback(formatPatch(patchObj));
|
|
13070
|
+
callback(formatPatch(patchObj, options.headerOptions));
|
|
13030
13071
|
}
|
|
13031
13072
|
} }));
|
|
13032
13073
|
}
|
|
@@ -13049,7 +13090,7 @@ function splitLines(text$1) {
|
|
|
13049
13090
|
}
|
|
13050
13091
|
|
|
13051
13092
|
//#endregion
|
|
13052
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
13093
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/convert/dmp.js
|
|
13053
13094
|
/**
|
|
13054
13095
|
* converts a list of change objects to the format returned by Google's [diff-match-patch](https://github.com/google/diff-match-patch) library
|
|
13055
13096
|
*/
|
|
@@ -13071,7 +13112,7 @@ function convertChangesToDMP(changes) {
|
|
|
13071
13112
|
}
|
|
13072
13113
|
|
|
13073
13114
|
//#endregion
|
|
13074
|
-
//#region ../../node_modules/.bun/diff@8.0.
|
|
13115
|
+
//#region ../../node_modules/.bun/diff@8.0.3/node_modules/diff/libesm/convert/xml.js
|
|
13075
13116
|
/**
|
|
13076
13117
|
* converts a list of change objects to a serialized XML format
|
|
13077
13118
|
*/
|
|
@@ -13824,12 +13865,36 @@ function findCodeElement(nodes) {
|
|
|
13824
13865
|
}
|
|
13825
13866
|
return undefined;
|
|
13826
13867
|
}
|
|
13827
|
-
function
|
|
13868
|
+
function createGutterWrapper(children) {
|
|
13869
|
+
return createHastElement({
|
|
13870
|
+
tagName: "div",
|
|
13871
|
+
properties: { "data-gutter": "" },
|
|
13872
|
+
children
|
|
13873
|
+
});
|
|
13874
|
+
}
|
|
13875
|
+
function createGutterItem(lineType, lineNumber, lineIndex) {
|
|
13876
|
+
return createHastElement({
|
|
13877
|
+
tagName: "div",
|
|
13878
|
+
properties: {
|
|
13879
|
+
"data-line-type": lineType,
|
|
13880
|
+
"data-column-number": lineNumber,
|
|
13881
|
+
"data-line-index": lineIndex
|
|
13882
|
+
},
|
|
13883
|
+
children: lineNumber != null ? [createHastElement({
|
|
13884
|
+
tagName: "span",
|
|
13885
|
+
properties: { "data-line-number-content": "" },
|
|
13886
|
+
children: [createTextNodeElement(`${lineNumber}`)]
|
|
13887
|
+
})] : undefined
|
|
13888
|
+
});
|
|
13889
|
+
}
|
|
13890
|
+
function createGutterGap(type, bufferType, size) {
|
|
13828
13891
|
return createHastElement({
|
|
13829
13892
|
tagName: "div",
|
|
13830
13893
|
properties: {
|
|
13831
|
-
"data-
|
|
13832
|
-
|
|
13894
|
+
"data-gutter-buffer": bufferType,
|
|
13895
|
+
"data-buffer-size": size,
|
|
13896
|
+
"data-line-type": bufferType === "annotation" ? undefined : type,
|
|
13897
|
+
style: bufferType === "annotation" ? `grid-row: span ${size};` : `grid-row: span ${size};min-height:calc(${size} * 1lh);`
|
|
13833
13898
|
}
|
|
13834
13899
|
});
|
|
13835
13900
|
}
|
|
@@ -13847,33 +13912,15 @@ function processLine(node, line, state) {
|
|
|
13847
13912
|
});
|
|
13848
13913
|
throw new Error(errorMessage);
|
|
13849
13914
|
}
|
|
13850
|
-
node.tagName = "
|
|
13851
|
-
node.properties["data-
|
|
13915
|
+
node.tagName = "div";
|
|
13916
|
+
node.properties["data-line"] = lineInfo.lineNumber;
|
|
13917
|
+
node.properties["data-alt-line"] = lineInfo.altLineNumber;
|
|
13918
|
+
node.properties["data-line-type"] = lineInfo.type;
|
|
13919
|
+
node.properties["data-line-index"] = lineInfo.lineIndex;
|
|
13852
13920
|
if (node.children.length === 0) {
|
|
13853
13921
|
node.children.push(createTextNodeElement("\n"));
|
|
13854
13922
|
}
|
|
13855
|
-
|
|
13856
|
-
tagName: "span",
|
|
13857
|
-
children: [createHastElement({
|
|
13858
|
-
tagName: "span",
|
|
13859
|
-
children: [{
|
|
13860
|
-
type: "text",
|
|
13861
|
-
value: `${lineInfo.lineNumber}`
|
|
13862
|
-
}],
|
|
13863
|
-
properties: { "data-line-number-content": "" }
|
|
13864
|
-
})],
|
|
13865
|
-
properties: { "data-column-number": "" }
|
|
13866
|
-
}), node];
|
|
13867
|
-
return createHastElement({
|
|
13868
|
-
tagName: "div",
|
|
13869
|
-
children,
|
|
13870
|
-
properties: {
|
|
13871
|
-
"data-line": lineInfo.lineNumber,
|
|
13872
|
-
"data-alt-line": lineInfo.altLineNumber,
|
|
13873
|
-
"data-line-type": lineInfo.type,
|
|
13874
|
-
"data-line-index": lineInfo.lineIndex
|
|
13875
|
-
}
|
|
13876
|
-
});
|
|
13923
|
+
return node;
|
|
13877
13924
|
}
|
|
13878
13925
|
|
|
13879
13926
|
//#endregion
|
|
@@ -14499,16 +14546,21 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14499
14546
|
hunk,
|
|
14500
14547
|
collapsedBefore: 0,
|
|
14501
14548
|
collapsedAfter: 0,
|
|
14502
|
-
unifiedDeletionLineIndex: unifiedLineIndex$1 + index,
|
|
14503
|
-
unifiedAdditionLineIndex: unifiedLineIndex$1 + index,
|
|
14504
|
-
splitLineIndex: splitLineIndex$1 + index,
|
|
14505
|
-
deletionLineIndex: deletionLineIndex$1 + index,
|
|
14506
|
-
additionLineIndex: additionLineIndex$1 + index,
|
|
14507
|
-
deletionLineNumber: deletionLineNumber$1 + index,
|
|
14508
|
-
additionLineNumber: additionLineNumber$1 + index,
|
|
14509
14549
|
type: "context-expanded",
|
|
14510
|
-
|
|
14511
|
-
|
|
14550
|
+
deletionLine: {
|
|
14551
|
+
lineNumber: deletionLineNumber$1 + index,
|
|
14552
|
+
lineIndex: deletionLineIndex$1 + index,
|
|
14553
|
+
noEOFCR: false,
|
|
14554
|
+
unifiedLineIndex: unifiedLineIndex$1 + index,
|
|
14555
|
+
splitLineIndex: splitLineIndex$1 + index
|
|
14556
|
+
},
|
|
14557
|
+
additionLine: {
|
|
14558
|
+
unifiedLineIndex: unifiedLineIndex$1 + index,
|
|
14559
|
+
splitLineIndex: splitLineIndex$1 + index,
|
|
14560
|
+
lineIndex: additionLineIndex$1 + index,
|
|
14561
|
+
lineNumber: additionLineNumber$1 + index,
|
|
14562
|
+
noEOFCR: false
|
|
14563
|
+
}
|
|
14512
14564
|
})) {
|
|
14513
14565
|
break hunkIterator;
|
|
14514
14566
|
}
|
|
@@ -14531,16 +14583,21 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14531
14583
|
hunk,
|
|
14532
14584
|
collapsedBefore: getPendingCollapsed(),
|
|
14533
14585
|
collapsedAfter: 0,
|
|
14534
|
-
unifiedDeletionLineIndex: unifiedLineIndex$1 + index,
|
|
14535
|
-
unifiedAdditionLineIndex: unifiedLineIndex$1 + index,
|
|
14536
|
-
splitLineIndex: splitLineIndex$1 + index,
|
|
14537
|
-
deletionLineIndex: deletionLineIndex$1 + index,
|
|
14538
|
-
additionLineIndex: additionLineIndex$1 + index,
|
|
14539
|
-
deletionLineNumber: deletionLineNumber$1 + index,
|
|
14540
|
-
additionLineNumber: additionLineNumber$1 + index,
|
|
14541
14586
|
type: "context-expanded",
|
|
14542
|
-
|
|
14543
|
-
|
|
14587
|
+
deletionLine: {
|
|
14588
|
+
lineNumber: deletionLineNumber$1 + index,
|
|
14589
|
+
lineIndex: deletionLineIndex$1 + index,
|
|
14590
|
+
noEOFCR: false,
|
|
14591
|
+
unifiedLineIndex: unifiedLineIndex$1 + index,
|
|
14592
|
+
splitLineIndex: splitLineIndex$1 + index
|
|
14593
|
+
},
|
|
14594
|
+
additionLine: {
|
|
14595
|
+
unifiedLineIndex: unifiedLineIndex$1 + index,
|
|
14596
|
+
splitLineIndex: splitLineIndex$1 + index,
|
|
14597
|
+
lineIndex: additionLineIndex$1 + index,
|
|
14598
|
+
lineNumber: additionLineNumber$1 + index,
|
|
14599
|
+
noEOFCR: false
|
|
14600
|
+
}
|
|
14544
14601
|
})) {
|
|
14545
14602
|
break hunkIterator;
|
|
14546
14603
|
}
|
|
@@ -14578,16 +14635,21 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14578
14635
|
hunk,
|
|
14579
14636
|
collapsedBefore: getPendingCollapsed(),
|
|
14580
14637
|
collapsedAfter: getTrailingCollapsedAfter(unifiedRowIndex, splitRowIndex),
|
|
14581
|
-
unifiedDeletionLineIndex: unifiedRowIndex,
|
|
14582
|
-
unifiedAdditionLineIndex: unifiedRowIndex,
|
|
14583
|
-
splitLineIndex: splitRowIndex,
|
|
14584
|
-
deletionLineIndex: deletionLineIndex + index,
|
|
14585
|
-
additionLineIndex: additionLineIndex + index,
|
|
14586
|
-
deletionLineNumber: deletionLineNumber + index,
|
|
14587
|
-
additionLineNumber: additionLineNumber + index,
|
|
14588
14638
|
type: "context",
|
|
14589
|
-
|
|
14590
|
-
|
|
14639
|
+
deletionLine: {
|
|
14640
|
+
lineNumber: deletionLineNumber + index,
|
|
14641
|
+
lineIndex: deletionLineIndex + index,
|
|
14642
|
+
noEOFCR: isLastLine && hunk.noEOFCRDeletions,
|
|
14643
|
+
unifiedLineIndex: unifiedRowIndex,
|
|
14644
|
+
splitLineIndex: splitRowIndex
|
|
14645
|
+
},
|
|
14646
|
+
additionLine: {
|
|
14647
|
+
unifiedLineIndex: unifiedRowIndex,
|
|
14648
|
+
splitLineIndex: splitRowIndex,
|
|
14649
|
+
lineIndex: additionLineIndex + index,
|
|
14650
|
+
lineNumber: additionLineNumber + index,
|
|
14651
|
+
noEOFCR: isLastLine && hunk.noEOFCRAdditions
|
|
14652
|
+
}
|
|
14591
14653
|
})) {
|
|
14592
14654
|
break hunkIterator;
|
|
14593
14655
|
}
|
|
@@ -14665,16 +14727,21 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14665
14727
|
hunk: undefined,
|
|
14666
14728
|
collapsedBefore: 0,
|
|
14667
14729
|
collapsedAfter: isLastLine ? collapsedLines : 0,
|
|
14668
|
-
unifiedDeletionLineIndex: unifiedLineIndex + index,
|
|
14669
|
-
unifiedAdditionLineIndex: unifiedLineIndex + index,
|
|
14670
|
-
splitLineIndex: splitLineIndex + index,
|
|
14671
|
-
additionLineIndex: additionLineIndex + index,
|
|
14672
|
-
deletionLineIndex: deletionLineIndex + index,
|
|
14673
|
-
additionLineNumber: additionLineNumber + index,
|
|
14674
|
-
deletionLineNumber: deletionLineNumber + index,
|
|
14675
14730
|
type: "context-expanded",
|
|
14676
|
-
|
|
14677
|
-
|
|
14731
|
+
deletionLine: {
|
|
14732
|
+
lineNumber: deletionLineNumber + index,
|
|
14733
|
+
lineIndex: deletionLineIndex + index,
|
|
14734
|
+
noEOFCR: false,
|
|
14735
|
+
unifiedLineIndex: unifiedLineIndex + index,
|
|
14736
|
+
splitLineIndex: splitLineIndex + index
|
|
14737
|
+
},
|
|
14738
|
+
additionLine: {
|
|
14739
|
+
unifiedLineIndex: unifiedLineIndex + index,
|
|
14740
|
+
splitLineIndex: splitLineIndex + index,
|
|
14741
|
+
lineIndex: additionLineIndex + index,
|
|
14742
|
+
lineNumber: additionLineNumber + index,
|
|
14743
|
+
noEOFCR: false
|
|
14744
|
+
}
|
|
14678
14745
|
})) {
|
|
14679
14746
|
break hunkIterator;
|
|
14680
14747
|
}
|
|
@@ -14779,39 +14846,61 @@ function getChangeIterationRanges(state, content, diffStyle) {
|
|
|
14779
14846
|
return merged;
|
|
14780
14847
|
}
|
|
14781
14848
|
function getChangeLineData({ hunkIndex, hunk, collapsedAfter, collapsedBefore, diffStyle, index, unifiedLineIndex, splitLineIndex, additionLineIndex, deletionLineIndex, additionLineNumber, deletionLineNumber, content, isLastContent, unifiedCount, splitCount }) {
|
|
14782
|
-
|
|
14849
|
+
const unifiedDeletionLineIndex = index < content.deletions ? unifiedLineIndex + index : undefined;
|
|
14850
|
+
const unifiedAdditionLineIndex = diffStyle === "unified" ? index >= content.deletions ? unifiedLineIndex + index : undefined : index < content.additions ? unifiedLineIndex + content.deletions + index : undefined;
|
|
14851
|
+
const resolvedSplitLineIndex = diffStyle === "unified" ? splitLineIndex + (index < content.deletions ? index : index - content.deletions) : splitLineIndex + index;
|
|
14852
|
+
const deletionLineIndexValue = index < content.deletions ? deletionLineIndex + index : undefined;
|
|
14853
|
+
const deletionLineNumberValue = index < content.deletions ? deletionLineNumber + index : undefined;
|
|
14854
|
+
const additionLineIndexValue = diffStyle === "unified" ? index >= content.deletions ? additionLineIndex + (index - content.deletions) : undefined : index < content.additions ? additionLineIndex + index : undefined;
|
|
14855
|
+
const additionLineNumberValue = diffStyle === "unified" ? index >= content.deletions ? additionLineNumber + (index - content.deletions) : undefined : index < content.additions ? additionLineNumber + index : undefined;
|
|
14856
|
+
const noEOFCRDeletion = diffStyle === "unified" ? isLastContent && index === content.deletions - 1 && hunk.noEOFCRDeletions : isLastContent && index === splitCount - 1 && hunk.noEOFCRDeletions;
|
|
14857
|
+
const noEOFCRAddition = diffStyle === "unified" ? isLastContent && index === unifiedCount - 1 && hunk.noEOFCRAdditions : isLastContent && index === splitCount - 1 && hunk.noEOFCRAdditions;
|
|
14858
|
+
const deletionLine = deletionLineIndexValue != null && deletionLineNumberValue != null && unifiedDeletionLineIndex != null ? {
|
|
14859
|
+
lineNumber: deletionLineNumberValue,
|
|
14860
|
+
lineIndex: deletionLineIndexValue,
|
|
14861
|
+
noEOFCR: noEOFCRDeletion,
|
|
14862
|
+
unifiedLineIndex: unifiedDeletionLineIndex,
|
|
14863
|
+
splitLineIndex: resolvedSplitLineIndex
|
|
14864
|
+
} : undefined;
|
|
14865
|
+
const additionLine = additionLineIndexValue != null && additionLineNumberValue != null && unifiedAdditionLineIndex != null ? {
|
|
14866
|
+
unifiedLineIndex: unifiedAdditionLineIndex,
|
|
14867
|
+
splitLineIndex: resolvedSplitLineIndex,
|
|
14868
|
+
lineIndex: additionLineIndexValue,
|
|
14869
|
+
lineNumber: additionLineNumberValue,
|
|
14870
|
+
noEOFCR: noEOFCRAddition
|
|
14871
|
+
} : undefined;
|
|
14872
|
+
if (deletionLine == null && additionLine != null) {
|
|
14873
|
+
return {
|
|
14874
|
+
type: "change",
|
|
14875
|
+
hunkIndex,
|
|
14876
|
+
hunk,
|
|
14877
|
+
collapsedAfter,
|
|
14878
|
+
collapsedBefore,
|
|
14879
|
+
deletionLine: undefined,
|
|
14880
|
+
additionLine
|
|
14881
|
+
};
|
|
14882
|
+
} else if (deletionLine != null && additionLine == null) {
|
|
14783
14883
|
return {
|
|
14784
14884
|
type: "change",
|
|
14785
14885
|
hunkIndex,
|
|
14786
14886
|
hunk,
|
|
14787
14887
|
collapsedAfter,
|
|
14788
14888
|
collapsedBefore,
|
|
14789
|
-
|
|
14790
|
-
|
|
14791
|
-
splitLineIndex: splitLineIndex + (index < content.deletions ? index : index - content.deletions),
|
|
14792
|
-
additionLineIndex: index >= content.deletions ? additionLineIndex + (index - content.deletions) : undefined,
|
|
14793
|
-
additionLineNumber: index >= content.deletions ? additionLineNumber + (index - content.deletions) : undefined,
|
|
14794
|
-
deletionLineIndex: index < content.deletions ? deletionLineIndex + index : undefined,
|
|
14795
|
-
deletionLineNumber: index < content.deletions ? deletionLineNumber + index : undefined,
|
|
14796
|
-
noEOFCRDeletion: isLastContent && index === content.deletions - 1 && hunk.noEOFCRDeletions,
|
|
14797
|
-
noEOFCRAddition: isLastContent && index === unifiedCount - 1 && hunk.noEOFCRAdditions
|
|
14889
|
+
deletionLine,
|
|
14890
|
+
additionLine: undefined
|
|
14798
14891
|
};
|
|
14799
14892
|
}
|
|
14893
|
+
if (deletionLine == null || additionLine == null) {
|
|
14894
|
+
throw new Error("iterateOverDiff: missing change line data");
|
|
14895
|
+
}
|
|
14800
14896
|
return {
|
|
14801
14897
|
type: "change",
|
|
14802
14898
|
hunkIndex,
|
|
14803
14899
|
hunk,
|
|
14804
14900
|
collapsedAfter,
|
|
14805
14901
|
collapsedBefore,
|
|
14806
|
-
|
|
14807
|
-
|
|
14808
|
-
splitLineIndex: splitLineIndex + index,
|
|
14809
|
-
additionLineIndex: index < content.additions ? additionLineIndex + index : undefined,
|
|
14810
|
-
additionLineNumber: index < content.additions ? additionLineNumber + index : undefined,
|
|
14811
|
-
deletionLineIndex: index < content.deletions ? deletionLineIndex + index : undefined,
|
|
14812
|
-
deletionLineNumber: index < content.deletions ? deletionLineNumber + index : undefined,
|
|
14813
|
-
noEOFCRDeletion: isLastContent && index === splitCount - 1 && hunk.noEOFCRDeletions,
|
|
14814
|
-
noEOFCRAddition: isLastContent && index === splitCount - 1 && hunk.noEOFCRAdditions
|
|
14902
|
+
deletionLine,
|
|
14903
|
+
additionLine
|
|
14815
14904
|
};
|
|
14816
14905
|
}
|
|
14817
14906
|
|
|
@@ -14847,8 +14936,8 @@ function pushOrJoinSpan({ item, arr, enableJoin, isNeutral = false, isLastItem =
|
|
|
14847
14936
|
|
|
14848
14937
|
//#endregion
|
|
14849
14938
|
//#region src/utils/renderDiffWithHighlighter.ts
|
|
14850
|
-
const DEFAULT_PLAIN_TEXT_OPTIONS = { forcePlainText: false };
|
|
14851
|
-
function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainText, startingLine, totalLines, expandedHunks, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = DEFAULT_PLAIN_TEXT_OPTIONS) {
|
|
14939
|
+
const DEFAULT_PLAIN_TEXT_OPTIONS$1 = { forcePlainText: false };
|
|
14940
|
+
function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainText, startingLine, totalLines, expandedHunks, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = DEFAULT_PLAIN_TEXT_OPTIONS$1) {
|
|
14852
14941
|
if (forcePlainText) {
|
|
14853
14942
|
startingLine ??= 0;
|
|
14854
14943
|
totalLines ??= Infinity;
|
|
@@ -14904,12 +14993,13 @@ function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainTex
|
|
|
14904
14993
|
totalLines,
|
|
14905
14994
|
expandedHunks: isWindowedHighlight ? expandedHunksForIteration : true,
|
|
14906
14995
|
collapsedContextThreshold,
|
|
14907
|
-
callback: ({ hunkIndex,
|
|
14996
|
+
callback: ({ hunkIndex, additionLine, deletionLine, type }) => {
|
|
14908
14997
|
const bucket = getBucketForHunk(hunkIndex);
|
|
14909
|
-
|
|
14998
|
+
const splitLineIndex = additionLine != null ? additionLine.splitLineIndex : deletionLine.splitLineIndex;
|
|
14999
|
+
if (type === "change" && additionLine != null && deletionLine != null) {
|
|
14910
15000
|
computeLineDiffDecorations({
|
|
14911
|
-
additionLine: diff.additionLines[
|
|
14912
|
-
deletionLine: diff.deletionLines[
|
|
15001
|
+
additionLine: diff.additionLines[additionLine.lineIndex],
|
|
15002
|
+
deletionLine: diff.deletionLines[deletionLine.lineIndex],
|
|
14913
15003
|
deletionLineIndex: bucket.deletionContent.length,
|
|
14914
15004
|
additionLineIndex: bucket.additionContent.length,
|
|
14915
15005
|
deletionDecorations: bucket.deletionDecorations,
|
|
@@ -14917,22 +15007,22 @@ function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainTex
|
|
|
14917
15007
|
lineDiffType
|
|
14918
15008
|
});
|
|
14919
15009
|
}
|
|
14920
|
-
if (
|
|
14921
|
-
appendContent(diff.deletionLines[
|
|
15010
|
+
if (deletionLine != null) {
|
|
15011
|
+
appendContent(diff.deletionLines[deletionLine.lineIndex], deletionLine.lineIndex, bucket.deletionSegments, bucket.deletionContent);
|
|
14922
15012
|
bucket.deletionInfo.push({
|
|
14923
15013
|
type: type === "change" ? "change-deletion" : type,
|
|
14924
|
-
lineNumber:
|
|
14925
|
-
altLineNumber: type === "change" ? undefined :
|
|
14926
|
-
lineIndex: `${
|
|
15014
|
+
lineNumber: deletionLine.lineNumber,
|
|
15015
|
+
altLineNumber: type === "change" ? undefined : additionLine.lineNumber ?? undefined,
|
|
15016
|
+
lineIndex: `${deletionLine.unifiedLineIndex},${splitLineIndex}`
|
|
14927
15017
|
});
|
|
14928
15018
|
}
|
|
14929
|
-
if (
|
|
14930
|
-
appendContent(diff.additionLines[
|
|
15019
|
+
if (additionLine != null) {
|
|
15020
|
+
appendContent(diff.additionLines[additionLine.lineIndex], additionLine.lineIndex, bucket.additionSegments, bucket.additionContent);
|
|
14931
15021
|
bucket.additionInfo.push({
|
|
14932
15022
|
type: type === "change" ? "change-addition" : type,
|
|
14933
|
-
lineNumber:
|
|
14934
|
-
altLineNumber: type === "change" ? undefined :
|
|
14935
|
-
lineIndex: `${
|
|
15023
|
+
lineNumber: additionLine.lineNumber,
|
|
15024
|
+
altLineNumber: type === "change" ? undefined : deletionLine.lineNumber ?? undefined,
|
|
15025
|
+
lineIndex: `${additionLine.unifiedLineIndex},${splitLineIndex}`
|
|
14936
15026
|
});
|
|
14937
15027
|
}
|
|
14938
15028
|
}
|
|
@@ -15130,9 +15220,82 @@ function renderTwoFiles({ deletionFile, additionFile, deletionInfo, additionInfo
|
|
|
15130
15220
|
};
|
|
15131
15221
|
}
|
|
15132
15222
|
|
|
15223
|
+
//#endregion
|
|
15224
|
+
//#region src/utils/iterateOverFile.ts
|
|
15225
|
+
/**
|
|
15226
|
+
* Iterates over lines in a file with optional windowing support.
|
|
15227
|
+
*
|
|
15228
|
+
* Similar to `iterateOverDiff` but simplified for linear file content.
|
|
15229
|
+
* Supports viewport windowing for virtualization scenarios.
|
|
15230
|
+
*
|
|
15231
|
+
* @param props - Configuration for iteration
|
|
15232
|
+
* @param props.lines - Pre-split array of lines (use splitFileContents() to create from string)
|
|
15233
|
+
* @param props.startingLine - Optional starting line index (0-based, default: 0)
|
|
15234
|
+
* @param props.totalLines - Optional max lines to iterate (default: Infinity)
|
|
15235
|
+
* @param props.callback - Callback invoked for each line in the window.
|
|
15236
|
+
* Return `true` to stop iteration early.
|
|
15237
|
+
*
|
|
15238
|
+
* @example
|
|
15239
|
+
* ```typescript
|
|
15240
|
+
* const lines = splitFileContents('line1\nline2\nline3');
|
|
15241
|
+
* iterateOverFile({
|
|
15242
|
+
* lines,
|
|
15243
|
+
* startingLine: 0,
|
|
15244
|
+
* totalLines: 10,
|
|
15245
|
+
* callback: ({ lineIndex, lineNumber, content, isLastLine }) => {
|
|
15246
|
+
* console.log(`Line ${lineNumber}: ${content}`);
|
|
15247
|
+
* if (content.includes('stop')) return true; // Stop iteration
|
|
15248
|
+
* }
|
|
15249
|
+
* });
|
|
15250
|
+
* ```
|
|
15251
|
+
*/
|
|
15252
|
+
function iterateOverFile({ lines, startingLine = 0, totalLines = Infinity, callback }) {
|
|
15253
|
+
const len = Math.min(startingLine + totalLines, lines.length);
|
|
15254
|
+
const lastLineIndex = (() => {
|
|
15255
|
+
const lastLine = lines.at(-1);
|
|
15256
|
+
if (lastLine === "" || lastLine === "\n" || lastLine === "\r\n" || lastLine === "\r") {
|
|
15257
|
+
return Math.max(0, lines.length - 2);
|
|
15258
|
+
}
|
|
15259
|
+
return lines.length - 1;
|
|
15260
|
+
})();
|
|
15261
|
+
for (let lineIndex = startingLine; lineIndex < len; lineIndex++) {
|
|
15262
|
+
const isLastLine = lineIndex === lastLineIndex;
|
|
15263
|
+
if (callback({
|
|
15264
|
+
lineIndex,
|
|
15265
|
+
lineNumber: lineIndex + 1,
|
|
15266
|
+
content: lines[lineIndex],
|
|
15267
|
+
isLastLine
|
|
15268
|
+
}) === true || isLastLine) {
|
|
15269
|
+
break;
|
|
15270
|
+
}
|
|
15271
|
+
}
|
|
15272
|
+
}
|
|
15273
|
+
|
|
15274
|
+
//#endregion
|
|
15275
|
+
//#region src/utils/splitFileContents.ts
|
|
15276
|
+
/**
|
|
15277
|
+
* Splits file contents into lines using the same logic as diff parsing.
|
|
15278
|
+
* - Preserves trailing newlines on each line
|
|
15279
|
+
*
|
|
15280
|
+
* @param contents - The raw file contents string
|
|
15281
|
+
* @returns Array of lines with newlines preserved
|
|
15282
|
+
*/
|
|
15283
|
+
function splitFileContents(contents) {
|
|
15284
|
+
return contents !== "" ? contents.split(SPLIT_WITH_NEWLINES) : [];
|
|
15285
|
+
}
|
|
15286
|
+
|
|
15133
15287
|
//#endregion
|
|
15134
15288
|
//#region src/utils/renderFileWithHighlighter.ts
|
|
15135
|
-
|
|
15289
|
+
const DEFAULT_PLAIN_TEXT_OPTIONS = { forcePlainText: false };
|
|
15290
|
+
function renderFileWithHighlighter(file, highlighter$1, { theme = DEFAULT_THEMES, tokenizeMaxLineLength }, { forcePlainText, startingLine, totalLines, lines } = DEFAULT_PLAIN_TEXT_OPTIONS) {
|
|
15291
|
+
if (forcePlainText) {
|
|
15292
|
+
startingLine ??= 0;
|
|
15293
|
+
totalLines ??= Infinity;
|
|
15294
|
+
} else {
|
|
15295
|
+
startingLine = 0;
|
|
15296
|
+
totalLines = Infinity;
|
|
15297
|
+
}
|
|
15298
|
+
const isWindowedHighlight = startingLine > 0 || totalLines < Infinity;
|
|
15136
15299
|
const { state, transformers } = createTransformerWithState();
|
|
15137
15300
|
const lang = forcePlainText ? "text" : file.lang ?? getFiletypeFromFileName(file.name);
|
|
15138
15301
|
const baseThemeType = (() => {
|
|
@@ -15147,8 +15310,8 @@ function renderFileWithHighlighter(file, highlighter$1, { theme = DEFAULT_THEMES
|
|
|
15147
15310
|
});
|
|
15148
15311
|
state.lineInfo = (shikiLineNumber) => ({
|
|
15149
15312
|
type: "context",
|
|
15150
|
-
lineIndex: shikiLineNumber - 1,
|
|
15151
|
-
lineNumber: shikiLineNumber
|
|
15313
|
+
lineIndex: shikiLineNumber - 1 + startingLine,
|
|
15314
|
+
lineNumber: shikiLineNumber + startingLine
|
|
15152
15315
|
});
|
|
15153
15316
|
const hastConfig = (() => {
|
|
15154
15317
|
if (typeof theme === "string") {
|
|
@@ -15170,12 +15333,29 @@ function renderFileWithHighlighter(file, highlighter$1, { theme = DEFAULT_THEMES
|
|
|
15170
15333
|
tokenizeMaxLineLength
|
|
15171
15334
|
};
|
|
15172
15335
|
})();
|
|
15336
|
+
const highlightedLines = getLineNodes(highlighter$1.codeToHast(isWindowedHighlight ? extractWindowedFileContent(lines ?? splitFileContents(file.contents), startingLine, totalLines) : cleanLastNewline(file.contents), hastConfig));
|
|
15337
|
+
const code = isWindowedHighlight ? new Array(startingLine) : highlightedLines;
|
|
15338
|
+
if (isWindowedHighlight) {
|
|
15339
|
+
code.push(...highlightedLines);
|
|
15340
|
+
}
|
|
15173
15341
|
return {
|
|
15174
|
-
code
|
|
15342
|
+
code,
|
|
15175
15343
|
themeStyles,
|
|
15176
15344
|
baseThemeType
|
|
15177
15345
|
};
|
|
15178
15346
|
}
|
|
15347
|
+
function extractWindowedFileContent(lines, startingLine, totalLines) {
|
|
15348
|
+
let windowContent = "";
|
|
15349
|
+
iterateOverFile({
|
|
15350
|
+
lines,
|
|
15351
|
+
startingLine,
|
|
15352
|
+
totalLines,
|
|
15353
|
+
callback({ content }) {
|
|
15354
|
+
windowContent += content;
|
|
15355
|
+
}
|
|
15356
|
+
});
|
|
15357
|
+
return windowContent;
|
|
15358
|
+
}
|
|
15179
15359
|
|
|
15180
15360
|
//#endregion
|
|
15181
15361
|
//#region src/worker/worker.ts
|