@pierre/diffs 1.1.0-beta.4 → 1.1.0-beta.6
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/File.d.ts +6 -0
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +4 -5
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +6 -0
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +4 -5
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/highlighter/languages/constants.d.ts +3 -1
- package/dist/highlighter/languages/constants.d.ts.map +1 -1
- package/dist/highlighter/languages/constants.js +2 -1
- package/dist/highlighter/languages/constants.js.map +1 -1
- package/dist/highlighter/languages/registerCustomLanguage.d.ts +12 -0
- package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -0
- package/dist/highlighter/languages/registerCustomLanguage.js +21 -0
- package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -0
- package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
- package/dist/highlighter/languages/resolveLanguage.js +4 -3
- package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +5 -4
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +10 -6
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/getFiletypeFromFileName.d.ts +2 -1
- package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
- package/dist/utils/getFiletypeFromFileName.js +14 -4
- package/dist/utils/getFiletypeFromFileName.js.map +1 -1
- package/dist/utils/iterateOverDiff.d.ts +2 -0
- package/dist/utils/iterateOverDiff.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.js +7 -5
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.d.ts +2 -1
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
- package/dist/utils/renderDiffWithHighlighter.js +3 -2
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
- package/dist/utils/setLanguageOverride.d.ts +2 -1
- package/dist/utils/setLanguageOverride.d.ts.map +1 -1
- package/dist/utils/setLanguageOverride.js.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +1 -1
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +3 -2
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/worker-portable.js +29 -11
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +17 -8
- package/dist/worker/worker.js.map +1 -1
- package/package.json +2 -2
|
@@ -11685,6 +11685,7 @@ const LINE_HEIGHT = 20;
|
|
|
11685
11685
|
const DIFF_HEADER_HEIGHT = 44;
|
|
11686
11686
|
const HUNK_SEPARATOR_HEIGHT = 32;
|
|
11687
11687
|
const FILE_GAP = 8;
|
|
11688
|
+
const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;
|
|
11688
11689
|
const DEFAULT_EXPANDED_REGION = Object.freeze({
|
|
11689
11690
|
fromStart: 0,
|
|
11690
11691
|
fromEnd: 0
|
|
@@ -11694,6 +11695,7 @@ const DEFAULT_EXPANDED_REGION = Object.freeze({
|
|
|
11694
11695
|
//#region src/highlighter/languages/constants.ts
|
|
11695
11696
|
const ResolvedLanguages = new Map();
|
|
11696
11697
|
const ResolvingLanguages = new Map();
|
|
11698
|
+
const RegisteredCustomLanguages = new Map();
|
|
11697
11699
|
const AttachedLanguages = new Set();
|
|
11698
11700
|
|
|
11699
11701
|
//#endregion
|
|
@@ -13948,6 +13950,7 @@ function formatCSSVariablePrefix(type) {
|
|
|
13948
13950
|
|
|
13949
13951
|
//#endregion
|
|
13950
13952
|
//#region src/utils/getFiletypeFromFileName.ts
|
|
13953
|
+
const CUSTOM_EXTENSION_TO_FILE_FORMAT = new Map();
|
|
13951
13954
|
const EXTENSION_TO_FILE_FORMAT = {
|
|
13952
13955
|
"1c": "1c",
|
|
13953
13956
|
abap: "abap",
|
|
@@ -14278,19 +14281,33 @@ const EXTENSION_TO_FILE_FORMAT = {
|
|
|
14278
14281
|
sty: "tex"
|
|
14279
14282
|
};
|
|
14280
14283
|
function getFiletypeFromFileName(fileName) {
|
|
14284
|
+
if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(fileName)) {
|
|
14285
|
+
return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(fileName) ?? "text";
|
|
14286
|
+
}
|
|
14281
14287
|
if (EXTENSION_TO_FILE_FORMAT[fileName] != null) {
|
|
14282
14288
|
return EXTENSION_TO_FILE_FORMAT[fileName];
|
|
14283
14289
|
}
|
|
14284
14290
|
const compoundMatch = fileName.match(/\.([^/\\]+\.[^/\\]+)$/);
|
|
14285
|
-
if (compoundMatch != null
|
|
14286
|
-
|
|
14291
|
+
if (compoundMatch != null) {
|
|
14292
|
+
if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(compoundMatch[1])) {
|
|
14293
|
+
return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(compoundMatch[1]) ?? "text";
|
|
14294
|
+
}
|
|
14295
|
+
if (EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] != null) {
|
|
14296
|
+
return EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] ?? "text";
|
|
14297
|
+
}
|
|
14287
14298
|
}
|
|
14288
|
-
const simpleMatch = fileName.match(/\.([^.]+)$/);
|
|
14289
|
-
|
|
14299
|
+
const simpleMatch = fileName.match(/\.([^.]+)$/)?.[1] ?? "";
|
|
14300
|
+
if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(simpleMatch)) {
|
|
14301
|
+
return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(simpleMatch) ?? "text";
|
|
14302
|
+
}
|
|
14303
|
+
return EXTENSION_TO_FILE_FORMAT[simpleMatch] ?? "text";
|
|
14290
14304
|
}
|
|
14291
14305
|
function extendFileFormatMap(map) {
|
|
14292
14306
|
for (const key$1 in map) {
|
|
14293
|
-
|
|
14307
|
+
const lang = map[key$1];
|
|
14308
|
+
if (lang != null) {
|
|
14309
|
+
CUSTOM_EXTENSION_TO_FILE_FORMAT.set(key$1, lang);
|
|
14310
|
+
}
|
|
14294
14311
|
}
|
|
14295
14312
|
}
|
|
14296
14313
|
|
|
@@ -14355,7 +14372,7 @@ function getLineNodes(nodes) {
|
|
|
14355
14372
|
|
|
14356
14373
|
//#endregion
|
|
14357
14374
|
//#region src/utils/iterateOverDiff.ts
|
|
14358
|
-
function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infinity, expandedHunks, callback }) {
|
|
14375
|
+
function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infinity, expandedHunks, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, callback }) {
|
|
14359
14376
|
const state = {
|
|
14360
14377
|
finalHunk: diff.hunks.at(-1),
|
|
14361
14378
|
viewportStart: startingLine,
|
|
@@ -14436,7 +14453,7 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14436
14453
|
if (state.shouldBreak()) {
|
|
14437
14454
|
break;
|
|
14438
14455
|
}
|
|
14439
|
-
const leadingRegion = getExpandedRegion(diff.isPartial, hunk.collapsedBefore, expandedHunks, hunkIndex);
|
|
14456
|
+
const leadingRegion = getExpandedRegion(diff.isPartial, hunk.collapsedBefore, expandedHunks, hunkIndex, collapsedContextThreshold);
|
|
14440
14457
|
const trailingRegion = (() => {
|
|
14441
14458
|
if (hunk !== state.finalHunk || !hasFinalCollapsedHunk(diff)) {
|
|
14442
14459
|
return undefined;
|
|
@@ -14447,7 +14464,7 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14447
14464
|
throw new Error(`iterateOverDiff: trailing context mismatch (additions=${additionRemaining}, deletions=${deletionRemaining}) for ${diff.name}`);
|
|
14448
14465
|
}
|
|
14449
14466
|
const trailingRangeSize = Math.min(additionRemaining, deletionRemaining);
|
|
14450
|
-
return getExpandedRegion(diff.isPartial, trailingRangeSize, expandedHunks, diff.hunks.length);
|
|
14467
|
+
return getExpandedRegion(diff.isPartial, trailingRangeSize, expandedHunks, diff.hunks.length, collapsedContextThreshold);
|
|
14451
14468
|
})();
|
|
14452
14469
|
const expandedLineCount = leadingRegion.fromStart + leadingRegion.fromEnd;
|
|
14453
14470
|
function getTrailingCollapsedAfter(unifiedLineIndex$1, splitLineIndex$1) {
|
|
@@ -14669,7 +14686,7 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
|
|
|
14669
14686
|
}
|
|
14670
14687
|
}
|
|
14671
14688
|
}
|
|
14672
|
-
function getExpandedRegion(isPartial, rangeSize, expandedHunks, hunkIndex) {
|
|
14689
|
+
function getExpandedRegion(isPartial, rangeSize, expandedHunks, hunkIndex, collapsedContextThreshold) {
|
|
14673
14690
|
rangeSize = Math.max(rangeSize, 0);
|
|
14674
14691
|
if (rangeSize === 0 || isPartial) {
|
|
14675
14692
|
return {
|
|
@@ -14679,7 +14696,7 @@ function getExpandedRegion(isPartial, rangeSize, expandedHunks, hunkIndex) {
|
|
|
14679
14696
|
collapsedLines: Math.max(rangeSize, 0)
|
|
14680
14697
|
};
|
|
14681
14698
|
}
|
|
14682
|
-
if (expandedHunks === true) {
|
|
14699
|
+
if (expandedHunks === true || rangeSize <= collapsedContextThreshold) {
|
|
14683
14700
|
return {
|
|
14684
14701
|
fromStart: rangeSize,
|
|
14685
14702
|
fromEnd: 0,
|
|
@@ -14831,7 +14848,7 @@ function pushOrJoinSpan({ item, arr, enableJoin, isNeutral = false, isLastItem =
|
|
|
14831
14848
|
//#endregion
|
|
14832
14849
|
//#region src/utils/renderDiffWithHighlighter.ts
|
|
14833
14850
|
const DEFAULT_PLAIN_TEXT_OPTIONS = { forcePlainText: false };
|
|
14834
|
-
function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainText, startingLine, totalLines, expandedHunks } = DEFAULT_PLAIN_TEXT_OPTIONS) {
|
|
14851
|
+
function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainText, startingLine, totalLines, expandedHunks, collapsedContextThreshold = DEFAULT_COLLAPSED_CONTEXT_THRESHOLD } = DEFAULT_PLAIN_TEXT_OPTIONS) {
|
|
14835
14852
|
if (forcePlainText) {
|
|
14836
14853
|
startingLine ??= 0;
|
|
14837
14854
|
totalLines ??= Infinity;
|
|
@@ -14886,6 +14903,7 @@ function renderDiffWithHighlighter(diff, highlighter$1, options, { forcePlainTex
|
|
|
14886
14903
|
startingLine,
|
|
14887
14904
|
totalLines,
|
|
14888
14905
|
expandedHunks: isWindowedHighlight ? expandedHunksForIteration : true,
|
|
14906
|
+
collapsedContextThreshold,
|
|
14889
14907
|
callback: ({ hunkIndex, additionLineIndex, deletionLineIndex, additionLineNumber, deletionLineNumber, unifiedAdditionLineIndex, unifiedDeletionLineIndex, splitLineIndex, type }) => {
|
|
14890
14908
|
const bucket = getBucketForHunk(hunkIndex);
|
|
14891
14909
|
if (type === "change" && lineDiffType !== "none" && additionLineIndex != null && deletionLineIndex != null) {
|