@heyhuynhgiabuu/pi-diff 0.6.1 → 0.6.3
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/core/diff.d.ts +2 -2
- package/dist/core/diff.d.ts.map +1 -1
- package/dist/core/diff.js +29 -31
- package/dist/core/diff.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -24
- package/dist/index.js.map +1 -1
- package/dist/review/command.d.ts +1 -1
- package/dist/review/command.d.ts.map +1 -1
- package/dist/review/command.js +53 -4
- package/dist/review/command.js.map +1 -1
- package/dist/review/hunk-preview.d.ts.map +1 -1
- package/dist/review/hunk-preview.js +27 -15
- package/dist/review/hunk-preview.js.map +1 -1
- package/package.json +5 -12
package/dist/core/diff.d.ts
CHANGED
|
@@ -39,13 +39,13 @@ export declare function resolveSepStyle(): HunkSeparatorStyle;
|
|
|
39
39
|
export declare function getSepStyle(): HunkSeparatorStyle;
|
|
40
40
|
/**
|
|
41
41
|
* Generate a hunk separator label for the unified view.
|
|
42
|
-
* Returns the full label including spacing, or
|
|
42
|
+
* Returns the full label including spacing, or an empty string when no useful label exists.
|
|
43
43
|
* If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
|
|
44
44
|
*/
|
|
45
45
|
export declare function sepLabelUnified(style: HunkSeparatorStyle, hunkMeta: HunkMeta | undefined, gap: number | null, content?: string): string;
|
|
46
46
|
/**
|
|
47
47
|
* Generate a hunk separator label for the split view.
|
|
48
|
-
*
|
|
48
|
+
* Returns useful context/gap labels without decorative ellipses.
|
|
49
49
|
* If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
|
|
50
50
|
*/
|
|
51
51
|
export declare function sepLabelSplit(style: HunkSeparatorStyle, hunkMeta: HunkMeta | undefined, gap: number | null, content?: string): string;
|
package/dist/core/diff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"AAMA,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAeD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAyB3D;AA+FD,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAIpF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,CAQpD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,kBAAkB,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"AAMA,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAeD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAyB3D;AA+FD,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAIpF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,kBAAkB,CAQpD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,kBAAkB,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CAyBR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,MAAM,GACd,MAAM,CA0BR;AASD,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,CA8B/D;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,UAAU,CA2CrF"}
|
package/dist/core/diff.js
CHANGED
|
@@ -145,7 +145,7 @@ export function getSepStyle() {
|
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
147
|
* Generate a hunk separator label for the unified view.
|
|
148
|
-
* Returns the full label including spacing, or
|
|
148
|
+
* Returns the full label including spacing, or an empty string when no useful label exists.
|
|
149
149
|
* If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
|
|
150
150
|
*/
|
|
151
151
|
export function sepLabelUnified(style, hunkMeta, gap, content) {
|
|
@@ -155,24 +155,23 @@ export function sepLabelUnified(style, hunkMeta, gap, content) {
|
|
|
155
155
|
const ctx = hunkMeta?.context;
|
|
156
156
|
switch (style) {
|
|
157
157
|
case "simple":
|
|
158
|
-
return "
|
|
158
|
+
return "";
|
|
159
159
|
case "gap":
|
|
160
160
|
if (gap && gap > 0)
|
|
161
161
|
return ` ${gap} unmodified lines `;
|
|
162
|
-
return "
|
|
162
|
+
return "";
|
|
163
163
|
case "context":
|
|
164
164
|
if (ctx)
|
|
165
165
|
return ` ${ctx} `;
|
|
166
166
|
if (gap && gap > 0)
|
|
167
167
|
return ` ${gap} unmodified lines `;
|
|
168
|
-
return "
|
|
169
|
-
case "metadata":
|
|
170
|
-
if (
|
|
171
|
-
return
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return
|
|
175
|
-
}
|
|
168
|
+
return "";
|
|
169
|
+
case "metadata":
|
|
170
|
+
if (ctx)
|
|
171
|
+
return ` ${ctx} `;
|
|
172
|
+
if (gap && gap > 0)
|
|
173
|
+
return ` +${gap} lines `;
|
|
174
|
+
return "";
|
|
176
175
|
case "auto":
|
|
177
176
|
default:
|
|
178
177
|
if (ctx && gap && gap > 0)
|
|
@@ -181,12 +180,12 @@ export function sepLabelUnified(style, hunkMeta, gap, content) {
|
|
|
181
180
|
return ` ${ctx} `;
|
|
182
181
|
if (gap && gap > 0)
|
|
183
182
|
return ` +${gap} lines `;
|
|
184
|
-
return "
|
|
183
|
+
return "";
|
|
185
184
|
}
|
|
186
185
|
}
|
|
187
186
|
/**
|
|
188
187
|
* Generate a hunk separator label for the split view.
|
|
189
|
-
*
|
|
188
|
+
* Returns useful context/gap labels without decorative ellipses.
|
|
190
189
|
* If `content` is non-empty, it is used directly (e.g. "───── Edit 2 ─────").
|
|
191
190
|
*/
|
|
192
191
|
export function sepLabelSplit(style, hunkMeta, gap, content) {
|
|
@@ -196,35 +195,34 @@ export function sepLabelSplit(style, hunkMeta, gap, content) {
|
|
|
196
195
|
const ctx = hunkMeta?.context;
|
|
197
196
|
switch (style) {
|
|
198
197
|
case "simple":
|
|
199
|
-
return "
|
|
198
|
+
return "";
|
|
200
199
|
case "gap":
|
|
201
200
|
if (gap && gap > 0)
|
|
202
|
-
return
|
|
203
|
-
return "
|
|
201
|
+
return ` ${gap} lines `;
|
|
202
|
+
return "";
|
|
204
203
|
case "context":
|
|
205
204
|
if (ctx && gap && gap > 0)
|
|
206
|
-
return
|
|
205
|
+
return ` ${ctx} — ${gap} lines `;
|
|
207
206
|
if (ctx)
|
|
208
|
-
return
|
|
207
|
+
return ` ${ctx} `;
|
|
209
208
|
if (gap && gap > 0)
|
|
210
|
-
return
|
|
211
|
-
return "
|
|
212
|
-
case "metadata":
|
|
213
|
-
if (
|
|
214
|
-
return
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return
|
|
218
|
-
}
|
|
209
|
+
return ` ${gap} lines `;
|
|
210
|
+
return "";
|
|
211
|
+
case "metadata":
|
|
212
|
+
if (ctx)
|
|
213
|
+
return ` ${ctx} `;
|
|
214
|
+
if (gap && gap > 0)
|
|
215
|
+
return ` ${gap} lines `;
|
|
216
|
+
return "";
|
|
219
217
|
case "auto":
|
|
220
218
|
default:
|
|
221
219
|
if (ctx && gap && gap > 0)
|
|
222
|
-
return
|
|
220
|
+
return ` ${ctx} — +${gap} lines `;
|
|
223
221
|
if (ctx)
|
|
224
|
-
return
|
|
222
|
+
return ` ${ctx} `;
|
|
225
223
|
if (gap && gap > 0)
|
|
226
|
-
return
|
|
227
|
-
return "
|
|
224
|
+
return ` +${gap} lines `;
|
|
225
|
+
return "";
|
|
228
226
|
}
|
|
229
227
|
}
|
|
230
228
|
/**
|
package/dist/core/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,iBAAiB,EAEjB,WAAW,EACX,KAAK,UAAU,EACf,SAAS,EACT,eAAe,EACf,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAaxB,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAgdxD,oFAAoF;AACpF,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAuKD,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,iBAAiB,EAEjB,WAAW,EACX,KAAK,UAAU,EACf,SAAS,EACT,eAAe,EACf,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAaxB,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAgdxD,oFAAoF;AACpF,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAuKD,iBAAS,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAoWD,iBAAe,aAAa,CAC1B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,GAAG,SAAmB,EACtB,EAAE,GAAE,UAAgC,GACnC,OAAO,CAAC,MAAM,CAAC,CAkIjB;AAMD,iBAAe,WAAW,CACxB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,GAAG,SAAoB,EACvB,EAAE,GAAE,UAAgC,GACnC,OAAO,CAAC,MAAM,CAAC,CA2KjB;AAMD,eAAO,MAAM,SAAS;;;;;;;;;CASrB,CAAC;AAEF,wBAA8B,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoxBnF"}
|
package/dist/index.js
CHANGED
|
@@ -197,7 +197,7 @@ function autoDeriveBgFromTheme(theme) {
|
|
|
197
197
|
// flashes between styled segments when toolSuccessBg is non-black
|
|
198
198
|
RST = `\x1b[0m${BG_BASE}`;
|
|
199
199
|
// Rebuild derived constants
|
|
200
|
-
DIVIDER = `${FG_RULE}
|
|
200
|
+
DIVIDER = `${FG_RULE}${RST}`;
|
|
201
201
|
}
|
|
202
202
|
catch {
|
|
203
203
|
// Fall back to defaults silently
|
|
@@ -307,7 +307,7 @@ function applyDiffPalette() {
|
|
|
307
307
|
if (shiki)
|
|
308
308
|
THEME = shiki;
|
|
309
309
|
// --- Rebuild derived constants ---
|
|
310
|
-
DIVIDER = `${FG_RULE}
|
|
310
|
+
DIVIDER = `${FG_RULE}${RST}`;
|
|
311
311
|
DEFAULT_DIFF_COLORS = { fgAdd: FG_ADD, fgDel: FG_DEL, fgCtx: FG_DIM };
|
|
312
312
|
// If no explicit bg config, auto-derive will run on first render
|
|
313
313
|
_autoDerivePending = !_hasExplicitBgConfig;
|
|
@@ -342,10 +342,10 @@ function envBg(name, fallback) {
|
|
|
342
342
|
// --- Split-view thresholds ---
|
|
343
343
|
// Split is preferred when there's real room. At narrow widths, a clean stacked
|
|
344
344
|
// (unified) view is better than a cramped split with wrapping.
|
|
345
|
-
const SPLIT_MIN_WIDTH = envInt("DIFF_SPLIT_MIN_WIDTH",
|
|
346
|
-
const SPLIT_MIN_CODE_WIDTH = envInt("DIFF_SPLIT_MIN_CODE_WIDTH",
|
|
347
|
-
const SPLIT_MAX_WRAP_RATIO = 0.
|
|
348
|
-
const SPLIT_MAX_WRAP_LINES =
|
|
345
|
+
const SPLIT_MIN_WIDTH = envInt("DIFF_SPLIT_MIN_WIDTH", 80); // allow split in normal terminals
|
|
346
|
+
const SPLIT_MIN_CODE_WIDTH = envInt("DIFF_SPLIT_MIN_CODE_WIDTH", 24); // short balanced hunks can split
|
|
347
|
+
const SPLIT_MAX_WRAP_RATIO = 0.35; // wrap-heavy hunks fall back to unified
|
|
348
|
+
const SPLIT_MAX_WRAP_LINES = 10; // absolute cap before unified fallback
|
|
349
349
|
// --- Terminal bounds ---
|
|
350
350
|
const MAX_TERM_WIDTH = 210; // max for 1728px wide display (~205 cols at typical font)
|
|
351
351
|
const DEFAULT_TERM_WIDTH = 200; // safe default for 1728x1117 resolution
|
|
@@ -394,7 +394,7 @@ function getBorderBar() {
|
|
|
394
394
|
function stripes(w, _rowOffset) {
|
|
395
395
|
return BG_BASE + FG_STRIPE + "╱".repeat(w) + RST;
|
|
396
396
|
}
|
|
397
|
-
let DIVIDER = `${FG_RULE}
|
|
397
|
+
let DIVIDER = `${FG_RULE}${RST}`;
|
|
398
398
|
const ESC_RE = "\u001b";
|
|
399
399
|
const ANSI_RE = new RegExp(`${ESC_RE}\\[[0-9;]*m`, "g");
|
|
400
400
|
const ANSI_CAPTURE_RE = new RegExp(`${ESC_RE}\\[([^m]*)m`, "g");
|
|
@@ -677,13 +677,20 @@ function shouldUseSplit(diff, tw, maxRows = MAX_PREVIEW_LINES) {
|
|
|
677
677
|
if (tw < SPLIT_MIN_WIDTH)
|
|
678
678
|
return false;
|
|
679
679
|
const nw = Math.max(2, String(Math.max(...diff.lines.map((l) => l.oldNum ?? l.newNum ?? 0), 0)).length);
|
|
680
|
-
const half = Math.floor(
|
|
680
|
+
const half = Math.floor(tw / 2);
|
|
681
681
|
const gw = nw + 4; // border + num + spaces around sign
|
|
682
682
|
const cw = Math.max(12, half - gw);
|
|
683
683
|
if (cw < SPLIT_MIN_CODE_WIDTH)
|
|
684
684
|
return false;
|
|
685
|
-
//
|
|
685
|
+
// Split view only helps balanced replacements. One-sided or heavily
|
|
686
|
+
// imbalanced hunks waste a column and should use unified rendering.
|
|
686
687
|
const vis = diff.lines.slice(0, maxRows);
|
|
688
|
+
const visibleAdd = vis.filter((line) => line.type === "add").length;
|
|
689
|
+
const visibleDel = vis.filter((line) => line.type === "del").length;
|
|
690
|
+
if (visibleAdd === 0 || visibleDel === 0)
|
|
691
|
+
return false;
|
|
692
|
+
if (Math.max(visibleAdd, visibleDel) > Math.min(visibleAdd, visibleDel) * 2)
|
|
693
|
+
return false;
|
|
687
694
|
let contentLines = 0;
|
|
688
695
|
let wrapCandidates = 0;
|
|
689
696
|
for (const l of vis) {
|
|
@@ -934,6 +941,10 @@ async function renderUnified(diff, language, max = MAX_RENDER_LINES, dc = DEFAUL
|
|
|
934
941
|
// Hunk separator — collapsed context with optional function context
|
|
935
942
|
if (l.type === "sep") {
|
|
936
943
|
const label = sepLabelUnified(getSepStyle(), l.hunkMeta, l.newNum, l.content);
|
|
944
|
+
if (!label) {
|
|
945
|
+
idx++;
|
|
946
|
+
continue;
|
|
947
|
+
}
|
|
937
948
|
const totalW = Math.min(tw, 72);
|
|
938
949
|
const pad = Math.max(0, totalW - label.length - 2);
|
|
939
950
|
const half1 = Math.floor(pad / 2), half2 = pad - half1;
|
|
@@ -1038,9 +1049,9 @@ async function renderSplit(diff, language, max = MAX_PREVIEW_LINES, dc = DEFAULT
|
|
|
1038
1049
|
rows.push({ left: dels[j] ?? null, right: adds[j] ?? null });
|
|
1039
1050
|
}
|
|
1040
1051
|
const vis = rows.slice(0, max);
|
|
1041
|
-
const half = Math.floor((tw - 1) / 2); // -1 for center divider
|
|
1042
1052
|
const nw = Math.max(2, String(Math.max(...diff.lines.map((l) => l.oldNum ?? l.newNum ?? 0), 0)).length);
|
|
1043
1053
|
const gw = nw + 4; // border + num + spaces around sign
|
|
1054
|
+
const half = Math.floor(tw / 2);
|
|
1044
1055
|
const cw = Math.max(12, half - gw);
|
|
1045
1056
|
const canHL = diff.chars <= MAX_HL_CHARS && vis.length * 2 <= MAX_RENDER_LINES * 2;
|
|
1046
1057
|
// Build separate code blocks per side
|
|
@@ -1060,16 +1071,15 @@ async function renderSplit(diff, language, max = MAX_PREVIEW_LINES, dc = DEFAULT
|
|
|
1060
1071
|
let lI = 0, rI = 0;
|
|
1061
1072
|
let stripeRow = 0; // tracks row index for diagonal stripe offset
|
|
1062
1073
|
function half_build(line, hl, ranges, side) {
|
|
1063
|
-
// Empty filler —
|
|
1074
|
+
// Empty filler — render nothing to avoid dead-column gaps.
|
|
1064
1075
|
if (!line) {
|
|
1065
|
-
|
|
1066
|
-
const gPat = FG_STRIPE + "╱".repeat(gw2) + RST;
|
|
1067
|
-
const g = gPat;
|
|
1068
|
-
return { gutter: g, contGutter: g, bodyRows: [stripes(cw, stripeRow)] };
|
|
1076
|
+
return { gutter: "", contGutter: "", bodyRows: [""] };
|
|
1069
1077
|
}
|
|
1070
1078
|
// Hunk separator with optional function context
|
|
1071
1079
|
if (line.type === "sep") {
|
|
1072
1080
|
const label = sepLabelSplit(getSepStyle(), line.hunkMeta, line.newNum, line.content);
|
|
1081
|
+
if (!label)
|
|
1082
|
+
return { gutter: "", contGutter: "", bodyRows: [""] };
|
|
1073
1083
|
const g = `${BG_BASE} ${FG_DIM}${fit("", nw + 3)}${RST}`;
|
|
1074
1084
|
return { gutter: g, contGutter: g, bodyRows: [`${BG_BASE}${FG_DIM}${fit(label, cw)}${RST}`] };
|
|
1075
1085
|
}
|
|
@@ -1108,7 +1118,7 @@ async function renderSplit(diff, language, max = MAX_PREVIEW_LINES, dc = DEFAULT
|
|
|
1108
1118
|
// Column headers — "old" / "new" positioned above line numbers
|
|
1109
1119
|
const hdrOld = `${BG_BASE}${" ".repeat(Math.max(0, nw - 2))}${dc.fgDel}${DIM}old${RST}`;
|
|
1110
1120
|
const hdrNew = `${BG_BASE}${" ".repeat(Math.max(0, nw - 2))}${dc.fgAdd}${DIM}new${RST}`;
|
|
1111
|
-
out.push(`${BG_BASE}${hdrOld}${" ".repeat(Math.max(0, half - nw
|
|
1121
|
+
out.push(`${BG_BASE}${hdrOld}${" ".repeat(Math.max(0, half - nw))}${hdrNew}`);
|
|
1112
1122
|
for (const r of vis) {
|
|
1113
1123
|
const leftLine = r.left, rightLine = r.right;
|
|
1114
1124
|
const paired = leftLine && rightLine && leftLine.type === "del" && rightLine.type === "add";
|
|
@@ -1133,18 +1143,16 @@ async function renderSplit(diff, language, max = MAX_PREVIEW_LINES, dc = DEFAULT
|
|
|
1133
1143
|
lResult = half_build(leftLine, lhl, null, "left");
|
|
1134
1144
|
rResult = half_build(rightLine, rhl, null, "right");
|
|
1135
1145
|
}
|
|
1136
|
-
// Compose wrapped rows
|
|
1146
|
+
// Compose wrapped rows; missing sides render empty to avoid dead-column gaps.
|
|
1137
1147
|
const maxRows = Math.max(lResult.bodyRows.length, rResult.bodyRows.length);
|
|
1138
|
-
const leftIsEmpty = !r.left;
|
|
1139
|
-
const rightIsEmpty = !r.right;
|
|
1140
1148
|
for (let row = 0; row < maxRows; row++) {
|
|
1141
1149
|
const lg = row === 0 ? lResult.gutter : lResult.contGutter;
|
|
1142
1150
|
const rg = row === 0 ? rResult.gutter : rResult.contGutter;
|
|
1143
|
-
const lb = lResult.bodyRows[row] ??
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
out.push(`${lg}${lb}${
|
|
1151
|
+
const lb = lResult.bodyRows[row] ?? "";
|
|
1152
|
+
const rb = rResult.bodyRows[row] ?? "";
|
|
1153
|
+
if (!lg && !rg && !lb && !rb)
|
|
1154
|
+
continue;
|
|
1155
|
+
out.push(`${lg}${lb.trimEnd()}${rg}${rb.trimEnd()}`);
|
|
1148
1156
|
stripeRow++;
|
|
1149
1157
|
}
|
|
1150
1158
|
}
|