pi-claude-code-ui 1.0.89 → 1.0.90

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/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  > [!IMPORTANT]
4
4
  > **1.0.69 — package rename (permanent).** Canonical npm name is now [`pi-claude-code-ui`](https://www.npmjs.com/package/pi-claude-code-ui). `pi-claude-style-tools` is legacy and will not receive further releases. Install with `pi install npm:pi-claude-code-ui` or `npm i pi-claude-code-ui`.
5
5
 
6
+ ## 1.0.90 — 2026-10-19
7
+
8
+ ### Fixed
9
+
10
+ - **Split diffs wrap long lines again** - with `"diffLayout": "split"` long lines were cut off with `›` after one row (two or three on wide terminals) instead of wrapping, because split columns kept the wrap limit meant for the auto layout. Forced split now wraps each line in full, up to 8 rows. Thanks @nabsiddiqui ([#34](https://github.com/FammasMaz/pi-cc-tools/issues/34)).
11
+
6
12
  ## 1.0.89 — 2026-10-19
7
13
 
8
14
  ### Fixed
@@ -4238,6 +4238,7 @@ const WORD_DIFF_MIN_SIM = 0.15;
4238
4238
  const MAX_WRAP_ROWS_WIDE = 3;
4239
4239
  const MAX_WRAP_ROWS_MED = 2;
4240
4240
  const MAX_WRAP_ROWS_NARROW = 1;
4241
+ const FORCED_SPLIT_WRAP_ROWS = 8;
4241
4242
 
4242
4243
  let D_RST = "\x1b[0m";
4243
4244
  const D_BOLD = "\x1b[1m";
@@ -5416,6 +5417,13 @@ async function renderSplit(
5416
5417
  const nw = Math.max(2, String(maxLineNumber(diff.lines)).length);
5417
5418
  const gw = nw + 5;
5418
5419
  const cw = Math.max(12, half - gw);
5420
+ // Auto only picks split when lines fit, so the usual wrap cap rarely bites. A forced
5421
+ // split ("diffLayout": "split") halves the code width for every diff, and that cap
5422
+ // (one row below 120 columns) cut long lines off instead of wrapping them. Wrap
5423
+ // forced-split lines in full, with a cap only against minified one-liners.
5424
+ const splitWrapRows = diffLayout() === "split"
5425
+ ? Math.max(adaptiveWrapRows(), FORCED_SPLIT_WRAP_ROWS)
5426
+ : adaptiveWrapRows();
5419
5427
  const canHL = diff.chars <= MAX_HL_CHARS && vis.length * 2 <= MAX_RENDER_LINES * 2;
5420
5428
 
5421
5429
  const leftSrc: string[] = [];
@@ -5465,7 +5473,7 @@ async function renderSplit(
5465
5473
  else body = `${BG_BASE}${D_DIM}${hl}`;
5466
5474
  const gutter = `${border}${gBg}${lnum(num, nw, numFg)}${sFg}${D_BOLD}${sign} ${D_RST}${FG_RULE}│${D_RST} `;
5467
5475
  const contGutter = `${border}${gBg}${" ".repeat(nw + 2)}${D_RST}${FG_RULE}│${D_RST} `;
5468
- return { gutter, contGutter, bodyRows: wrapAnsi(tabs(body), cw, adaptiveWrapRows(), cBg) };
5476
+ return { gutter, contGutter, bodyRows: wrapAnsi(tabs(body), cw, splitWrapRows, cBg) };
5469
5477
  }
5470
5478
 
5471
5479
  const out: string[] = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-claude-code-ui",
3
- "version": "1.0.89",
3
+ "version": "1.0.90",
4
4
  "description": "Claude Code-style grouped tool rows for pi with Ctrl+O/Ctrl+Shift+O previews, math rendering, and consistent built-in, MCP, and custom tool rendering",
5
5
  "keywords": [
6
6
  "pi-package",