@jrichman/ink 6.5.1-beta.0 → 6.5.1-beta.2

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.
Files changed (109) hide show
  1. package/build/components/App.js +0 -3
  2. package/build/components/App.js.map +1 -1
  3. package/build/components/AppContext.js +0 -1
  4. package/build/components/AppContext.js.map +1 -1
  5. package/build/components/FocusContext.js +0 -1
  6. package/build/components/FocusContext.js.map +1 -1
  7. package/build/components/Static.js +1 -1
  8. package/build/components/Static.js.map +1 -1
  9. package/build/components/StaticRender.js +9 -1
  10. package/build/components/StaticRender.js.map +1 -1
  11. package/build/components/StderrContext.js +0 -1
  12. package/build/components/StderrContext.js.map +1 -1
  13. package/build/components/StdinContext.js +0 -3
  14. package/build/components/StdinContext.js.map +1 -1
  15. package/build/components/StdoutContext.js +0 -1
  16. package/build/components/StdoutContext.js.map +1 -1
  17. package/build/data-limited-lru-map.d.ts +1 -0
  18. package/build/data-limited-lru-map.js +4 -0
  19. package/build/data-limited-lru-map.js.map +1 -1
  20. package/build/devtools.js +0 -3
  21. package/build/devtools.js.map +1 -1
  22. package/build/dom.d.ts +7 -5
  23. package/build/dom.js +6 -2
  24. package/build/dom.js.map +1 -1
  25. package/build/hooks/use-input.js +0 -1
  26. package/build/hooks/use-input.js.map +1 -1
  27. package/build/index.d.ts +1 -1
  28. package/build/index.js +1 -0
  29. package/build/index.js.map +1 -1
  30. package/build/ink.d.ts +3 -1
  31. package/build/ink.js +12 -4
  32. package/build/ink.js.map +1 -1
  33. package/build/log-update.d.ts +2 -2
  34. package/build/log-update.js +4 -4
  35. package/build/log-update.js.map +1 -1
  36. package/build/measure-element.js +15 -45
  37. package/build/measure-element.js.map +1 -1
  38. package/build/measure-text.d.ts +11 -23
  39. package/build/measure-text.js +112 -136
  40. package/build/measure-text.js.map +1 -1
  41. package/build/output.d.ts +15 -14
  42. package/build/output.js +60 -87
  43. package/build/output.js.map +1 -1
  44. package/build/reconciler.js +23 -7
  45. package/build/reconciler.js.map +1 -1
  46. package/build/render-cached.d.ts +2 -1
  47. package/build/render-cached.js +6 -3
  48. package/build/render-cached.js.map +1 -1
  49. package/build/render-container.d.ts +2 -1
  50. package/build/render-container.js +4 -1
  51. package/build/render-container.js.map +1 -1
  52. package/build/render-node-to-output.d.ts +3 -1
  53. package/build/render-node-to-output.js +10 -2
  54. package/build/render-node-to-output.js.map +1 -1
  55. package/build/render-scrollbar.d.ts +5 -3
  56. package/build/render-scrollbar.js +9 -10
  57. package/build/render-scrollbar.js.map +1 -1
  58. package/build/render-sticky.d.ts +5 -8
  59. package/build/render-sticky.js +4 -1
  60. package/build/render-sticky.js.map +1 -1
  61. package/build/render-text-node.d.ts +4 -8
  62. package/build/render-text-node.js +62 -44
  63. package/build/render-text-node.js.map +1 -1
  64. package/build/render.d.ts +3 -1
  65. package/build/render.js.map +1 -1
  66. package/build/renderer.d.ts +3 -2
  67. package/build/renderer.js +7 -5
  68. package/build/renderer.js.map +1 -1
  69. package/build/replay.d.ts +1 -2
  70. package/build/replay.js +24 -34
  71. package/build/replay.js.map +1 -1
  72. package/build/selection.d.ts +3 -3
  73. package/build/selection.js +29 -36
  74. package/build/selection.js.map +1 -1
  75. package/build/serialization.d.ts +3 -6
  76. package/build/serialization.js +53 -98
  77. package/build/serialization.js.map +1 -1
  78. package/build/styled-line.d.ts +73 -0
  79. package/build/styled-line.js +412 -0
  80. package/build/styled-line.js.map +1 -0
  81. package/build/styled-lines.d.ts +29 -0
  82. package/build/styled-lines.js +110 -0
  83. package/build/styled-lines.js.map +1 -0
  84. package/build/styles.js.map +1 -1
  85. package/build/terminal-buffer.d.ts +4 -2
  86. package/build/terminal-buffer.js +33 -7
  87. package/build/terminal-buffer.js.map +1 -1
  88. package/build/text-wrap.d.ts +6 -6
  89. package/build/text-wrap.js +66 -50
  90. package/build/text-wrap.js.map +1 -1
  91. package/build/tokenize.d.ts +47 -0
  92. package/build/tokenize.js +419 -0
  93. package/build/tokenize.js.map +1 -0
  94. package/build/worker/canvas.d.ts +6 -16
  95. package/build/worker/canvas.js +10 -25
  96. package/build/worker/canvas.js.map +1 -1
  97. package/build/worker/compositor.js +27 -19
  98. package/build/worker/compositor.js.map +1 -1
  99. package/build/worker/render-worker.js +27 -19
  100. package/build/worker/render-worker.js.map +1 -1
  101. package/build/worker/scene-manager.js +12 -3
  102. package/build/worker/scene-manager.js.map +1 -1
  103. package/build/worker/terminal-writer.d.ts +4 -4
  104. package/build/worker/terminal-writer.js +36 -52
  105. package/build/worker/terminal-writer.js.map +1 -1
  106. package/build/wrap-text.d.ts +6 -0
  107. package/build/wrap-text.js +120 -0
  108. package/build/wrap-text.js.map +1 -0
  109. package/package.json +15 -4
@@ -5,7 +5,8 @@
5
5
  */
6
6
  import process from 'node:process';
7
7
  import ansiEscapes from 'ansi-escapes';
8
- import { styledCharsToString } from '@alcalzone/ansi-tokenize';
8
+ import { styledLineToString } from '../tokenize.js';
9
+ import { StyledLine } from '../styled-line.js';
9
10
  import { debugLog } from '../debug-log.js';
10
11
  import colorize from '../colorize.js';
11
12
  import { debugWorker } from './render-worker.js';
@@ -30,33 +31,11 @@ export const rainbowColors = [
30
31
  'ansi256(75)',
31
32
  ];
32
33
  export function linesEqual(lineA, lineB) {
33
- if (lineA === lineB) {
34
+ if (lineA === lineB)
34
35
  return true;
35
- }
36
- if (!lineA || !lineB) {
37
- return false;
38
- }
39
- if (lineA.length !== lineB.length) {
36
+ if (!lineA || !lineB)
40
37
  return false;
41
- }
42
- for (let i = 0; i < lineA.length; i++) {
43
- const charA = lineA[i];
44
- const charB = lineB[i];
45
- if (charA.value !== charB.value || charA.fullWidth !== charB.fullWidth) {
46
- return false;
47
- }
48
- if (charA.styles.length !== charB.styles.length) {
49
- return false;
50
- }
51
- for (let j = 0; j < charA.styles.length; j++) {
52
- const styleA = charA.styles[j];
53
- const styleB = charB.styles[j];
54
- if (styleA.code !== styleB.code || styleA.endCode !== styleB.endCode) {
55
- return false;
56
- }
57
- }
58
- }
59
- return true;
38
+ return lineA.equals(lineB);
60
39
  }
61
40
  /**
62
41
  * Low level terminal renderer.
@@ -292,61 +271,61 @@ export class TerminalWriter {
292
271
  }
293
272
  }
294
273
  clampLine(line, width) {
295
- if (width <= 0) {
274
+ if (width <= 0 || !line) {
296
275
  return {
297
- styledChars: [],
276
+ styledChars: new StyledLine(),
298
277
  text: '',
299
278
  length: 0,
300
279
  tainted: false,
301
280
  };
302
281
  }
303
282
  let i = line.length - 1;
304
- while (i >= 0 && line[i]?.value === ' ' && line[i].styles.length === 0) {
283
+ while (i >= 0 && line.getValue(i) === ' ' && !line.hasStyles(i)) {
305
284
  i--;
306
285
  }
307
286
  const trimmedLength = i + 1;
308
287
  let visualWidth = 0;
309
288
  for (let k = 0; k < trimmedLength; k++) {
310
- if (line[k]?.value === '') {
289
+ const val = line.getValue(k);
290
+ if (val === '')
311
291
  continue;
312
- }
313
- visualWidth += line[k].fullWidth ? 2 : 1;
292
+ visualWidth += line.getFullWidth(k) ? 2 : 1;
314
293
  }
315
294
  if (visualWidth <= width) {
316
- const styledChars = line.slice(0, trimmedLength);
295
+ const styledChars = trimmedLength === line.length ? line : line.slice(0, trimmedLength);
317
296
  return {
318
297
  styledChars,
319
- text: styledCharsToString(styledChars),
298
+ text: styledLineToString(styledChars),
320
299
  length: visualWidth,
321
300
  tainted: false,
322
301
  };
323
302
  }
324
303
  // Truncate logic
325
- const lastNonSpaceChar = line[i];
326
- const hasBoxChar = lastNonSpaceChar &&
327
- (lastNonSpaceChar.value === '╮' ||
328
- lastNonSpaceChar.value === '│' ||
329
- lastNonSpaceChar.value === '╯');
304
+ const lastVal = line.getValue(i);
305
+ const lastFullWidth = line.getFullWidth(i);
306
+ const hasBoxChar = lastVal === '╮' || lastVal === '│' || lastVal === '╯';
330
307
  let targetVisualWidth = width;
331
- if (hasBoxChar && lastNonSpaceChar) {
332
- targetVisualWidth -= lastNonSpaceChar.fullWidth ? 2 : 1;
308
+ if (hasBoxChar) {
309
+ targetVisualWidth -= lastFullWidth ? 2 : 1;
333
310
  }
334
311
  let currentWidth = 0;
335
312
  let sliceIndex = 0;
336
313
  for (let k = 0; k < trimmedLength; k++) {
337
- const charWidth = line[k].fullWidth ? 2 : 1;
314
+ const charWidth = line.getFullWidth(k) ? 2 : 1;
338
315
  if (currentWidth + charWidth > targetVisualWidth) {
339
316
  break;
340
317
  }
341
318
  currentWidth += charWidth;
342
319
  sliceIndex++;
343
320
  }
344
- if (hasBoxChar && lastNonSpaceChar) {
345
- const boxWidth = lastNonSpaceChar.fullWidth ? 2 : 1;
346
- const styledChars = [...line.slice(0, sliceIndex), lastNonSpaceChar];
321
+ if (hasBoxChar) {
322
+ const boxWidth = lastFullWidth ? 2 : 1;
323
+ const lastCharLine = new StyledLine();
324
+ lastCharLine.pushChar(lastVal, line.getFormatFlags(i), line.getFgColor(i), line.getBgColor(i), line.getLink(i));
325
+ const styledChars = line.slice(0, sliceIndex).concat(lastCharLine);
347
326
  return {
348
327
  styledChars,
349
- text: styledCharsToString(styledChars),
328
+ text: styledLineToString(styledChars),
350
329
  length: currentWidth + boxWidth,
351
330
  tainted: false,
352
331
  };
@@ -354,7 +333,7 @@ export class TerminalWriter {
354
333
  const styledChars = line.slice(0, sliceIndex);
355
334
  return {
356
335
  styledChars,
357
- text: styledCharsToString(styledChars),
336
+ text: styledLineToString(styledChars),
358
337
  length: currentWidth,
359
338
  tainted: false,
360
339
  };
@@ -530,7 +509,7 @@ export class TerminalWriter {
530
509
  }
531
510
  if (!linesEqual(this.screen[r]?.styledChars, lines[index]?.styledChars) &&
532
511
  debugWorker) {
533
- debugLog(`Line ${r} on screen inconsistent between terminalWriter and ground truth. Expected "${styledCharsToString(lines[index]?.styledChars ?? [])}", got "${styledCharsToString(this.screen[r]?.styledChars ?? [])}"`);
512
+ debugLog(`Line ${r} on screen inconsistent between terminalWriter and ground truth. Expected "${styledLineToString(lines[index]?.styledChars ?? new StyledLine())}", got "${styledLineToString(this.screen[r]?.styledChars ?? new StyledLine())}"`);
534
513
  }
535
514
  }
536
515
  // Validated the backbuffer matches for lines 0 -> this.lines.length - this.rows
@@ -538,7 +517,7 @@ export class TerminalWriter {
538
517
  for (let i = 0; i < backbufferLimit; i++) {
539
518
  if (!linesEqual(this.backbuffer[i]?.styledChars, lines[i]?.styledChars) &&
540
519
  debugWorker) {
541
- debugLog(`Line ${i} in backbuffer inconsistent. Expected "${styledCharsToString(lines[i]?.styledChars ?? [])}", got "${styledCharsToString(this.backbuffer[i]?.styledChars ?? [])}"`);
520
+ debugLog(`Line ${i} in backbuffer inconsistent. Expected "${styledLineToString(lines[i]?.styledChars ?? new StyledLine())}", got "${styledLineToString(this.backbuffer[i]?.styledChars ?? new StyledLine())}"`);
542
521
  }
543
522
  }
544
523
  }
@@ -547,7 +526,7 @@ export class TerminalWriter {
547
526
  this.screen[i] = this.screen[i + 1];
548
527
  }
549
528
  this.screen[bottom - 1] = {
550
- styledChars: [],
529
+ styledChars: new StyledLine(),
551
530
  text: '',
552
531
  length: 0,
553
532
  tainted: false,
@@ -591,7 +570,7 @@ export class TerminalWriter {
591
570
  }
592
571
  else {
593
572
  this.screen[0] = {
594
- styledChars: [],
573
+ styledChars: new StyledLine(),
595
574
  text: '',
596
575
  length: 0,
597
576
  tainted: true,
@@ -611,7 +590,12 @@ export class TerminalWriter {
611
590
  for (let i = bottom - 1; i > start; i--) {
612
591
  this.screen[i] = this.screen[i - 1];
613
592
  }
614
- this.screen[start] = { styledChars: [], text: '', length: 0, tainted: false };
593
+ this.screen[start] = {
594
+ styledChars: new StyledLine(),
595
+ text: '',
596
+ length: 0,
597
+ tainted: false,
598
+ };
615
599
  }
616
600
  performScroll(options) {
617
601
  const { start, end, linesToScroll, lines, direction, scrollToBackbuffer } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-writer.js","sourceRoot":"","sources":["../../src/worker/terminal-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-writer.js","sourceRoot":"","sources":["../../src/worker/terminal-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type StyledChar } from '@alcalzone/ansi-tokenize';
2
+ export declare const sliceStyledChars: (styledChars: StyledChar[], begin: number, end?: number) => StyledChar[];
3
+ export declare const truncateStyledChars: (styledChars: StyledChar[], columns: number, options?: {
4
+ position?: "start" | "middle" | "end";
5
+ }) => StyledChar[];
6
+ export declare const wrapStyledChars: (styledChars: StyledChar[], columns: number) => StyledChar[][];
@@ -0,0 +1,120 @@
1
+ import { inkCharacterWidth, styledCharsWidth } from './measure-text.js';
2
+ export const sliceStyledChars = (styledChars, begin, end) => {
3
+ let width = 0;
4
+ const result = [];
5
+ for (const char of styledChars) {
6
+ const charWidth = inkCharacterWidth(char.value);
7
+ const charStart = width;
8
+ const charEnd = width + charWidth;
9
+ if (end !== undefined && charEnd > end) {
10
+ break;
11
+ }
12
+ if (charStart >= begin) {
13
+ result.push(char);
14
+ }
15
+ width += charWidth;
16
+ }
17
+ return result;
18
+ };
19
+ export const truncateStyledChars = (styledChars, columns, options = {}) => {
20
+ const { position = 'end' } = options;
21
+ const truncationCharacter = '…';
22
+ const truncationStyledChar = {
23
+ type: 'char',
24
+ value: truncationCharacter,
25
+ fullWidth: false,
26
+ styles: [],
27
+ };
28
+ if (columns < 1) {
29
+ return [];
30
+ }
31
+ if (columns === 1) {
32
+ return [truncationStyledChar];
33
+ }
34
+ const textWidth = styledCharsWidth(styledChars);
35
+ if (textWidth <= columns) {
36
+ return styledChars;
37
+ }
38
+ const truncationWidth = inkCharacterWidth(truncationCharacter);
39
+ if (position === 'start') {
40
+ const right = sliceStyledChars(styledChars, textWidth - columns + truncationWidth, textWidth);
41
+ return [truncationStyledChar, ...right];
42
+ }
43
+ if (position === 'middle') {
44
+ const leftWidth = Math.ceil(columns / 2);
45
+ const rightWidth = columns - leftWidth;
46
+ const left = sliceStyledChars(styledChars, 0, leftWidth - truncationWidth);
47
+ const right = sliceStyledChars(styledChars, textWidth - rightWidth, textWidth);
48
+ return [...left, truncationStyledChar, ...right];
49
+ }
50
+ const left = sliceStyledChars(styledChars, 0, columns - truncationWidth);
51
+ return [...left, truncationStyledChar];
52
+ };
53
+ const wrapWord = (rows, word, columns) => {
54
+ let currentLine = rows.at(-1);
55
+ let visible = styledCharsWidth(currentLine);
56
+ for (const character of word) {
57
+ const characterLength = inkCharacterWidth(character.value);
58
+ if (visible + characterLength > columns && visible > 0) {
59
+ rows.push([]);
60
+ currentLine = rows.at(-1);
61
+ visible = 0;
62
+ }
63
+ currentLine.push(character);
64
+ visible += characterLength;
65
+ }
66
+ };
67
+ export const wrapStyledChars = (styledChars, columns) => {
68
+ const rows = [[]];
69
+ const words = [];
70
+ let currentWord = [];
71
+ for (const char of styledChars) {
72
+ if (char.value === ' ') {
73
+ if (currentWord.length > 0) {
74
+ words.push(currentWord);
75
+ }
76
+ currentWord = [];
77
+ }
78
+ else {
79
+ currentWord.push(char);
80
+ }
81
+ }
82
+ if (currentWord.length > 0) {
83
+ words.push(currentWord);
84
+ }
85
+ const space = {
86
+ type: 'char',
87
+ value: ' ',
88
+ fullWidth: false,
89
+ styles: [],
90
+ };
91
+ for (const [index, word] of words.entries()) {
92
+ const wordWidth = styledCharsWidth(word);
93
+ let rowWidth = styledCharsWidth(rows.at(-1));
94
+ if (index > 0) {
95
+ rows.at(-1).push(space);
96
+ rowWidth++;
97
+ }
98
+ if (wordWidth > columns) {
99
+ if (index > 0) {
100
+ rows[rows.length - 1] = rows.at(-1).slice(0, -1);
101
+ if (rows.at(-1).length > 0) {
102
+ rows.push([]);
103
+ }
104
+ }
105
+ wrapWord(rows, word, columns);
106
+ continue;
107
+ }
108
+ if (rowWidth + wordWidth > columns && rowWidth > 0) {
109
+ if (index > 0) {
110
+ rows[rows.length - 1] = rows.at(-1).slice(0, -1);
111
+ }
112
+ rows.push(word);
113
+ }
114
+ else {
115
+ rows.at(-1).push(...word);
116
+ }
117
+ }
118
+ return rows;
119
+ };
120
+ //# sourceMappingURL=wrap-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-text.js","sourceRoot":"","sources":["../src/wrap-text.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jrichman/ink",
3
- "version": "6.5.1-beta.0",
3
+ "version": "6.5.1-beta.2",
4
4
  "description": "React for CLI",
5
5
  "license": "MIT",
6
6
  "repository": "jacob314/ink",
@@ -43,9 +43,8 @@
43
43
  "text"
44
44
  ],
45
45
  "dependencies": {
46
- "@alcalzone/ansi-tokenize": "^0.2.1",
47
46
  "ansi-escapes": "^7.0.0",
48
- "ansi-styles": "^6.2.1",
47
+ "ansi-styles": "^6.2.3",
49
48
  "auto-bind": "^5.0.1",
50
49
  "chalk": "^5.6.0",
51
50
  "cli-boxes": "^3.0.0",
@@ -54,6 +53,7 @@
54
53
  "code-excerpt": "^4.0.0",
55
54
  "es-toolkit": "^1.39.10",
56
55
  "indent-string": "^5.0.0",
56
+ "is-fullwidth-code-point": "^5.1.0",
57
57
  "is-in-ci": "^2.0.0",
58
58
  "mnemonist": "^0.40.3",
59
59
  "patch-console": "^2.0.0",
@@ -145,7 +145,18 @@
145
145
  "unicorn/import-index": "off",
146
146
  "import/no-useless-path-segments": "off",
147
147
  "react-hooks/exhaustive-deps": "off",
148
- "complexity": "off"
148
+ "complexity": "off",
149
+ "unicorn/no-for-loop": "off",
150
+ "no-bitwise": "off",
151
+ "@typescript-eslint/naming-convention": "off",
152
+ "eslint-comments/no-unused-disable": "off",
153
+ "import/order": "off",
154
+ "@typescript-eslint/no-unsafe-call": "off",
155
+ "unicorn/prefer-code-point": "off",
156
+ "@typescript-eslint/prefer-for-of": "off",
157
+ "@typescript-eslint/prefer-nullish-coalescing": "off",
158
+ "ava/no-import-test-files": "off",
159
+ "@typescript-eslint/no-unsafe-return": "off"
149
160
  },
150
161
  "ignores": [
151
162
  "src/parse-keypress.ts"