@pierre/diffs 1.2.2 → 1.2.4
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/CodeView.d.ts +22 -7
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +202 -105
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +7 -3
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +38 -14
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +10 -5
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +37 -11
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts +4 -3
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +2 -0
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +4 -2
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +23 -6
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +9 -8
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +329 -142
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/react/UnresolvedFile.d.ts +2 -2
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +1 -0
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +12 -5
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +1 -0
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +4 -1
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/computeEstimatedDiffHeights.d.ts +28 -0
- package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -0
- package/dist/utils/computeEstimatedDiffHeights.js +111 -0
- package/dist/utils/computeEstimatedDiffHeights.js.map +1 -0
- package/dist/utils/getDiffHunksRendererOptions.d.ts +8 -0
- package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -0
- package/dist/utils/getDiffHunksRendererOptions.js +31 -0
- package/dist/utils/getDiffHunksRendererOptions.js.map +1 -0
- package/dist/utils/getFileRendererOptions.d.ts +8 -0
- package/dist/utils/getFileRendererOptions.d.ts.map +1 -0
- package/dist/utils/getFileRendererOptions.js +24 -0
- package/dist/utils/getFileRendererOptions.js.map +1 -0
- package/dist/utils/iterateOverDiff.js +29 -30
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/parsePatchFiles.js +8 -1
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/virtualDiffLayout.d.ts +65 -0
- package/dist/utils/virtualDiffLayout.d.ts.map +1 -0
- package/dist/utils/virtualDiffLayout.js +94 -0
- package/dist/utils/virtualDiffLayout.js.map +1 -0
- package/dist/worker/WorkerPoolManager.d.ts +4 -1
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +49 -24
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/types.d.ts +2 -0
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/worker-portable.js +154 -34
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +60 -30
- package/dist/worker/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":["DiffsThemeNames","ExtensionFormatMap","FileContents","FileDiffMetadata","HighlighterTypes","LanguageRegistration","LineDiffTypes","RenderDiffOptions","RenderFileOptions","SupportedLanguages","ThemedDiffResult","ThemedFileResult","ThemeRegistrationResolved","ThemesType","WorkerRequestId","WorkerRenderingOptions","FileRendererInstance","DiffRendererInstance","RenderFileRequest","ResolvedLanguage","RenderDiffRequest","InitializeWorkerRequest","Exclude","SetRenderOptionsWorkerRequest","SubmitRequest","Omit","WorkerRequest","RenderFileSuccessResponse","RenderDiffSuccessResponse","InitializeSuccessResponse","RegisterThemeSuccessResponse","RenderErrorResponse","RenderSuccessResponse","WorkerResponse","WorkerPoolOptions","Worker","WorkerInitializationRenderOptions","Partial","InitializeWorkerTask","Error","SetRenderOptionsWorkerTask","RenderFileTask","Set","RenderDiffTask","AllWorkerTasks","WorkerStats"],"sources":["../../src/worker/types.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ExtensionFormatMap, FileContents, FileDiffMetadata, HighlighterTypes, LanguageRegistration, LineDiffTypes, RenderDiffOptions, RenderFileOptions, SupportedLanguages, ThemedDiffResult, ThemedFileResult, ThemeRegistrationResolved, ThemesType } from '../types';\nexport type WorkerRequestId = string;\nexport interface WorkerRenderingOptions {\n theme: DiffsThemeNames | ThemesType;\n useTokenTransformer: boolean;\n tokenizeMaxLineLength: number;\n lineDiffType: LineDiffTypes;\n maxLineDiffLength: number;\n}\nexport interface FileRendererInstance {\n readonly __id: string;\n onHighlightSuccess(file: FileContents, result: ThemedFileResult, options: RenderFileOptions): unknown;\n onHighlightError(error: unknown): unknown;\n}\nexport interface DiffRendererInstance {\n readonly __id: string;\n onHighlightSuccess(diff: FileDiffMetadata, result: ThemedDiffResult, options: RenderDiffOptions): unknown;\n onHighlightError(error: unknown): unknown;\n}\nexport interface RenderFileRequest {\n type: 'file';\n id: WorkerRequestId;\n file: FileContents;\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface RenderDiffRequest {\n type: 'diff';\n id: WorkerRequestId;\n diff: FileDiffMetadata;\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface InitializeWorkerRequest {\n type: 'initialize';\n id: WorkerRequestId;\n renderOptions: WorkerRenderingOptions;\n preferredHighlighter: HighlighterTypes;\n resolvedThemes: ThemeRegistrationResolved[];\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface ResolvedLanguage {\n name: Exclude<SupportedLanguages, 'text'>;\n data: LanguageRegistration[];\n}\nexport interface SetRenderOptionsWorkerRequest {\n type: 'set-render-options';\n id: WorkerRequestId;\n renderOptions: WorkerRenderingOptions;\n resolvedThemes: ThemeRegistrationResolved[];\n}\nexport type SubmitRequest = Omit<RenderFileRequest, 'id'> | Omit<RenderDiffRequest, 'id'>;\nexport type WorkerRequest = RenderFileRequest | RenderDiffRequest | InitializeWorkerRequest | SetRenderOptionsWorkerRequest;\nexport interface RenderFileSuccessResponse {\n type: 'success';\n requestType: 'file';\n id: WorkerRequestId;\n result: ThemedFileResult;\n options: RenderFileOptions;\n sentAt: number;\n}\nexport interface RenderDiffSuccessResponse {\n type: 'success';\n requestType: 'diff';\n id: WorkerRequestId;\n result: ThemedDiffResult;\n options: RenderDiffOptions;\n sentAt: number;\n}\nexport interface InitializeSuccessResponse {\n type: 'success';\n requestType: 'initialize';\n id: WorkerRequestId;\n sentAt: number;\n}\nexport interface RegisterThemeSuccessResponse {\n type: 'success';\n requestType: 'set-render-options';\n id: WorkerRequestId;\n sentAt: number;\n}\nexport interface RenderErrorResponse {\n type: 'error';\n id: WorkerRequestId;\n error: string;\n stack?: string;\n}\nexport type RenderSuccessResponse = RenderFileSuccessResponse | RenderDiffSuccessResponse;\nexport type WorkerResponse = RenderSuccessResponse | RenderErrorResponse | InitializeSuccessResponse | RegisterThemeSuccessResponse;\nexport interface WorkerPoolOptions {\n /**\n * Factory function that creates a new Web Worker instance for the pool.\n * This is called once per worker in the pool during initialization.\n */\n workerFactory: () => Worker;\n /**\n * Number of workers to create in the pool.\n * @default 8\n */\n poolSize?: number;\n totalASTLRUCacheSize?: number;\n}\nexport interface WorkerInitializationRenderOptions extends Partial<WorkerRenderingOptions> {\n langs?: SupportedLanguages[];\n preferredHighlighter?: HighlighterTypes;\n}\nexport interface InitializeWorkerTask {\n type: 'initialize';\n id: WorkerRequestId;\n request: InitializeWorkerRequest;\n resolve(value?: undefined): void;\n reject(error: Error): void;\n requestStart: number;\n}\nexport interface SetRenderOptionsWorkerTask {\n type: 'set-render-options';\n id: WorkerRequestId;\n request: SetRenderOptionsWorkerRequest;\n resolve(value?: undefined): void;\n reject(error: Error): void;\n requestStart: number;\n}\nexport interface RenderFileTask {\n type: 'file';\n id: WorkerRequestId;\n request: RenderFileRequest;\n instances: Set<FileRendererInstance>;\n primeCache: boolean;\n highlightKey?: string;\n requestStart: number;\n}\nexport interface RenderDiffTask {\n type: 'diff';\n id: WorkerRequestId;\n request: RenderDiffRequest;\n instances: Set<DiffRendererInstance>;\n primeCache: boolean;\n highlightKey?: string;\n requestStart: number;\n}\nexport type AllWorkerTasks = InitializeWorkerTask | SetRenderOptionsWorkerTask | RenderFileTask | RenderDiffTask;\nexport interface WorkerStats {\n managerState: 'waiting' | 'initializing' | 'initialized';\n workersFailed: boolean;\n totalWorkers: number;\n busyWorkers: number;\n queuedTasks: number;\n activeTasks: number;\n themeSubscribers: number;\n fileCacheSize: number;\n diffCacheSize: number;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":["DiffsThemeNames","ExtensionFormatMap","FileContents","FileDiffMetadata","HighlighterTypes","LanguageRegistration","LineDiffTypes","RenderDiffOptions","RenderFileOptions","SupportedLanguages","ThemedDiffResult","ThemedFileResult","ThemeRegistrationResolved","ThemesType","WorkerRequestId","WorkerRenderingOptions","FileRendererInstance","DiffRendererInstance","RenderFileRequest","ResolvedLanguage","RenderDiffRequest","InitializeWorkerRequest","Exclude","SetRenderOptionsWorkerRequest","SubmitRequest","Omit","WorkerRequest","RenderFileSuccessResponse","RenderDiffSuccessResponse","InitializeSuccessResponse","RegisterThemeSuccessResponse","RenderErrorResponse","RenderSuccessResponse","WorkerResponse","WorkerPoolOptions","Worker","WorkerInitializationRenderOptions","Partial","InitializeWorkerTask","Error","SetRenderOptionsWorkerTask","RenderFileTask","Set","RenderDiffTask","AllWorkerTasks","WorkerStats"],"sources":["../../src/worker/types.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ExtensionFormatMap, FileContents, FileDiffMetadata, HighlighterTypes, LanguageRegistration, LineDiffTypes, RenderDiffOptions, RenderFileOptions, SupportedLanguages, ThemedDiffResult, ThemedFileResult, ThemeRegistrationResolved, ThemesType } from '../types';\nexport type WorkerRequestId = string;\nexport interface WorkerRenderingOptions {\n theme: DiffsThemeNames | ThemesType;\n useTokenTransformer: boolean;\n tokenizeMaxLineLength: number;\n lineDiffType: LineDiffTypes;\n maxLineDiffLength: number;\n}\nexport interface FileRendererInstance {\n readonly __id: string;\n onHighlightSuccess(file: FileContents, result: ThemedFileResult, options: RenderFileOptions): unknown;\n onHighlightError(error: unknown): unknown;\n}\nexport interface DiffRendererInstance {\n readonly __id: string;\n onHighlightSuccess(diff: FileDiffMetadata, result: ThemedDiffResult, options: RenderDiffOptions): unknown;\n onHighlightError(error: unknown): unknown;\n}\nexport interface RenderFileRequest {\n type: 'file';\n id: WorkerRequestId;\n file: FileContents;\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface RenderDiffRequest {\n type: 'diff';\n id: WorkerRequestId;\n diff: FileDiffMetadata;\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface InitializeWorkerRequest {\n type: 'initialize';\n id: WorkerRequestId;\n renderOptions: WorkerRenderingOptions;\n preferredHighlighter: HighlighterTypes;\n resolvedThemes: ThemeRegistrationResolved[];\n resolvedLanguages?: ResolvedLanguage[];\n customExtensionsVersion?: number;\n customExtensionMap?: ExtensionFormatMap;\n}\nexport interface ResolvedLanguage {\n name: Exclude<SupportedLanguages, 'text'>;\n data: LanguageRegistration[];\n}\nexport interface SetRenderOptionsWorkerRequest {\n type: 'set-render-options';\n id: WorkerRequestId;\n renderOptions: WorkerRenderingOptions;\n resolvedThemes: ThemeRegistrationResolved[];\n}\nexport type SubmitRequest = Omit<RenderFileRequest, 'id'> | Omit<RenderDiffRequest, 'id'>;\nexport type WorkerRequest = RenderFileRequest | RenderDiffRequest | InitializeWorkerRequest | SetRenderOptionsWorkerRequest;\nexport interface RenderFileSuccessResponse {\n type: 'success';\n requestType: 'file';\n id: WorkerRequestId;\n result: ThemedFileResult;\n options: RenderFileOptions;\n sentAt: number;\n}\nexport interface RenderDiffSuccessResponse {\n type: 'success';\n requestType: 'diff';\n id: WorkerRequestId;\n result: ThemedDiffResult;\n options: RenderDiffOptions;\n sentAt: number;\n}\nexport interface InitializeSuccessResponse {\n type: 'success';\n requestType: 'initialize';\n id: WorkerRequestId;\n sentAt: number;\n}\nexport interface RegisterThemeSuccessResponse {\n type: 'success';\n requestType: 'set-render-options';\n id: WorkerRequestId;\n sentAt: number;\n}\nexport interface RenderErrorResponse {\n type: 'error';\n id: WorkerRequestId;\n error: string;\n stack?: string;\n}\nexport type RenderSuccessResponse = RenderFileSuccessResponse | RenderDiffSuccessResponse;\nexport type WorkerResponse = RenderSuccessResponse | RenderErrorResponse | InitializeSuccessResponse | RegisterThemeSuccessResponse;\nexport interface WorkerPoolOptions {\n /**\n * Factory function that creates a new Web Worker instance for the pool.\n * This is called once per worker in the pool during initialization.\n */\n workerFactory: () => Worker;\n /**\n * Number of workers to create in the pool.\n * @default 8\n */\n poolSize?: number;\n totalASTLRUCacheSize?: number;\n}\nexport interface WorkerInitializationRenderOptions extends Partial<WorkerRenderingOptions> {\n langs?: SupportedLanguages[];\n preferredHighlighter?: HighlighterTypes;\n}\nexport interface InitializeWorkerTask {\n type: 'initialize';\n id: WorkerRequestId;\n request: InitializeWorkerRequest;\n resolve(value?: undefined): void;\n reject(error: Error): void;\n requestStart: number;\n}\nexport interface SetRenderOptionsWorkerTask {\n type: 'set-render-options';\n id: WorkerRequestId;\n request: SetRenderOptionsWorkerRequest;\n resolve(value?: undefined): void;\n reject(error: Error): void;\n requestStart: number;\n}\nexport interface RenderFileTask {\n type: 'file';\n id: WorkerRequestId;\n request: RenderFileRequest;\n instances: Set<FileRendererInstance>;\n primeCache: boolean;\n highlightKey?: string;\n renderOptionsVersion: number;\n requestStart: number;\n}\nexport interface RenderDiffTask {\n type: 'diff';\n id: WorkerRequestId;\n request: RenderDiffRequest;\n instances: Set<DiffRendererInstance>;\n primeCache: boolean;\n highlightKey?: string;\n renderOptionsVersion: number;\n requestStart: number;\n}\nexport type AllWorkerTasks = InitializeWorkerTask | SetRenderOptionsWorkerTask | RenderFileTask | RenderDiffTask;\nexport interface WorkerStats {\n managerState: 'waiting' | 'initializing' | 'initialized';\n workersFailed: boolean;\n totalWorkers: number;\n busyWorkers: number;\n queuedTasks: number;\n activeTasks: number;\n themeSubscribers: number;\n fileCacheSize: number;\n diffCacheSize: number;\n}\n//# sourceMappingURL=types.d.ts.map"],"mappings":"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"}
|
|
@@ -15105,6 +15105,132 @@ function getLineNodes(nodes) {
|
|
|
15105
15105
|
throw new Error("getLineNodes: Unable to find children");
|
|
15106
15106
|
}
|
|
15107
15107
|
|
|
15108
|
+
//#endregion
|
|
15109
|
+
//#region src/utils/computeVirtualFileMetrics.ts
|
|
15110
|
+
function computeVirtualFileMetrics(metrics) {
|
|
15111
|
+
return {
|
|
15112
|
+
...DEFAULT_VIRTUAL_FILE_METRICS,
|
|
15113
|
+
...metrics
|
|
15114
|
+
};
|
|
15115
|
+
}
|
|
15116
|
+
function getVirtualFileHeaderRegion(metrics, disableFileHeader) {
|
|
15117
|
+
const paddingTop = getVirtualFilePaddingTop(metrics, disableFileHeader);
|
|
15118
|
+
return disableFileHeader ? paddingTop : metrics.diffHeaderHeight + paddingTop;
|
|
15119
|
+
}
|
|
15120
|
+
function getVirtualFilePaddingTop(metrics, disableFileHeader) {
|
|
15121
|
+
return metrics.paddingTop ?? (disableFileHeader ? metrics.spacing : 0);
|
|
15122
|
+
}
|
|
15123
|
+
function getVirtualFilePaddingBottom(metrics) {
|
|
15124
|
+
return metrics.paddingBottom ?? metrics.spacing;
|
|
15125
|
+
}
|
|
15126
|
+
function getDefaultHunkSeparatorHeight(type) {
|
|
15127
|
+
switch (type) {
|
|
15128
|
+
case "simple": return 4;
|
|
15129
|
+
case "metadata":
|
|
15130
|
+
case "line-info":
|
|
15131
|
+
case "line-info-basic":
|
|
15132
|
+
case "custom": return 32;
|
|
15133
|
+
}
|
|
15134
|
+
}
|
|
15135
|
+
|
|
15136
|
+
//#endregion
|
|
15137
|
+
//#region src/utils/virtualDiffLayout.ts
|
|
15138
|
+
function getExpandedRegion({ isPartial, rangeSize, expandedHunks, hunkIndex, collapsedContextThreshold }) {
|
|
15139
|
+
const normalizedRangeSize = Math.max(rangeSize, 0);
|
|
15140
|
+
if (normalizedRangeSize === 0 || isPartial) {
|
|
15141
|
+
return {
|
|
15142
|
+
fromStart: 0,
|
|
15143
|
+
fromEnd: 0,
|
|
15144
|
+
rangeSize: normalizedRangeSize,
|
|
15145
|
+
collapsedLines: normalizedRangeSize,
|
|
15146
|
+
renderAll: false
|
|
15147
|
+
};
|
|
15148
|
+
}
|
|
15149
|
+
if (expandedHunks === true || normalizedRangeSize <= collapsedContextThreshold) {
|
|
15150
|
+
return {
|
|
15151
|
+
fromStart: normalizedRangeSize,
|
|
15152
|
+
fromEnd: 0,
|
|
15153
|
+
rangeSize: normalizedRangeSize,
|
|
15154
|
+
collapsedLines: 0,
|
|
15155
|
+
renderAll: true
|
|
15156
|
+
};
|
|
15157
|
+
}
|
|
15158
|
+
const region = expandedHunks?.get(hunkIndex);
|
|
15159
|
+
const fromStart = Math.min(Math.max(region?.fromStart ?? 0, 0), normalizedRangeSize);
|
|
15160
|
+
const fromEnd = Math.min(Math.max(region?.fromEnd ?? 0, 0), normalizedRangeSize);
|
|
15161
|
+
const expandedCount = fromStart + fromEnd;
|
|
15162
|
+
const renderAll = expandedCount >= normalizedRangeSize;
|
|
15163
|
+
return {
|
|
15164
|
+
fromStart: renderAll ? normalizedRangeSize : fromStart,
|
|
15165
|
+
fromEnd: renderAll ? 0 : fromEnd,
|
|
15166
|
+
rangeSize: normalizedRangeSize,
|
|
15167
|
+
collapsedLines: Math.max(normalizedRangeSize - expandedCount, 0),
|
|
15168
|
+
renderAll
|
|
15169
|
+
};
|
|
15170
|
+
}
|
|
15171
|
+
function getHunkSeparatorHeight({ type, metrics }) {
|
|
15172
|
+
return metrics.hunkSeparatorHeight ?? getDefaultHunkSeparatorHeight(type);
|
|
15173
|
+
}
|
|
15174
|
+
function getHunkSeparatorGap({ type, metrics }) {
|
|
15175
|
+
return type === "simple" || type === "metadata" || type === "line-info-basic" ? 0 : metrics.spacing;
|
|
15176
|
+
}
|
|
15177
|
+
function hasLeadingHunkSeparator({ type, hunkIndex, hunkSpecs }) {
|
|
15178
|
+
switch (type) {
|
|
15179
|
+
case "simple": return hunkIndex > 0;
|
|
15180
|
+
case "metadata": return hunkSpecs != null;
|
|
15181
|
+
case "line-info":
|
|
15182
|
+
case "line-info-basic":
|
|
15183
|
+
case "custom": return true;
|
|
15184
|
+
}
|
|
15185
|
+
}
|
|
15186
|
+
function hasTrailingHunkSeparator(type) {
|
|
15187
|
+
return type !== "simple" && type !== "metadata";
|
|
15188
|
+
}
|
|
15189
|
+
function getLeadingHunkSeparatorLayout({ type, metrics, hunkIndex, hunkSpecs }) {
|
|
15190
|
+
if (!hasLeadingHunkSeparator({
|
|
15191
|
+
type,
|
|
15192
|
+
hunkIndex,
|
|
15193
|
+
hunkSpecs
|
|
15194
|
+
})) {
|
|
15195
|
+
return undefined;
|
|
15196
|
+
}
|
|
15197
|
+
const height = getHunkSeparatorHeight({
|
|
15198
|
+
type,
|
|
15199
|
+
metrics
|
|
15200
|
+
});
|
|
15201
|
+
const gap = getHunkSeparatorGap({
|
|
15202
|
+
type,
|
|
15203
|
+
metrics
|
|
15204
|
+
});
|
|
15205
|
+
const gapBefore = hunkIndex > 0 ? gap : 0;
|
|
15206
|
+
const gapAfter = gap;
|
|
15207
|
+
return {
|
|
15208
|
+
height,
|
|
15209
|
+
gapBefore,
|
|
15210
|
+
gapAfter,
|
|
15211
|
+
totalHeight: gapBefore + height + gapAfter
|
|
15212
|
+
};
|
|
15213
|
+
}
|
|
15214
|
+
function getTrailingHunkSeparatorLayout({ type, metrics }) {
|
|
15215
|
+
if (!hasTrailingHunkSeparator(type)) {
|
|
15216
|
+
return undefined;
|
|
15217
|
+
}
|
|
15218
|
+
const height = getHunkSeparatorHeight({
|
|
15219
|
+
type,
|
|
15220
|
+
metrics
|
|
15221
|
+
});
|
|
15222
|
+
const gapBefore = getHunkSeparatorGap({
|
|
15223
|
+
type,
|
|
15224
|
+
metrics
|
|
15225
|
+
});
|
|
15226
|
+
return {
|
|
15227
|
+
height,
|
|
15228
|
+
gapBefore,
|
|
15229
|
+
gapAfter: 0,
|
|
15230
|
+
totalHeight: gapBefore + height
|
|
15231
|
+
};
|
|
15232
|
+
}
|
|
15233
|
+
|
|
15108
15234
|
//#endregion
|
|
15109
15235
|
//#region src/utils/iterateOverDiff.ts
|
|
15110
15236
|
function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infinity, expandedHunks, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, callback }) {
|
|
@@ -15199,7 +15325,13 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
15199
15325
|
if (state.shouldBreak()) {
|
|
15200
15326
|
break;
|
|
15201
15327
|
}
|
|
15202
|
-
const leadingRegion = getExpandedRegion(
|
|
15328
|
+
const leadingRegion = getExpandedRegion({
|
|
15329
|
+
isPartial: diff.isPartial,
|
|
15330
|
+
rangeSize: hunk.collapsedBefore,
|
|
15331
|
+
expandedHunks,
|
|
15332
|
+
hunkIndex,
|
|
15333
|
+
collapsedContextThreshold
|
|
15334
|
+
});
|
|
15203
15335
|
const trailingRegion = (() => {
|
|
15204
15336
|
if (hunk !== state.finalHunk || !hasFinalCollapsedHunk(diff)) {
|
|
15205
15337
|
return undefined;
|
|
@@ -15210,7 +15342,13 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
15210
15342
|
throw new Error(`iterateOverDiff: trailing context mismatch (additions=${additionRemaining}, deletions=${deletionRemaining}) for ${diff.name}`);
|
|
15211
15343
|
}
|
|
15212
15344
|
const trailingRangeSize = Math.min(additionRemaining, deletionRemaining);
|
|
15213
|
-
return getExpandedRegion(
|
|
15345
|
+
return getExpandedRegion({
|
|
15346
|
+
isPartial: diff.isPartial,
|
|
15347
|
+
rangeSize: trailingRangeSize,
|
|
15348
|
+
expandedHunks,
|
|
15349
|
+
hunkIndex: diff.hunks.length,
|
|
15350
|
+
collapsedContextThreshold
|
|
15351
|
+
});
|
|
15214
15352
|
})();
|
|
15215
15353
|
const expandedLineCount = leadingRegion.fromStart + leadingRegion.fromEnd;
|
|
15216
15354
|
function getTrailingCollapsedAfter(unifiedLineIndex$1, splitLineIndex$1) {
|
|
@@ -15548,13 +15686,25 @@ function getHunkPrefixCounts({ diff, expandedHunks, collapsedContextThreshold })
|
|
|
15548
15686
|
if (hunk == null) {
|
|
15549
15687
|
throw new Error("iterateOverDiff: invalid hunk summary index");
|
|
15550
15688
|
}
|
|
15551
|
-
const leadingRegion = getExpandedRegion(
|
|
15689
|
+
const leadingRegion = getExpandedRegion({
|
|
15690
|
+
isPartial: diff.isPartial,
|
|
15691
|
+
rangeSize: hunk.collapsedBefore,
|
|
15692
|
+
expandedHunks,
|
|
15693
|
+
hunkIndex: index,
|
|
15694
|
+
collapsedContextThreshold
|
|
15695
|
+
});
|
|
15552
15696
|
const leadingCount = leadingRegion.fromStart + leadingRegion.fromEnd;
|
|
15553
15697
|
splitCount += leadingCount + hunk.splitLineCount;
|
|
15554
15698
|
unifiedCount += leadingCount + hunk.unifiedLineCount;
|
|
15555
15699
|
if (index === finalHunkIndex && hasFinalCollapsedHunk(diff)) {
|
|
15556
15700
|
const trailingRangeSize = getTrailingRangeSize(diff, hunk);
|
|
15557
|
-
const trailingRegion = getExpandedRegion(
|
|
15701
|
+
const trailingRegion = getExpandedRegion({
|
|
15702
|
+
isPartial: diff.isPartial,
|
|
15703
|
+
rangeSize: trailingRangeSize,
|
|
15704
|
+
expandedHunks,
|
|
15705
|
+
hunkIndex: diff.hunks.length,
|
|
15706
|
+
collapsedContextThreshold
|
|
15707
|
+
});
|
|
15558
15708
|
const trailingCount = trailingRegion.fromStart + trailingRegion.fromEnd;
|
|
15559
15709
|
splitCount += trailingCount;
|
|
15560
15710
|
unifiedCount += trailingCount;
|
|
@@ -15604,36 +15754,6 @@ function getTrailingRangeSize(diff, hunk) {
|
|
|
15604
15754
|
}
|
|
15605
15755
|
return Math.min(additionRemaining, deletionRemaining);
|
|
15606
15756
|
}
|
|
15607
|
-
function getExpandedRegion(isPartial, rangeSize, expandedHunks, hunkIndex, collapsedContextThreshold) {
|
|
15608
|
-
rangeSize = Math.max(rangeSize, 0);
|
|
15609
|
-
if (rangeSize === 0 || isPartial) {
|
|
15610
|
-
return {
|
|
15611
|
-
fromStart: 0,
|
|
15612
|
-
fromEnd: 0,
|
|
15613
|
-
rangeSize,
|
|
15614
|
-
collapsedLines: Math.max(rangeSize, 0)
|
|
15615
|
-
};
|
|
15616
|
-
}
|
|
15617
|
-
if (expandedHunks === true || rangeSize <= collapsedContextThreshold) {
|
|
15618
|
-
return {
|
|
15619
|
-
fromStart: rangeSize,
|
|
15620
|
-
fromEnd: 0,
|
|
15621
|
-
rangeSize,
|
|
15622
|
-
collapsedLines: 0
|
|
15623
|
-
};
|
|
15624
|
-
}
|
|
15625
|
-
const region = expandedHunks?.get(hunkIndex);
|
|
15626
|
-
const fromStart = Math.min(Math.max(region?.fromStart ?? 0, 0), rangeSize);
|
|
15627
|
-
const fromEnd = Math.min(Math.max(region?.fromEnd ?? 0, 0), rangeSize);
|
|
15628
|
-
const expandedCount = fromStart + fromEnd;
|
|
15629
|
-
const renderAll = expandedCount >= rangeSize;
|
|
15630
|
-
return {
|
|
15631
|
-
fromStart: renderAll ? rangeSize : fromStart,
|
|
15632
|
-
fromEnd: renderAll ? 0 : fromEnd,
|
|
15633
|
-
rangeSize,
|
|
15634
|
-
collapsedLines: Math.max(rangeSize - expandedCount, 0)
|
|
15635
|
-
};
|
|
15636
|
-
}
|
|
15637
15757
|
function hasFinalCollapsedHunk(diff) {
|
|
15638
15758
|
const lastHunk = diff.hunks.at(-1);
|
|
15639
15759
|
if (lastHunk == null || diff.isPartial || diff.additionLines.length === 0 || diff.deletionLines.length === 0) {
|