@jrichman/ink 6.5.0 → 6.5.1-beta.1
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/build/components/App.js +0 -3
- package/build/components/App.js.map +1 -1
- package/build/components/AppContext.js +0 -1
- package/build/components/AppContext.js.map +1 -1
- package/build/components/FocusContext.js +0 -1
- package/build/components/FocusContext.js.map +1 -1
- package/build/components/Static.js +2 -2
- package/build/components/Static.js.map +1 -1
- package/build/components/StaticRender.js +16 -1
- package/build/components/StaticRender.js.map +1 -1
- package/build/components/StderrContext.js +0 -1
- package/build/components/StderrContext.js.map +1 -1
- package/build/components/StdinContext.js +0 -3
- package/build/components/StdinContext.js.map +1 -1
- package/build/components/StdoutContext.js +0 -1
- package/build/components/StdoutContext.js.map +1 -1
- package/build/data-limited-lru-map.d.ts +1 -0
- package/build/data-limited-lru-map.js +4 -0
- package/build/data-limited-lru-map.js.map +1 -1
- package/build/devtools.js +0 -1
- package/build/devtools.js.map +1 -1
- package/build/dom.d.ts +7 -5
- package/build/dom.js +6 -2
- package/build/dom.js.map +1 -1
- package/build/hooks/use-input.js +0 -1
- package/build/hooks/use-input.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/ink.d.ts +3 -1
- package/build/ink.js +12 -0
- package/build/ink.js.map +1 -1
- package/build/log-update.d.ts +1 -1
- package/build/log-update.js +3 -2
- package/build/log-update.js.map +1 -1
- package/build/measure-element.js +5 -5
- package/build/measure-element.js.map +1 -1
- package/build/measure-text.d.ts +3 -1
- package/build/measure-text.js +39 -25
- package/build/measure-text.js.map +1 -1
- package/build/output.d.ts +13 -6
- package/build/output.js +46 -54
- package/build/output.js.map +1 -1
- package/build/reconciler.js +23 -7
- package/build/reconciler.js.map +1 -1
- package/build/render-cached.d.ts +2 -1
- package/build/render-cached.js +3 -3
- package/build/render-cached.js.map +1 -1
- package/build/render-container.d.ts +2 -1
- package/build/render-container.js +4 -1
- package/build/render-container.js.map +1 -1
- package/build/render-node-to-output.d.ts +3 -1
- package/build/render-node-to-output.js +10 -2
- package/build/render-node-to-output.js.map +1 -1
- package/build/render-scrollbar.d.ts +1 -1
- package/build/render-scrollbar.js +4 -6
- package/build/render-scrollbar.js.map +1 -1
- package/build/render-sticky.d.ts +5 -3
- package/build/render-sticky.js +4 -1
- package/build/render-sticky.js.map +1 -1
- package/build/render-text-node.d.ts +2 -1
- package/build/render-text-node.js +4 -8
- package/build/render-text-node.js.map +1 -1
- package/build/render-worker.d.ts +25 -0
- package/build/render-worker.js +370 -0
- package/build/render-worker.js.map +1 -0
- package/build/render.d.ts +3 -1
- package/build/render.js.map +1 -1
- package/build/renderer.d.ts +2 -1
- package/build/renderer.js +7 -3
- package/build/renderer.js.map +1 -1
- package/build/replay.d.ts +1 -2
- package/build/replay.js +29 -27
- package/build/replay.js.map +1 -1
- package/build/selection.d.ts +1 -1
- package/build/selection.js +7 -23
- package/build/selection.js.map +1 -1
- package/build/serialization.d.ts +5 -5
- package/build/serialization.js +59 -73
- package/build/serialization.js.map +1 -1
- package/build/styled-lines.d.ts +29 -0
- package/build/styled-lines.js +110 -0
- package/build/styled-lines.js.map +1 -0
- package/build/styles.js.map +1 -1
- package/build/terminal-buffer.d.ts +6 -2
- package/build/terminal-buffer.js +47 -10
- package/build/terminal-buffer.js.map +1 -1
- package/build/terminal-writer.d.ts +69 -0
- package/build/terminal-writer.js +546 -0
- package/build/terminal-writer.js.map +1 -0
- package/build/text-wrap.d.ts +1 -1
- package/build/text-wrap.js +10 -13
- package/build/text-wrap.js.map +1 -1
- package/build/tokenize.d.ts +77 -0
- package/build/tokenize.js +520 -0
- package/build/tokenize.js.map +1 -0
- package/build/web/ansi-to-css.d.ts +16 -0
- package/build/web/ansi-to-css.js +147 -0
- package/build/web/ansi-to-css.js.map +1 -0
- package/build/web/client.d.ts +51 -0
- package/build/web/client.js +315 -0
- package/build/web/client.js.map +1 -0
- package/build/web/server.d.ts +1 -0
- package/build/web/server.js +179 -0
- package/build/web/server.js.map +1 -0
- package/build/worker/canvas.d.ts +1 -1
- package/build/worker/canvas.js +2 -6
- package/build/worker/canvas.js.map +1 -1
- package/build/worker/compositor.js +15 -13
- package/build/worker/compositor.js.map +1 -1
- package/build/worker/dump-replay.d.ts +1 -0
- package/build/worker/dump-replay.js +15 -0
- package/build/worker/dump-replay.js.map +1 -0
- package/build/worker/render-worker.js +27 -13
- package/build/worker/render-worker.js.map +1 -1
- package/build/worker/replay.d.ts +55 -0
- package/build/worker/replay.js +133 -0
- package/build/worker/replay.js.map +1 -0
- package/build/worker/scene-manager.js +16 -7
- package/build/worker/scene-manager.js.map +1 -1
- package/build/worker/terminal-writer.d.ts +3 -3
- package/build/worker/terminal-writer.js +36 -20
- package/build/worker/terminal-writer.js.map +1 -1
- package/build/wrap-text.d.ts +6 -0
- package/build/wrap-text.js +120 -0
- package/build/wrap-text.js.map +1 -0
- package/package.json +16 -5
package/build/replay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC,OAAO,
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
|
package/build/selection.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { StyledChar } from './tokenize.js';
|
|
7
7
|
import { type DOMNode } from './dom.js';
|
|
8
8
|
export declare const comparePoints: (nodeA: DOMNode, offsetA: number, nodeB: DOMNode, offsetB: number) => number;
|
|
9
9
|
export declare class Range {
|
package/build/selection.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { StyledChar } from './tokenize.js';
|
|
6
7
|
import { getPathToRoot } from './dom.js';
|
|
7
8
|
import { toStyledCharacters } from './measure-text.js';
|
|
8
9
|
import { processLayout } from './layout.js';
|
|
@@ -38,22 +39,12 @@ const getPlainTextFromDomNode = (node) => {
|
|
|
38
39
|
}),
|
|
39
40
|
onNewline(count, state) {
|
|
40
41
|
for (let i = 0; i < count; i++) {
|
|
41
|
-
state.styledChars.push(
|
|
42
|
-
type: 'char',
|
|
43
|
-
value: '\n',
|
|
44
|
-
fullWidth: false,
|
|
45
|
-
styles: [],
|
|
46
|
-
});
|
|
42
|
+
state.styledChars.push(new StyledChar('\n', 0));
|
|
47
43
|
}
|
|
48
44
|
},
|
|
49
45
|
onSpace(count, state) {
|
|
50
46
|
for (let i = 0; i < count; i++) {
|
|
51
|
-
state.styledChars.push(
|
|
52
|
-
type: 'char',
|
|
53
|
-
value: ' ',
|
|
54
|
-
fullWidth: false,
|
|
55
|
-
styles: [],
|
|
56
|
-
});
|
|
47
|
+
state.styledChars.push(new StyledChar(' ', 0));
|
|
57
48
|
}
|
|
58
49
|
},
|
|
59
50
|
onText(fragment, state) {
|
|
@@ -221,7 +212,7 @@ export class Range {
|
|
|
221
212
|
}
|
|
222
213
|
return fullStyledChars
|
|
223
214
|
.slice(offsets.start, offsets.end)
|
|
224
|
-
.map(char => char.
|
|
215
|
+
.map(char => char.getValue())
|
|
225
216
|
.join('');
|
|
226
217
|
}
|
|
227
218
|
updateCollapsed() {
|
|
@@ -355,15 +346,8 @@ export const applySelectionStyle = (char, selectionStyle) => {
|
|
|
355
346
|
if (selectionStyle) {
|
|
356
347
|
return selectionStyle(char);
|
|
357
348
|
}
|
|
358
|
-
const newChar = {
|
|
359
|
-
|
|
360
|
-
styles: [...char.styles],
|
|
361
|
-
};
|
|
362
|
-
newChar.styles.push({
|
|
363
|
-
type: 'ansi',
|
|
364
|
-
code: '\u001B[7m',
|
|
365
|
-
endCode: '\u001B[27m',
|
|
366
|
-
});
|
|
349
|
+
const newChar = char.copyWith({});
|
|
350
|
+
newChar.setFormatFlag(1 << 5); // INVERSE_MASK
|
|
367
351
|
return newChar;
|
|
368
352
|
};
|
|
369
353
|
export const applySelectionToStyledChars = (styledChars, selectionState, selectionStyle) => {
|
|
@@ -372,7 +356,7 @@ export const applySelectionToStyledChars = (styledChars, selectionState, selecti
|
|
|
372
356
|
let charCodeUnitOffset = 0;
|
|
373
357
|
const newStyledChars = [];
|
|
374
358
|
for (const char of styledChars) {
|
|
375
|
-
const charLength = char.
|
|
359
|
+
const charLength = char.getValue().length;
|
|
376
360
|
const globalOffset = currentOffset + charCodeUnitOffset;
|
|
377
361
|
if (globalOffset >= start && globalOffset < end) {
|
|
378
362
|
newStyledChars.push(applySelectionStyle(char, selectionStyle));
|
package/build/selection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"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"}
|
package/build/serialization.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { StyledChar } from './tokenize.js';
|
|
2
|
+
export type StyledLine = StyledChar[];
|
|
2
3
|
export declare class Serializer {
|
|
3
4
|
private buffer;
|
|
4
5
|
private currentSize;
|
|
5
6
|
constructor(initialSize?: number);
|
|
6
|
-
serialize(lines: StyledChar[]
|
|
7
|
+
serialize(lines: ReadonlyArray<readonly StyledChar[]>): Uint8Array;
|
|
7
8
|
private ensureCapacity;
|
|
8
9
|
private writeLine;
|
|
9
10
|
private isSameStyle;
|
|
10
11
|
private writeSpan;
|
|
11
|
-
private writeAnsiCode;
|
|
12
12
|
private writeString;
|
|
13
13
|
private writeUint32;
|
|
14
14
|
private writeUint8;
|
|
15
15
|
}
|
|
16
|
+
export declare function getInternedChar(value: string, fullWidth: boolean, charTemplate: StyledChar | undefined): StyledChar;
|
|
16
17
|
export declare class Deserializer {
|
|
17
18
|
private offset;
|
|
18
19
|
private readonly buf;
|
|
19
20
|
constructor(buffer: Uint8Array);
|
|
20
|
-
deserialize():
|
|
21
|
+
deserialize(): StyledLine[];
|
|
21
22
|
private readLine;
|
|
22
23
|
private readSpan;
|
|
23
|
-
private readAnsiCode;
|
|
24
24
|
private readString;
|
|
25
25
|
private readUint32;
|
|
26
26
|
private readUint16;
|
package/build/serialization.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
|
-
|
|
2
|
+
import { StyledChar, FULL_WIDTH_MASK } from './tokenize.js';
|
|
3
3
|
const hasStylesMask = 0b0000_0010;
|
|
4
4
|
const fullWidthMask = 0b0000_0001;
|
|
5
5
|
const isRepeatedCharMask = 0b0000_0100;
|
|
@@ -50,18 +50,19 @@ export class Serializer {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
isSameStyle(charA, charB) {
|
|
53
|
-
|
|
54
|
-
const stylesB = charB.styles;
|
|
55
|
-
if (stylesA.length !== stylesB.length) {
|
|
53
|
+
if (charA.hasStyles() !== charB.hasStyles()) {
|
|
56
54
|
return false;
|
|
57
55
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (styleA.code !== styleB.code || styleA.endCode !== styleB.endCode) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
56
|
+
if (!charA.hasStyles()) {
|
|
57
|
+
return true;
|
|
63
58
|
}
|
|
64
|
-
|
|
59
|
+
// Internal access for performance during serialization
|
|
60
|
+
const a = charA;
|
|
61
|
+
const b = charB;
|
|
62
|
+
return (a.formatFlags === b.formatFlags &&
|
|
63
|
+
a.fgColor === b.fgColor &&
|
|
64
|
+
a.bgColor === b.bgColor &&
|
|
65
|
+
a.link === b.link);
|
|
65
66
|
}
|
|
66
67
|
writeSpan(line, start, end) {
|
|
67
68
|
const spanLength = end - start;
|
|
@@ -71,48 +72,44 @@ export class Serializer {
|
|
|
71
72
|
let isAsciiMixed = true;
|
|
72
73
|
for (let i = start; i < end; i++) {
|
|
73
74
|
const char = line[i];
|
|
74
|
-
if (char.
|
|
75
|
-
char.
|
|
75
|
+
if (char.getValue() !== firstChar.getValue() ||
|
|
76
|
+
char.getFullWidth() !== firstChar.getFullWidth()) {
|
|
76
77
|
isRepeatedChar = false;
|
|
77
78
|
}
|
|
78
|
-
if (char.
|
|
79
|
+
if (char.getFullWidth() || char.getValue().length !== 1) {
|
|
79
80
|
isAsciiMixed = false;
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
let flags = 0;
|
|
83
|
-
if (firstChar.
|
|
84
|
-
// eslint-disable-next-line no-bitwise
|
|
84
|
+
if (firstChar.hasStyles()) {
|
|
85
85
|
flags |= hasStylesMask;
|
|
86
86
|
}
|
|
87
87
|
if (isRepeatedChar) {
|
|
88
|
-
// eslint-disable-next-line no-bitwise
|
|
89
88
|
flags |= isRepeatedCharMask;
|
|
90
89
|
}
|
|
91
90
|
else if (isAsciiMixed) {
|
|
92
|
-
// eslint-disable-next-line no-bitwise
|
|
93
91
|
flags |= isAsciiMixedMask;
|
|
94
92
|
}
|
|
95
93
|
this.writeUint8(flags);
|
|
96
|
-
// eslint-disable-next-line no-bitwise
|
|
97
94
|
if (flags & hasStylesMask) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
95
|
+
const fc = firstChar;
|
|
96
|
+
this.writeUint8(fc.formatFlags);
|
|
97
|
+
this.writeString(fc.fgColor || '');
|
|
98
|
+
this.writeString(fc.bgColor || '');
|
|
99
|
+
this.writeString(fc.link || '');
|
|
102
100
|
}
|
|
103
101
|
if (isRepeatedChar) {
|
|
104
102
|
let charFlags = 0;
|
|
105
|
-
if (firstChar.
|
|
106
|
-
// eslint-disable-next-line no-bitwise
|
|
103
|
+
if (firstChar.getFullWidth()) {
|
|
107
104
|
charFlags |= fullWidthMask;
|
|
108
105
|
}
|
|
109
106
|
this.writeUint8(charFlags);
|
|
110
|
-
this.writeString(firstChar.
|
|
107
|
+
this.writeString(firstChar.getValue() || '');
|
|
111
108
|
}
|
|
112
109
|
else if (isAsciiMixed) {
|
|
113
110
|
let concat = '';
|
|
114
111
|
for (let i = start; i < end; i++) {
|
|
115
|
-
concat += line[i].
|
|
112
|
+
concat += line[i].getValue();
|
|
116
113
|
}
|
|
117
114
|
this.writeString(concat);
|
|
118
115
|
}
|
|
@@ -120,19 +117,14 @@ export class Serializer {
|
|
|
120
117
|
for (let i = start; i < end; i++) {
|
|
121
118
|
const char = line[i];
|
|
122
119
|
let charFlags = 0;
|
|
123
|
-
if (char.
|
|
124
|
-
// eslint-disable-next-line no-bitwise
|
|
120
|
+
if (char.getFullWidth()) {
|
|
125
121
|
charFlags |= fullWidthMask;
|
|
126
122
|
}
|
|
127
123
|
this.writeUint8(charFlags);
|
|
128
|
-
this.writeString(char.
|
|
124
|
+
this.writeString(char.getValue() || '');
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
127
|
}
|
|
132
|
-
writeAnsiCode(code) {
|
|
133
|
-
this.writeString(code.code);
|
|
134
|
-
this.writeString(code.endCode);
|
|
135
|
-
}
|
|
136
128
|
writeString(str) {
|
|
137
129
|
const len = Buffer.byteLength(str);
|
|
138
130
|
this.ensureCapacity(2 + len);
|
|
@@ -152,6 +144,27 @@ export class Serializer {
|
|
|
152
144
|
this.currentSize += 1;
|
|
153
145
|
}
|
|
154
146
|
}
|
|
147
|
+
const commonCharCache = new Map();
|
|
148
|
+
export function getInternedChar(value, fullWidth, charTemplate) {
|
|
149
|
+
if (!charTemplate?.hasStyles()) {
|
|
150
|
+
const key = fullWidth ? value + '|fw' : value;
|
|
151
|
+
let cached = commonCharCache.get(key);
|
|
152
|
+
if (!cached) {
|
|
153
|
+
cached = new StyledChar(value, fullWidth ? FULL_WIDTH_MASK : 0);
|
|
154
|
+
commonCharCache.set(key, cached);
|
|
155
|
+
}
|
|
156
|
+
return cached;
|
|
157
|
+
}
|
|
158
|
+
// Just copy over properties from template, plus fullwidth and value
|
|
159
|
+
let flags = charTemplate.formatFlags;
|
|
160
|
+
if (fullWidth) {
|
|
161
|
+
flags |= FULL_WIDTH_MASK;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
flags &= ~FULL_WIDTH_MASK;
|
|
165
|
+
}
|
|
166
|
+
return new StyledChar(value, flags, charTemplate.fgColor, charTemplate.bgColor, charTemplate.link);
|
|
167
|
+
}
|
|
155
168
|
export class Deserializer {
|
|
156
169
|
offset = 0;
|
|
157
170
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -171,77 +184,50 @@ export class Deserializer {
|
|
|
171
184
|
}
|
|
172
185
|
readLine() {
|
|
173
186
|
const spanCount = this.readUint32();
|
|
174
|
-
const
|
|
187
|
+
const chars = [];
|
|
175
188
|
for (let i = 0; i < spanCount; i++) {
|
|
176
|
-
this.readSpan(
|
|
189
|
+
this.readSpan(chars);
|
|
177
190
|
}
|
|
178
|
-
return
|
|
191
|
+
return chars;
|
|
179
192
|
}
|
|
180
193
|
readSpan(line) {
|
|
181
194
|
const spanLength = this.readUint32();
|
|
182
195
|
const flags = this.readUint8();
|
|
183
|
-
// eslint-disable-next-line no-bitwise
|
|
184
196
|
const hasStyles = (flags & hasStylesMask) !== 0;
|
|
185
|
-
// eslint-disable-next-line no-bitwise
|
|
186
197
|
const isRepeatedChar = (flags & isRepeatedCharMask) !== 0;
|
|
187
|
-
// eslint-disable-next-line no-bitwise
|
|
188
198
|
const isAsciiMixed = (flags & isAsciiMixedMask) !== 0;
|
|
189
|
-
|
|
199
|
+
let charTemplate;
|
|
190
200
|
if (hasStyles) {
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
201
|
+
const formatFlags = this.readUint8();
|
|
202
|
+
const fgColor = this.readString();
|
|
203
|
+
const bgColor = this.readString();
|
|
204
|
+
const link = this.readString();
|
|
205
|
+
charTemplate = new StyledChar('', formatFlags, fgColor || undefined, bgColor || undefined, link || undefined);
|
|
195
206
|
}
|
|
196
207
|
if (isRepeatedChar) {
|
|
197
208
|
const charFlags = this.readUint8();
|
|
198
|
-
// eslint-disable-next-line no-bitwise
|
|
199
209
|
const fullWidth = (charFlags & fullWidthMask) !== 0;
|
|
200
210
|
const value = this.readString();
|
|
211
|
+
const char = getInternedChar(value, fullWidth, charTemplate);
|
|
201
212
|
for (let i = 0; i < spanLength; i++) {
|
|
202
|
-
line.push(
|
|
203
|
-
type: 'char',
|
|
204
|
-
value,
|
|
205
|
-
fullWidth,
|
|
206
|
-
styles,
|
|
207
|
-
});
|
|
213
|
+
line.push(char);
|
|
208
214
|
}
|
|
209
215
|
}
|
|
210
216
|
else if (isAsciiMixed) {
|
|
211
217
|
const value = this.readString();
|
|
212
218
|
for (let i = 0; i < spanLength; i++) {
|
|
213
|
-
line.push(
|
|
214
|
-
type: 'char',
|
|
215
|
-
value: value[i],
|
|
216
|
-
fullWidth: false,
|
|
217
|
-
styles,
|
|
218
|
-
});
|
|
219
|
+
line.push(getInternedChar(value[i], false, charTemplate));
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
else {
|
|
222
223
|
for (let i = 0; i < spanLength; i++) {
|
|
223
224
|
const charFlags = this.readUint8();
|
|
224
|
-
// eslint-disable-next-line no-bitwise
|
|
225
225
|
const fullWidth = (charFlags & fullWidthMask) !== 0;
|
|
226
226
|
const value = this.readString();
|
|
227
|
-
line.push(
|
|
228
|
-
type: 'char',
|
|
229
|
-
value,
|
|
230
|
-
fullWidth,
|
|
231
|
-
styles,
|
|
232
|
-
});
|
|
227
|
+
line.push(getInternedChar(value, fullWidth, charTemplate));
|
|
233
228
|
}
|
|
234
229
|
}
|
|
235
230
|
}
|
|
236
|
-
readAnsiCode() {
|
|
237
|
-
const code = this.readString();
|
|
238
|
-
const endCode = this.readString();
|
|
239
|
-
return {
|
|
240
|
-
type: 'ansi',
|
|
241
|
-
code,
|
|
242
|
-
endCode,
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
231
|
readString() {
|
|
246
232
|
const len = this.readUint16();
|
|
247
233
|
const str = this.buf.toString('utf8', this.offset, this.offset + len);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AnsiCode, StyledChar } from '@alcalzone/ansi-tokenize';
|
|
2
|
+
/**
|
|
3
|
+
* A highly optimized representation of styled characters for terminal rendering.
|
|
4
|
+
* Replaces arrays of `StyledChar` objects with parallel arrays to eliminate
|
|
5
|
+
* massive GC overhead during large layout and scroll updates.
|
|
6
|
+
*/
|
|
7
|
+
export declare class StyledLines {
|
|
8
|
+
values: string[];
|
|
9
|
+
fullWidths: boolean[];
|
|
10
|
+
styles: AnsiCode[][];
|
|
11
|
+
get length(): number;
|
|
12
|
+
set length(value: number);
|
|
13
|
+
push(value: string, fullWidth: boolean, styles: AnsiCode[]): void;
|
|
14
|
+
pushChar(char: StyledChar): void;
|
|
15
|
+
pushLine(other: StyledLines): void;
|
|
16
|
+
slice(start?: number, end?: number): StyledLines;
|
|
17
|
+
splice(start: number, deleteCount: number, ...items: StyledChar[]): StyledLines;
|
|
18
|
+
[Symbol.iterator](): Generator<{
|
|
19
|
+
type: "char";
|
|
20
|
+
value: string;
|
|
21
|
+
fullWidth: boolean;
|
|
22
|
+
styles: AnsiCode[];
|
|
23
|
+
}, void, unknown>;
|
|
24
|
+
entries(): IterableIterator<[number, StyledChar]>;
|
|
25
|
+
map<U>(callbackfn: (value: StyledChar, index: number, array: StyledChar[]) => U, thisArg?: any): U[];
|
|
26
|
+
indexOf(searchElement: StyledChar, fromIndex?: number): number;
|
|
27
|
+
at(index: number): StyledChar | undefined;
|
|
28
|
+
clone(): StyledLines;
|
|
29
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A highly optimized representation of styled characters for terminal rendering.
|
|
3
|
+
* Replaces arrays of `StyledChar` objects with parallel arrays to eliminate
|
|
4
|
+
* massive GC overhead during large layout and scroll updates.
|
|
5
|
+
*/
|
|
6
|
+
export class StyledLines {
|
|
7
|
+
values = [];
|
|
8
|
+
fullWidths = [];
|
|
9
|
+
styles = [];
|
|
10
|
+
get length() {
|
|
11
|
+
return this.values.length;
|
|
12
|
+
}
|
|
13
|
+
set length(value) {
|
|
14
|
+
this.values.length = value;
|
|
15
|
+
this.fullWidths.length = value;
|
|
16
|
+
this.styles.length = value;
|
|
17
|
+
}
|
|
18
|
+
push(value, fullWidth, styles) {
|
|
19
|
+
this.values.push(value);
|
|
20
|
+
this.fullWidths.push(fullWidth);
|
|
21
|
+
this.styles.push(styles);
|
|
22
|
+
}
|
|
23
|
+
pushChar(char) {
|
|
24
|
+
this.values.push(char.value);
|
|
25
|
+
this.fullWidths.push(char.fullWidth || false);
|
|
26
|
+
this.styles.push(char.styles || []);
|
|
27
|
+
}
|
|
28
|
+
pushLine(other) {
|
|
29
|
+
for (let i = 0; i < other.length; i++) {
|
|
30
|
+
this.values.push(other.values[i]);
|
|
31
|
+
this.fullWidths.push(other.fullWidths[i]);
|
|
32
|
+
this.styles.push(other.styles[i]);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
slice(start, end) {
|
|
36
|
+
const result = new StyledLines();
|
|
37
|
+
result.values = this.values.slice(start, end);
|
|
38
|
+
result.fullWidths = this.fullWidths.slice(start, end);
|
|
39
|
+
result.styles = this.styles.slice(start, end);
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
splice(start, deleteCount, ...items) {
|
|
43
|
+
const result = new StyledLines();
|
|
44
|
+
result.values = this.values.splice(start, deleteCount, ...items.map(i => i.value));
|
|
45
|
+
result.fullWidths = this.fullWidths.splice(start, deleteCount, ...items.map(i => i.fullWidth || false));
|
|
46
|
+
result.styles = this.styles.splice(start, deleteCount, ...items.map(i => i.styles || []));
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
*[Symbol.iterator]() {
|
|
50
|
+
for (let i = 0; i < this.length; i++) {
|
|
51
|
+
yield {
|
|
52
|
+
type: 'char',
|
|
53
|
+
value: this.values[i],
|
|
54
|
+
fullWidth: this.fullWidths[i],
|
|
55
|
+
styles: this.styles[i],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
entries() {
|
|
60
|
+
let i = 0;
|
|
61
|
+
return {
|
|
62
|
+
[Symbol.iterator]() {
|
|
63
|
+
return this;
|
|
64
|
+
},
|
|
65
|
+
next: () => {
|
|
66
|
+
if (i >= this.length)
|
|
67
|
+
return { done: true, value: undefined };
|
|
68
|
+
const val = [i, this.at(i)];
|
|
69
|
+
i++;
|
|
70
|
+
return { done: false, value: val };
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
map(callbackfn, thisArg) {
|
|
75
|
+
const result = [];
|
|
76
|
+
for (let i = 0; i < this.length; i++) {
|
|
77
|
+
result.push(callbackfn.call(thisArg, this.at(i), i, this));
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
indexOf(searchElement, fromIndex = 0) {
|
|
82
|
+
for (let i = fromIndex; i < this.length; i++) {
|
|
83
|
+
if (this.values[i] === searchElement.value &&
|
|
84
|
+
this.fullWidths[i] === searchElement.fullWidth)
|
|
85
|
+
return i;
|
|
86
|
+
}
|
|
87
|
+
return -1;
|
|
88
|
+
}
|
|
89
|
+
at(index) {
|
|
90
|
+
if (index < 0) {
|
|
91
|
+
index = this.length + index;
|
|
92
|
+
}
|
|
93
|
+
if (index < 0 || index >= this.length)
|
|
94
|
+
return undefined;
|
|
95
|
+
return {
|
|
96
|
+
type: 'char',
|
|
97
|
+
value: this.values[index],
|
|
98
|
+
fullWidth: this.fullWidths[index],
|
|
99
|
+
styles: this.styles[index],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
clone() {
|
|
103
|
+
const result = new StyledLines();
|
|
104
|
+
result.values = [...this.values];
|
|
105
|
+
result.fullWidths = [...this.fullWidths];
|
|
106
|
+
result.styles = [...this.styles];
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=styled-lines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled-lines.js","sourceRoot":"","sources":["../src/styled-lines.ts"],"names":[],"mappings":"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"}
|