@jrichman/ink 6.5.1-beta.1 → 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 (74) hide show
  1. package/build/components/Static.js +1 -1
  2. package/build/components/Static.js.map +1 -1
  3. package/build/components/StaticRender.js +0 -7
  4. package/build/components/StaticRender.js.map +1 -1
  5. package/build/devtools.js +0 -2
  6. package/build/devtools.js.map +1 -1
  7. package/build/dom.d.ts +4 -4
  8. package/build/index.d.ts +1 -1
  9. package/build/index.js +1 -0
  10. package/build/index.js.map +1 -1
  11. package/build/ink.d.ts +1 -1
  12. package/build/ink.js +0 -4
  13. package/build/ink.js.map +1 -1
  14. package/build/log-update.d.ts +2 -2
  15. package/build/log-update.js +4 -5
  16. package/build/log-update.js.map +1 -1
  17. package/build/measure-element.js +16 -46
  18. package/build/measure-element.js.map +1 -1
  19. package/build/measure-text.d.ts +9 -23
  20. package/build/measure-text.js +94 -132
  21. package/build/measure-text.js.map +1 -1
  22. package/build/output.d.ts +6 -12
  23. package/build/output.js +35 -51
  24. package/build/output.js.map +1 -1
  25. package/build/render-cached.d.ts +1 -1
  26. package/build/render-cached.js +8 -5
  27. package/build/render-cached.js.map +1 -1
  28. package/build/render-container.d.ts +1 -1
  29. package/build/render-node-to-output.d.ts +1 -1
  30. package/build/render-scrollbar.d.ts +5 -3
  31. package/build/render-scrollbar.js +8 -7
  32. package/build/render-scrollbar.js.map +1 -1
  33. package/build/render-sticky.d.ts +3 -8
  34. package/build/render-sticky.js.map +1 -1
  35. package/build/render-text-node.d.ts +3 -8
  36. package/build/render-text-node.js +62 -40
  37. package/build/render-text-node.js.map +1 -1
  38. package/build/render.d.ts +1 -1
  39. package/build/renderer.d.ts +2 -2
  40. package/build/renderer.js +1 -3
  41. package/build/renderer.js.map +1 -1
  42. package/build/replay.js +4 -16
  43. package/build/replay.js.map +1 -1
  44. package/build/selection.d.ts +3 -3
  45. package/build/selection.js +27 -18
  46. package/build/selection.js.map +1 -1
  47. package/build/serialization.d.ts +2 -5
  48. package/build/serialization.js +55 -86
  49. package/build/serialization.js.map +1 -1
  50. package/build/styled-line.d.ts +73 -0
  51. package/build/styled-line.js +412 -0
  52. package/build/styled-line.js.map +1 -0
  53. package/build/terminal-buffer.d.ts +2 -2
  54. package/build/terminal-buffer.js +3 -2
  55. package/build/terminal-buffer.js.map +1 -1
  56. package/build/text-wrap.d.ts +6 -6
  57. package/build/text-wrap.js +65 -46
  58. package/build/text-wrap.js.map +1 -1
  59. package/build/tokenize.d.ts +3 -33
  60. package/build/tokenize.js +14 -115
  61. package/build/tokenize.js.map +1 -1
  62. package/build/worker/canvas.d.ts +6 -16
  63. package/build/worker/canvas.js +10 -21
  64. package/build/worker/canvas.js.map +1 -1
  65. package/build/worker/compositor.js +15 -9
  66. package/build/worker/compositor.js.map +1 -1
  67. package/build/worker/render-worker.js +2 -8
  68. package/build/worker/render-worker.js.map +1 -1
  69. package/build/worker/scene-manager.js +2 -1
  70. package/build/worker/scene-manager.js.map +1 -1
  71. package/build/worker/terminal-writer.d.ts +4 -4
  72. package/build/worker/terminal-writer.js +34 -64
  73. package/build/worker/terminal-writer.js.map +1 -1
  74. package/package.json +11 -11
@@ -0,0 +1,412 @@
1
+ import { FULL_WIDTH_MASK, BOLD_MASK, DIM_MASK, ITALIC_MASK, UNDERLINE_MASK, STRIKETHROUGH_MASK, INVERSE_MASK, HIDDEN_MASK, } from './tokenize.js';
2
+ export class StyledLine {
3
+ static empty(length) {
4
+ const line = new StyledLine();
5
+ line.length = length;
6
+ line.text = ' '.repeat(length);
7
+ line.charData = new Uint16Array(Math.max(length, 16));
8
+ for (let i = 0; i < length; i++) {
9
+ line.charData[i] = i;
10
+ }
11
+ line.spans = length > 0 ? [{ length, formatFlags: 0 }] : [];
12
+ return line;
13
+ }
14
+ length;
15
+ text;
16
+ charData;
17
+ spans;
18
+ constructor(values = [], spans = []) {
19
+ this.length = values.length;
20
+ this.text = values.join('');
21
+ this.charData = new Uint16Array(Math.max(this.length, 16));
22
+ let currentOffset = 0;
23
+ let spanIdx = 0;
24
+ let spanPos = 0;
25
+ for (let i = 0; i < this.length; i++) {
26
+ const val = values[i];
27
+ let isFullWidth = false;
28
+ if (spans.length > 0 && spanIdx < spans.length) {
29
+ const span = spans[spanIdx];
30
+ if ((span.formatFlags & FULL_WIDTH_MASK) !== 0) {
31
+ isFullWidth = true;
32
+ }
33
+ spanPos++;
34
+ if (spanPos >= span.length) {
35
+ spanIdx++;
36
+ spanPos = 0;
37
+ }
38
+ }
39
+ this.charData[i] = currentOffset | (isFullWidth ? 0x80_00 : 0);
40
+ currentOffset += val.length;
41
+ }
42
+ this.spans = spans.map(s => ({
43
+ ...s,
44
+ formatFlags: s.formatFlags & ~FULL_WIDTH_MASK,
45
+ }));
46
+ this.mergeSpans();
47
+ }
48
+ getValue(index) {
49
+ if (index < 0 || index >= this.length)
50
+ return '';
51
+ const start = this.charData[index] & 0x7f_ff;
52
+ const end = index + 1 < this.length
53
+ ? this.charData[index + 1] & 0x7f_ff
54
+ : this.text.length;
55
+ return this.text.slice(start, end);
56
+ }
57
+ getSpan(index) {
58
+ if (index < 0 || index >= this.length)
59
+ return undefined;
60
+ let current = 0;
61
+ for (const span of this.spans) {
62
+ if (index < current + span.length)
63
+ return span;
64
+ current += span.length;
65
+ }
66
+ return undefined;
67
+ }
68
+ getFullWidth(index) {
69
+ if (index < 0 || index >= this.length)
70
+ return false;
71
+ return (this.charData[index] & 0x80_00) !== 0;
72
+ }
73
+ hasStyles(index) {
74
+ const span = this.getSpan(index);
75
+ if (!span)
76
+ return false;
77
+ return ((span.formatFlags & ~FULL_WIDTH_MASK) !== 0 ||
78
+ span.fgColor !== undefined ||
79
+ span.bgColor !== undefined ||
80
+ span.link !== undefined);
81
+ }
82
+ getFormatFlags(index) {
83
+ let flags = this.getSpan(index)?.formatFlags ?? 0;
84
+ if (this.getFullWidth(index)) {
85
+ flags |= FULL_WIDTH_MASK;
86
+ }
87
+ return flags;
88
+ }
89
+ getFgColor(index) {
90
+ return this.getSpan(index)?.fgColor;
91
+ }
92
+ getBgColor(index) {
93
+ return this.getSpan(index)?.bgColor;
94
+ }
95
+ getLink(index) {
96
+ return this.getSpan(index)?.link;
97
+ }
98
+ // eslint-disable-next-line max-params
99
+ setChar(index, value, formatFlags, fgColor, bgColor, link) {
100
+ if (index < 0 || index >= this.length)
101
+ return;
102
+ const isFullWidth = (formatFlags & FULL_WIDTH_MASK) !== 0;
103
+ const cleanFormatFlags = formatFlags & ~FULL_WIDTH_MASK;
104
+ const start = this.charData[index] & 0x7f_ff;
105
+ const end = index + 1 < this.length
106
+ ? this.charData[index + 1] & 0x7f_ff
107
+ : this.text.length;
108
+ const oldLen = end - start;
109
+ const newLen = value.length;
110
+ if (oldLen === newLen) {
111
+ this.text = this.text.slice(0, start) + value + this.text.slice(end);
112
+ }
113
+ else {
114
+ this.text = this.text.slice(0, start) + value + this.text.slice(end);
115
+ const diff = newLen - oldLen;
116
+ for (let i = index + 1; i < this.length; i++) {
117
+ const data = this.charData[i];
118
+ const oldOffset = data & 0x7f_ff;
119
+ const fw = data & 0x80_00;
120
+ this.charData[i] = (oldOffset + diff) | fw;
121
+ }
122
+ }
123
+ this.charData[index] = start | (isFullWidth ? 0x80_00 : 0);
124
+ this.splitSpansAt(index);
125
+ this.splitSpansAt(index + 1);
126
+ let current = 0;
127
+ for (let i = 0; i < this.spans.length; i++) {
128
+ const span = this.spans[i];
129
+ if (current === index && span.length === 1) {
130
+ this.spans[i] = {
131
+ length: 1,
132
+ formatFlags: cleanFormatFlags,
133
+ fgColor,
134
+ bgColor,
135
+ link,
136
+ };
137
+ break;
138
+ }
139
+ current += span.length;
140
+ }
141
+ this.mergeSpans();
142
+ }
143
+ // eslint-disable-next-line max-params
144
+ pushChar(value, formatFlags, fgColor, bgColor, link) {
145
+ const isFullWidth = (formatFlags & FULL_WIDTH_MASK) !== 0;
146
+ const cleanFormatFlags = formatFlags & ~FULL_WIDTH_MASK;
147
+ const offset = this.text.length;
148
+ this.text += value;
149
+ if (this.length >= this.charData.length) {
150
+ const newData = new Uint16Array(this.charData.length * 2 || 16);
151
+ newData.set(this.charData);
152
+ this.charData = newData;
153
+ }
154
+ this.charData[this.length] = offset | (isFullWidth ? 0x80_00 : 0);
155
+ const lastSpan = this.spans.at(-1);
156
+ if (lastSpan &&
157
+ lastSpan.formatFlags === cleanFormatFlags &&
158
+ lastSpan.fgColor === fgColor &&
159
+ lastSpan.bgColor === bgColor &&
160
+ lastSpan.link === link) {
161
+ lastSpan.length++;
162
+ }
163
+ else {
164
+ this.spans.push({
165
+ length: 1,
166
+ formatFlags: cleanFormatFlags,
167
+ fgColor,
168
+ bgColor,
169
+ link,
170
+ });
171
+ }
172
+ this.length++;
173
+ }
174
+ slice(start, end) {
175
+ const actualStart = Math.max(0, start);
176
+ const actualEnd = end === undefined ? this.length : Math.min(this.length, end);
177
+ if (actualStart >= actualEnd)
178
+ return new StyledLine([], []);
179
+ const result = new StyledLine();
180
+ result.length = actualEnd - actualStart;
181
+ result.charData = new Uint16Array(Math.max(result.length, 16));
182
+ const textStart = this.charData[actualStart] & 0x7f_ff;
183
+ const textEnd = actualEnd < this.length
184
+ ? this.charData[actualEnd] & 0x7f_ff
185
+ : this.text.length;
186
+ result.text = this.text.slice(textStart, textEnd);
187
+ for (let i = 0; i < result.length; i++) {
188
+ const oldData = this.charData[actualStart + i];
189
+ const oldOffset = oldData & 0x7f_ff;
190
+ const fw = oldData & 0x80_00;
191
+ result.charData[i] = (oldOffset - textStart) | fw;
192
+ }
193
+ const newSpans = [];
194
+ let current = 0;
195
+ for (const span of this.spans) {
196
+ const spanStart = current;
197
+ const spanEnd = current + span.length;
198
+ const intersectStart = Math.max(actualStart, spanStart);
199
+ const intersectEnd = Math.min(actualEnd, spanEnd);
200
+ if (intersectStart < intersectEnd) {
201
+ newSpans.push({
202
+ ...span,
203
+ length: intersectEnd - intersectStart,
204
+ });
205
+ }
206
+ current += span.length;
207
+ if (current >= actualEnd)
208
+ break;
209
+ }
210
+ result.spans = newSpans;
211
+ result.mergeSpans();
212
+ return result;
213
+ }
214
+ concat(other) {
215
+ const result = new StyledLine();
216
+ result.length = this.length + other.length;
217
+ result.text = this.text + other.text;
218
+ result.charData = new Uint16Array(Math.max(result.length, 16));
219
+ result.charData.set(this.charData.subarray(0, this.length), 0);
220
+ const textOffset = this.text.length;
221
+ for (let i = 0; i < other.length; i++) {
222
+ const oldData = other.charData[i];
223
+ const oldOffset = oldData & 0x7f_ff;
224
+ const fw = oldData & 0x80_00;
225
+ result.charData[this.length + i] = (oldOffset + textOffset) | fw;
226
+ }
227
+ result.spans = [...this.spans, ...other.spans.map(s => ({ ...s }))];
228
+ result.mergeSpans();
229
+ return result;
230
+ }
231
+ trimEnd() {
232
+ let i = this.length - 1;
233
+ while (i >= 0 && this.getValue(i) === ' ' && !this.hasStyles(i)) {
234
+ i--;
235
+ }
236
+ return this.slice(0, i + 1);
237
+ }
238
+ equals(other) {
239
+ if (this.length !== other.length)
240
+ return false;
241
+ if (this.text !== other.text)
242
+ return false;
243
+ if (this.spans.length !== other.spans.length)
244
+ return false;
245
+ for (let i = 0; i < this.spans.length; i++) {
246
+ const s1 = this.spans[i];
247
+ const s2 = other.spans[i];
248
+ if (s1.length !== s2.length ||
249
+ s1.formatFlags !== s2.formatFlags ||
250
+ s1.fgColor !== s2.fgColor ||
251
+ s1.bgColor !== s2.bgColor ||
252
+ s1.link !== s2.link) {
253
+ return false;
254
+ }
255
+ }
256
+ for (let i = 0; i < this.length; i++) {
257
+ if (this.charData[i] !== other.charData[i])
258
+ return false;
259
+ }
260
+ return true;
261
+ }
262
+ getSpans() {
263
+ return this.spans;
264
+ }
265
+ getValues() {
266
+ return Array.from({ length: this.length }, (_, i) => this.getValue(i));
267
+ }
268
+ *[Symbol.iterator]() {
269
+ let currentSpanIdx = 0;
270
+ let currentSpanPos = 0;
271
+ for (let i = 0; i < this.length; i++) {
272
+ const span = this.spans[currentSpanIdx];
273
+ const formatFlags = span ? span.formatFlags : 0;
274
+ const isFullWidth = this.getFullWidth(i);
275
+ yield {
276
+ value: this.getValue(i),
277
+ formatFlags: formatFlags | (isFullWidth ? FULL_WIDTH_MASK : 0),
278
+ fgColor: span?.fgColor,
279
+ bgColor: span?.bgColor,
280
+ link: span?.link,
281
+ fullWidth: isFullWidth,
282
+ hasStyles: (formatFlags & ~FULL_WIDTH_MASK) !== 0 ||
283
+ span?.fgColor !== undefined ||
284
+ span?.bgColor !== undefined ||
285
+ span?.link !== undefined,
286
+ };
287
+ if (span) {
288
+ currentSpanPos++;
289
+ if (currentSpanPos >= span.length) {
290
+ currentSpanIdx++;
291
+ currentSpanPos = 0;
292
+ }
293
+ }
294
+ }
295
+ }
296
+ splitSpansAt(index) {
297
+ if (index <= 0 || index >= this.length)
298
+ return;
299
+ let current = 0;
300
+ for (let i = 0; i < this.spans.length; i++) {
301
+ const span = this.spans[i];
302
+ if (index > current && index < current + span.length) {
303
+ const leftLen = index - current;
304
+ const rightLen = span.length - leftLen;
305
+ this.spans.splice(i, 1, { ...span, length: leftLen }, { ...span, length: rightLen });
306
+ return;
307
+ }
308
+ current += span.length;
309
+ }
310
+ }
311
+ mergeSpans() {
312
+ const newSpans = [];
313
+ for (const span of this.spans) {
314
+ if (span.length === 0)
315
+ continue;
316
+ const last = newSpans.at(-1);
317
+ if (last &&
318
+ last.formatFlags === span.formatFlags &&
319
+ last.fgColor === span.fgColor &&
320
+ last.bgColor === span.bgColor &&
321
+ last.link === span.link) {
322
+ last.length += span.length;
323
+ }
324
+ else {
325
+ newSpans.push({ ...span });
326
+ }
327
+ }
328
+ this.spans = newSpans;
329
+ }
330
+ }
331
+ export class StyledChar {
332
+ _value;
333
+ _formatFlags;
334
+ _fgColor;
335
+ _bgColor;
336
+ _link;
337
+ // eslint-disable-next-line max-params
338
+ constructor(_value, _formatFlags, _fgColor, _bgColor, _link) {
339
+ this._value = _value;
340
+ this._formatFlags = _formatFlags;
341
+ this._fgColor = _fgColor;
342
+ this._bgColor = _bgColor;
343
+ this._link = _link;
344
+ }
345
+ getValue() {
346
+ return this._value;
347
+ }
348
+ getFullWidth() {
349
+ return (this._formatFlags & FULL_WIDTH_MASK) !== 0;
350
+ }
351
+ getForegroundColor() {
352
+ return this._fgColor;
353
+ }
354
+ getBackgroundColor() {
355
+ return this._bgColor;
356
+ }
357
+ getBold() {
358
+ return (this._formatFlags & BOLD_MASK) !== 0;
359
+ }
360
+ getDim() {
361
+ return (this._formatFlags & DIM_MASK) !== 0;
362
+ }
363
+ getItalic() {
364
+ return (this._formatFlags & ITALIC_MASK) !== 0;
365
+ }
366
+ getUnderline() {
367
+ return (this._formatFlags & UNDERLINE_MASK) !== 0;
368
+ }
369
+ getStrikethrough() {
370
+ return (this._formatFlags & STRIKETHROUGH_MASK) !== 0;
371
+ }
372
+ getInverse() {
373
+ return (this._formatFlags & INVERSE_MASK) !== 0;
374
+ }
375
+ getHidden() {
376
+ return (this._formatFlags & HIDDEN_MASK) !== 0;
377
+ }
378
+ getLink() {
379
+ return this._link;
380
+ }
381
+ get formatFlags() {
382
+ return this._formatFlags;
383
+ }
384
+ get fgColor() {
385
+ return this._fgColor;
386
+ }
387
+ get bgColor() {
388
+ return this._bgColor;
389
+ }
390
+ get link() {
391
+ return this._link;
392
+ }
393
+ setFormatFlag(mask) {
394
+ this._formatFlags |= mask;
395
+ }
396
+ clearFormatFlag(mask) {
397
+ this._formatFlags &= ~mask;
398
+ }
399
+ setBackgroundColor(color) {
400
+ this._bgColor = color;
401
+ }
402
+ hasStyles() {
403
+ return ((this._formatFlags & ~FULL_WIDTH_MASK) !== 0 ||
404
+ this._fgColor !== undefined ||
405
+ this._bgColor !== undefined ||
406
+ this._link !== undefined);
407
+ }
408
+ copyWith(overrides) {
409
+ return new StyledChar(overrides.value ?? this._value, this._formatFlags, this._fgColor, this._bgColor, this._link);
410
+ }
411
+ }
412
+ //# sourceMappingURL=styled-line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled-line.js","sourceRoot":"","sources":["../src/styled-line.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { type StyledChar } from './tokenize.js';
6
+ import { StyledLine } from './styled-line.js';
7
7
  import { type Region } from './output.js';
8
8
  import { type InkOptions } from './components/AppContext.js';
9
9
  export default class TerminalBuffer {
10
- get lines(): StyledChar[][];
10
+ get lines(): StyledLine[];
11
11
  private _cachedLines?;
12
12
  private lastRootRegion?;
13
13
  private readonly serializer;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import process from 'node:process';
7
7
  import { fork } from 'node:child_process';
8
+ import { StyledLine } from './styled-line.js';
8
9
  import { Serializer } from './serialization.js';
9
10
  import { TerminalBufferWorker } from './worker/render-worker.js';
10
11
  import { linesEqual } from './worker/terminal-writer.js';
@@ -440,9 +441,9 @@ export default class TerminalBuffer {
440
441
  if (chunkStart === -1) {
441
442
  chunkStart = i;
442
443
  }
443
- chunkLines.push(newLine ?? []);
444
+ chunkLines.push(newLine ?? new StyledLine());
444
445
  if (debugEdits) {
445
- chunkSource.push(oldLine ?? []);
446
+ chunkSource.push(oldLine ?? new StyledLine());
446
447
  }
447
448
  }
448
449
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-buffer.js","sourceRoot":"","sources":["../src/terminal-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-buffer.js","sourceRoot":"","sources":["../src/terminal-buffer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { StyledChar } from './tokenize.js';
2
- export declare const sliceStyledChars: (styledChars: StyledChar[], begin: number, end?: number) => StyledChar[];
3
- export declare const truncateStyledChars: (styledChars: StyledChar[], columns: number, options?: {
1
+ import { StyledLine } from './styled-line.js';
2
+ export declare const sliceStyledChars: (line: StyledLine, begin: number, end?: number) => StyledLine;
3
+ export declare const truncateStyledChars: (line: StyledLine, columns: number, options?: {
4
4
  position?: "start" | "middle" | "end";
5
- }) => StyledChar[];
6
- export declare const wrapStyledChars: (styledChars: StyledChar[], columns: number) => StyledChar[][];
7
- export declare const wrapOrTruncateStyledChars: (styledChars: StyledChar[], maxWidth: number, textWrap?: string) => StyledChar[][];
5
+ }) => StyledLine;
6
+ export declare const wrapStyledChars: (line: StyledLine, columns: number) => StyledLine[];
7
+ export declare const wrapOrTruncateStyledChars: (line: StyledLine, maxWidth: number, textWrap?: string) => StyledLine[];