@nuvin/ink 7.6.0-alpha → 7.7.0-alpha
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/allocated-seek.d.ts +21 -0
- package/build/allocated-seek.js +273 -0
- package/build/allocated-seek.js.map +1 -0
- package/build/components/App.d.ts +5 -1
- package/build/components/App.js +48 -10
- package/build/components/App.js.map +1 -1
- package/build/explicit-width-detection.d.ts +45 -0
- package/build/explicit-width-detection.js +172 -0
- package/build/explicit-width-detection.js.map +1 -0
- package/build/explicit-width.d.ts +1 -0
- package/build/explicit-width.js +114 -0
- package/build/explicit-width.js.map +1 -0
- package/build/ink.d.ts +43 -1
- package/build/ink.js +651 -143
- package/build/ink.js.map +1 -1
- package/build/input-parser.d.ts +14 -1
- package/build/input-parser.js +74 -4
- package/build/input-parser.js.map +1 -1
- package/build/log-update.d.ts +16 -8
- package/build/log-update.js +313 -33
- package/build/log-update.js.map +1 -1
- package/build/output.js +66 -34
- package/build/output.js.map +1 -1
- package/build/render.d.ts +11 -0
- package/build/render.js.map +1 -1
- package/build/terminal-control.d.ts +6 -0
- package/build/terminal-control.js +124 -0
- package/build/terminal-control.js.map +1 -0
- package/build/terminal-paint.d.ts +38 -0
- package/build/terminal-paint.js +47 -0
- package/build/terminal-paint.js.map +1 -0
- package/package.json +2 -1
- package/readme.md +50 -0
package/build/log-update.js
CHANGED
|
@@ -2,6 +2,8 @@ import process from 'node:process';
|
|
|
2
2
|
import ansiEscapes from 'ansi-escapes';
|
|
3
3
|
import cliCursor from 'cli-cursor';
|
|
4
4
|
import { cursorPositionChanged, getOutputCursorRow, buildCursorSuffix, buildCursorOnlySequence, buildReturnToBottomPrefix, hideCursorEscape, showCursorEscape, } from './cursor-helpers.js';
|
|
5
|
+
import { createSeekPreparer } from './allocated-seek.js';
|
|
6
|
+
import { isSeekViewport, clampSeekCursor, buildSeekCursorSequence, encodeSeekRows, wrapSeekPaint, decawmOn, eraseDisplayHome, } from './terminal-paint.js';
|
|
5
7
|
// Count visible lines in a string, ignoring the trailing empty element
|
|
6
8
|
// that `split('\n')` produces when the string ends with '\n'.
|
|
7
9
|
const visibleLineCount = (lines, str) => str.endsWith('\n') ? lines.length - 1 : lines.length;
|
|
@@ -107,7 +109,7 @@ const detectScrollShift = (previousLines, nextLines) => {
|
|
|
107
109
|
}
|
|
108
110
|
return undefined;
|
|
109
111
|
};
|
|
110
|
-
const createStandard = (stream, { showCursor = false } = {}) => {
|
|
112
|
+
const createStandard = (stream, { showCursor = false, transformOutput } = {}) => {
|
|
111
113
|
let previousLineCount = 0;
|
|
112
114
|
let previousOutput = '';
|
|
113
115
|
let hasHiddenCursor = false;
|
|
@@ -151,7 +153,7 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
151
153
|
const returnPrefix = buildReturnToBottomPrefix(cursorWasShown, previousLineCount, previousCursorPosition);
|
|
152
154
|
stream.write(returnPrefix +
|
|
153
155
|
ansiEscapes.eraseLines(getEraseLineCount(previousLineCount, options)) +
|
|
154
|
-
str +
|
|
156
|
+
(transformOutput ? transformOutput(str) : str) +
|
|
155
157
|
cursorSuffix);
|
|
156
158
|
previousLineCount = lines.length;
|
|
157
159
|
}
|
|
@@ -159,8 +161,8 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
159
161
|
cursorWasShown = activeCursor !== undefined;
|
|
160
162
|
return true;
|
|
161
163
|
};
|
|
162
|
-
const render = (str) => writeFrame(str, false);
|
|
163
|
-
render.repaint = (str, options) => writeFrame(str, true, options);
|
|
164
|
+
const render = (str, _context) => writeFrame(str, false);
|
|
165
|
+
render.repaint = (str, options, _context) => writeFrame(str, true, options);
|
|
164
166
|
render.clear = (options) => {
|
|
165
167
|
const prefix = buildReturnToBottomPrefix(cursorWasShown, previousLineCount, previousCursorPosition);
|
|
166
168
|
stream.write(prefix +
|
|
@@ -195,7 +197,7 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
195
197
|
cursorWasShown = false;
|
|
196
198
|
cursorDirty = false;
|
|
197
199
|
};
|
|
198
|
-
render.sync = (str) => {
|
|
200
|
+
render.sync = (str, _physical) => {
|
|
199
201
|
const activeCursor = cursorPosition;
|
|
200
202
|
cursorDirty = false;
|
|
201
203
|
const lines = str.split('\n');
|
|
@@ -215,10 +217,14 @@ const createStandard = (stream, { showCursor = false } = {}) => {
|
|
|
215
217
|
cursorDirty = true;
|
|
216
218
|
};
|
|
217
219
|
render.isCursorDirty = () => cursorDirty;
|
|
218
|
-
render.willRender = (str) => hasChanges(str, getActiveCursor());
|
|
220
|
+
render.willRender = (str, _context) => hasChanges(str, getActiveCursor());
|
|
221
|
+
render.getPhysicalFrame = () => undefined;
|
|
222
|
+
render.restoreTerminalModes = () => {
|
|
223
|
+
// Standard rendering never acquires seek terminal modes.
|
|
224
|
+
};
|
|
219
225
|
return render;
|
|
220
226
|
};
|
|
221
|
-
const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
227
|
+
const createIncremental = (stream, { showCursor = false, transformOutput } = {}) => {
|
|
222
228
|
let previousLines = [];
|
|
223
229
|
let previousOutput = '';
|
|
224
230
|
let hasHiddenCursor = false;
|
|
@@ -226,12 +232,221 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
226
232
|
let cursorDirty = false;
|
|
227
233
|
let previousCursorPosition;
|
|
228
234
|
let cursorWasShown = false;
|
|
235
|
+
let physicalFrame;
|
|
236
|
+
let previousIdentities = [];
|
|
237
|
+
let ownsDecawm = false;
|
|
238
|
+
let writeGeneration = 0;
|
|
239
|
+
let paintedSeekViewport = false;
|
|
240
|
+
const seekPreparer = createSeekPreparer();
|
|
241
|
+
let streamErrorHandler;
|
|
242
|
+
let handlingAsyncWriteError = false;
|
|
229
243
|
const getActiveCursor = () => cursorPosition;
|
|
230
244
|
const hasChanges = (str, activeCursor) => {
|
|
231
245
|
const cursorChanged = cursorPositionChanged(activeCursor, previousCursorPosition);
|
|
232
246
|
return str !== previousOutput || cursorChanged;
|
|
233
247
|
};
|
|
234
|
-
const
|
|
248
|
+
const bumpGeneration = () => {
|
|
249
|
+
writeGeneration++;
|
|
250
|
+
};
|
|
251
|
+
const invalidatePhysical = () => {
|
|
252
|
+
if (physicalFrame === undefined) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
physicalFrame = {
|
|
256
|
+
...physicalFrame,
|
|
257
|
+
valid: false,
|
|
258
|
+
ownsViewport: false,
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
const canWriteStream = () => {
|
|
262
|
+
const candidate = stream;
|
|
263
|
+
return (!candidate.destroyed &&
|
|
264
|
+
!candidate.writableEnded &&
|
|
265
|
+
(candidate.writable ?? true));
|
|
266
|
+
};
|
|
267
|
+
const restoreTerminalModes = () => {
|
|
268
|
+
if (!ownsDecawm) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (canWriteStream()) {
|
|
272
|
+
try {
|
|
273
|
+
stream.write(decawmOn);
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// Best-effort autowrap restore.
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
ownsDecawm = false;
|
|
280
|
+
};
|
|
281
|
+
const handleAsyncWriteError = () => {
|
|
282
|
+
if (handlingAsyncWriteError) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
handlingAsyncWriteError = true;
|
|
286
|
+
bumpGeneration();
|
|
287
|
+
invalidatePhysical();
|
|
288
|
+
previousIdentities = [];
|
|
289
|
+
previousOutput = '';
|
|
290
|
+
previousLines = [];
|
|
291
|
+
// A queued successful write can establish the next ordered diff base,
|
|
292
|
+
// but an async error invalidates it; it is not proof that a terminal
|
|
293
|
+
// displayed the frame.
|
|
294
|
+
if (paintedSeekViewport) {
|
|
295
|
+
ownsDecawm = true;
|
|
296
|
+
}
|
|
297
|
+
restoreTerminalModes();
|
|
298
|
+
};
|
|
299
|
+
const detachStreamErrorListener = () => {
|
|
300
|
+
if (!streamErrorHandler) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
stream.off('error', streamErrorHandler);
|
|
304
|
+
streamErrorHandler = undefined;
|
|
305
|
+
};
|
|
306
|
+
const attachStreamErrorListener = () => {
|
|
307
|
+
if (streamErrorHandler) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
streamErrorHandler = () => {
|
|
311
|
+
handleAsyncWriteError();
|
|
312
|
+
};
|
|
313
|
+
stream.on('error', streamErrorHandler);
|
|
314
|
+
};
|
|
315
|
+
const copyContext = (context) => ({
|
|
316
|
+
strategy: context.strategy,
|
|
317
|
+
columns: context.columns,
|
|
318
|
+
rows: context.rows,
|
|
319
|
+
});
|
|
320
|
+
const seekHasChanges = (str, context, activeCursor) => {
|
|
321
|
+
if (physicalFrame === undefined ||
|
|
322
|
+
!physicalFrame.valid ||
|
|
323
|
+
physicalFrame.context.strategy !== context.strategy ||
|
|
324
|
+
physicalFrame.context.columns !== context.columns ||
|
|
325
|
+
physicalFrame.context.rows !== context.rows ||
|
|
326
|
+
str !== previousOutput) {
|
|
327
|
+
return true;
|
|
328
|
+
}
|
|
329
|
+
return cursorPositionChanged(activeCursor, previousCursorPosition);
|
|
330
|
+
};
|
|
331
|
+
const submitSeekWrite = (payload, { decawm, onAccept, }) => {
|
|
332
|
+
const generation = ++writeGeneration;
|
|
333
|
+
handlingAsyncWriteError = false;
|
|
334
|
+
if (decawm) {
|
|
335
|
+
ownsDecawm = true;
|
|
336
|
+
// Seek cells may already be on the stream; keep teardown ownership
|
|
337
|
+
// through throw/reentry. Physical/diff still publish only on accept.
|
|
338
|
+
paintedSeekViewport = true;
|
|
339
|
+
}
|
|
340
|
+
attachStreamErrorListener();
|
|
341
|
+
try {
|
|
342
|
+
stream.write(payload, error => {
|
|
343
|
+
if (error) {
|
|
344
|
+
handleAsyncWriteError();
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
if (decawm) {
|
|
348
|
+
ownsDecawm = false;
|
|
349
|
+
}
|
|
350
|
+
// A queued successful write can establish the next ordered diff base,
|
|
351
|
+
// but an async error invalidates it; it is not proof that a terminal
|
|
352
|
+
// displayed the frame.
|
|
353
|
+
if (generation === writeGeneration) {
|
|
354
|
+
onAccept();
|
|
355
|
+
}
|
|
356
|
+
return true;
|
|
357
|
+
}
|
|
358
|
+
catch (error) {
|
|
359
|
+
invalidatePhysical();
|
|
360
|
+
previousIdentities = [];
|
|
361
|
+
previousOutput = '';
|
|
362
|
+
previousLines = [];
|
|
363
|
+
if (decawm) {
|
|
364
|
+
ownsDecawm = true;
|
|
365
|
+
}
|
|
366
|
+
restoreTerminalModes();
|
|
367
|
+
throw error;
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
const writeSeekFrame = (str, context, force) => {
|
|
371
|
+
const activeCursor = getActiveCursor();
|
|
372
|
+
cursorDirty = false;
|
|
373
|
+
if (!force && !seekHasChanges(str, context, activeCursor)) {
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
const cursorChanged = cursorPositionChanged(activeCursor, previousCursorPosition);
|
|
377
|
+
const dimensionsChanged = physicalFrame === undefined ||
|
|
378
|
+
!physicalFrame.valid ||
|
|
379
|
+
physicalFrame.context.columns !== context.columns ||
|
|
380
|
+
physicalFrame.context.rows !== context.rows ||
|
|
381
|
+
physicalFrame.context.strategy !== context.strategy;
|
|
382
|
+
if (!force &&
|
|
383
|
+
!dimensionsChanged &&
|
|
384
|
+
str === previousOutput &&
|
|
385
|
+
cursorChanged) {
|
|
386
|
+
const payload = buildSeekCursorSequence(activeCursor, context.columns, context.rows, cursorWasShown);
|
|
387
|
+
return submitSeekWrite(payload, {
|
|
388
|
+
decawm: false,
|
|
389
|
+
onAccept() {
|
|
390
|
+
previousCursorPosition = activeCursor ? { ...activeCursor } : undefined;
|
|
391
|
+
cursorWasShown = activeCursor !== undefined;
|
|
392
|
+
if (physicalFrame?.valid) {
|
|
393
|
+
physicalFrame = {
|
|
394
|
+
...physicalFrame,
|
|
395
|
+
cursor: clampSeekCursor(activeCursor, context.columns, context.rows),
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
},
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
const prepared = seekPreparer.prepareFrame(str, context.columns);
|
|
402
|
+
const viewportCount = Math.min(prepared.length, context.rows);
|
|
403
|
+
const viewportPrepared = prepared.slice(0, viewportCount);
|
|
404
|
+
const paintAll = force || dimensionsChanged;
|
|
405
|
+
const indexes = [];
|
|
406
|
+
if (paintAll) {
|
|
407
|
+
for (let index = 0; index < viewportCount; index++) {
|
|
408
|
+
indexes.push(index);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
for (let index = 0; index < viewportCount; index++) {
|
|
413
|
+
if (viewportPrepared[index].identity !== previousIdentities[index]) {
|
|
414
|
+
indexes.push(index);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
const encodedRows = encodeSeekRows(viewportPrepared, indexes, context.columns);
|
|
419
|
+
const cursorSuffix = buildSeekCursorSequence(activeCursor, context.columns, context.rows, cursorWasShown);
|
|
420
|
+
const payload = encodedRows.length > 0
|
|
421
|
+
? wrapSeekPaint(encodedRows + cursorSuffix)
|
|
422
|
+
: cursorSuffix;
|
|
423
|
+
if (payload.length === 0) {
|
|
424
|
+
return false;
|
|
425
|
+
}
|
|
426
|
+
return submitSeekWrite(payload, {
|
|
427
|
+
decawm: encodedRows.length > 0,
|
|
428
|
+
onAccept() {
|
|
429
|
+
previousOutput = str;
|
|
430
|
+
previousLines = str.split('\n');
|
|
431
|
+
previousIdentities = viewportPrepared.map(row => row.identity);
|
|
432
|
+
previousCursorPosition = activeCursor ? { ...activeCursor } : undefined;
|
|
433
|
+
cursorWasShown = activeCursor !== undefined;
|
|
434
|
+
paintedSeekViewport = true;
|
|
435
|
+
physicalFrame = {
|
|
436
|
+
context: copyContext(context),
|
|
437
|
+
ownsViewport: true,
|
|
438
|
+
valid: true,
|
|
439
|
+
logicalRows: viewportPrepared.map(row => row.logical),
|
|
440
|
+
allocatedWidths: viewportPrepared.map(row => row.allocatedWidth),
|
|
441
|
+
cursor: clampSeekCursor(activeCursor, context.columns, context.rows),
|
|
442
|
+
};
|
|
443
|
+
},
|
|
444
|
+
});
|
|
445
|
+
};
|
|
446
|
+
const render = (str, context) => {
|
|
447
|
+
if (isSeekViewport(context)) {
|
|
448
|
+
return writeSeekFrame(str, context, false);
|
|
449
|
+
}
|
|
235
450
|
if (!showCursor && !hasHiddenCursor) {
|
|
236
451
|
cliCursor.hide(stream);
|
|
237
452
|
hasHiddenCursor = true;
|
|
@@ -266,7 +481,7 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
266
481
|
const cursorSuffix = buildCursorSuffix(outputCursorRow, activeCursor);
|
|
267
482
|
stream.write(returnPrefix +
|
|
268
483
|
ansiEscapes.eraseLines(previousLines.length) +
|
|
269
|
-
str +
|
|
484
|
+
(transformOutput ? transformOutput(str) : str) +
|
|
270
485
|
cursorSuffix);
|
|
271
486
|
cursorWasShown = activeCursor !== undefined;
|
|
272
487
|
previousCursorPosition = activeCursor ? { ...activeCursor } : undefined;
|
|
@@ -324,7 +539,7 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
324
539
|
continue;
|
|
325
540
|
}
|
|
326
541
|
buffer.push(ansiEscapes.cursorTo(0) +
|
|
327
|
-
nextLines[i] +
|
|
542
|
+
(transformOutput ? transformOutput(nextLines[i]) : nextLines[i]) +
|
|
328
543
|
ansiEscapes.eraseEndLine +
|
|
329
544
|
// Don't append newline after the last line when the input
|
|
330
545
|
// has no trailing newline (fullscreen mode).
|
|
@@ -339,7 +554,10 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
339
554
|
previousLines = nextLines;
|
|
340
555
|
return true;
|
|
341
556
|
};
|
|
342
|
-
render.repaint = (str, options) => {
|
|
557
|
+
render.repaint = (str, options, context) => {
|
|
558
|
+
if (isSeekViewport(context)) {
|
|
559
|
+
return writeSeekFrame(str, context, true);
|
|
560
|
+
}
|
|
343
561
|
if (!showCursor && !hasHiddenCursor) {
|
|
344
562
|
cliCursor.hide(stream);
|
|
345
563
|
hasHiddenCursor = true;
|
|
@@ -352,7 +570,7 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
352
570
|
const cursorSuffix = buildCursorSuffix(outputCursorRow, activeCursor);
|
|
353
571
|
stream.write(returnPrefix +
|
|
354
572
|
ansiEscapes.eraseLines(getEraseLineCount(previousLines.length, options)) +
|
|
355
|
-
str +
|
|
573
|
+
(transformOutput ? transformOutput(str) : str) +
|
|
356
574
|
cursorSuffix);
|
|
357
575
|
previousOutput = str;
|
|
358
576
|
previousLines = nextLines;
|
|
@@ -360,46 +578,101 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
360
578
|
cursorWasShown = activeCursor !== undefined;
|
|
361
579
|
return true;
|
|
362
580
|
};
|
|
363
|
-
|
|
364
|
-
const prefix = buildReturnToBottomPrefix(cursorWasShown, previousLines.length, previousCursorPosition);
|
|
365
|
-
stream.write(prefix +
|
|
366
|
-
ansiEscapes.eraseLines(getEraseLineCount(previousLines.length, options)));
|
|
581
|
+
const clearSeekState = () => {
|
|
367
582
|
previousOutput = '';
|
|
368
583
|
previousLines = [];
|
|
584
|
+
previousIdentities = [];
|
|
369
585
|
previousCursorPosition = undefined;
|
|
370
586
|
cursorWasShown = false;
|
|
371
587
|
cursorDirty = false;
|
|
588
|
+
paintedSeekViewport = false;
|
|
589
|
+
invalidatePhysical();
|
|
590
|
+
};
|
|
591
|
+
render.clear = (options) => {
|
|
592
|
+
bumpGeneration();
|
|
593
|
+
restoreTerminalModes();
|
|
594
|
+
if (paintedSeekViewport) {
|
|
595
|
+
stream.write(eraseDisplayHome);
|
|
596
|
+
clearSeekState();
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
const prefix = buildReturnToBottomPrefix(cursorWasShown, previousLines.length, previousCursorPosition);
|
|
600
|
+
stream.write(prefix +
|
|
601
|
+
ansiEscapes.eraseLines(getEraseLineCount(previousLines.length, options)));
|
|
602
|
+
clearSeekState();
|
|
372
603
|
};
|
|
373
604
|
render.done = () => {
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
605
|
+
bumpGeneration();
|
|
606
|
+
restoreTerminalModes();
|
|
607
|
+
detachStreamErrorListener();
|
|
608
|
+
try {
|
|
609
|
+
if (paintedSeekViewport) {
|
|
610
|
+
if (showCursor) {
|
|
611
|
+
stream.write(showCursorEscape);
|
|
612
|
+
}
|
|
613
|
+
clearSeekState();
|
|
614
|
+
cursorPosition = undefined;
|
|
615
|
+
if (!showCursor) {
|
|
616
|
+
cliCursor.show(stream);
|
|
617
|
+
hasHiddenCursor = false;
|
|
618
|
+
}
|
|
619
|
+
return;
|
|
620
|
+
}
|
|
621
|
+
const returnPrefix = buildReturnToBottomPrefix(cursorWasShown, previousLines.length, previousCursorPosition);
|
|
622
|
+
if (returnPrefix || showCursor) {
|
|
623
|
+
stream.write(returnPrefix + (showCursor ? showCursorEscape : ''));
|
|
624
|
+
}
|
|
625
|
+
clearSeekState();
|
|
626
|
+
cursorPosition = undefined;
|
|
627
|
+
if (!showCursor) {
|
|
628
|
+
cliCursor.show(stream);
|
|
629
|
+
hasHiddenCursor = false;
|
|
630
|
+
}
|
|
377
631
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
cursorWasShown = false;
|
|
382
|
-
cursorPosition = undefined;
|
|
383
|
-
cursorDirty = false;
|
|
384
|
-
if (!showCursor) {
|
|
385
|
-
cliCursor.show(stream);
|
|
386
|
-
hasHiddenCursor = false;
|
|
632
|
+
catch {
|
|
633
|
+
clearSeekState();
|
|
634
|
+
cursorPosition = undefined;
|
|
387
635
|
}
|
|
388
636
|
};
|
|
389
637
|
render.reset = () => {
|
|
390
638
|
// Cache-only: the caller must have externally reset or replaced terminal contents.
|
|
639
|
+
bumpGeneration();
|
|
391
640
|
previousOutput = '';
|
|
392
641
|
previousLines = [];
|
|
642
|
+
previousIdentities = [];
|
|
393
643
|
previousCursorPosition = undefined;
|
|
394
644
|
cursorWasShown = false;
|
|
395
645
|
cursorDirty = false;
|
|
646
|
+
invalidatePhysical();
|
|
396
647
|
};
|
|
397
|
-
render.sync = (str) => {
|
|
648
|
+
render.sync = (str, physical) => {
|
|
398
649
|
const activeCursor = cursorPosition;
|
|
399
650
|
cursorDirty = false;
|
|
400
651
|
const lines = str.split('\n');
|
|
401
652
|
previousOutput = str;
|
|
402
653
|
previousLines = lines;
|
|
654
|
+
const matching = physical?.valid === true &&
|
|
655
|
+
physical.ownsViewport &&
|
|
656
|
+
physical.context.strategy === 'seek-viewport' &&
|
|
657
|
+
physical.logicalRows.join('\n') === str;
|
|
658
|
+
if (matching && physical) {
|
|
659
|
+
physicalFrame = {
|
|
660
|
+
context: copyContext(physical.context),
|
|
661
|
+
ownsViewport: true,
|
|
662
|
+
valid: true,
|
|
663
|
+
logicalRows: physical.logicalRows,
|
|
664
|
+
allocatedWidths: physical.allocatedWidths,
|
|
665
|
+
cursor: physical.cursor,
|
|
666
|
+
};
|
|
667
|
+
previousIdentities = [];
|
|
668
|
+
paintedSeekViewport = true;
|
|
669
|
+
previousCursorPosition = activeCursor ? { ...activeCursor } : undefined;
|
|
670
|
+
cursorWasShown = activeCursor !== undefined;
|
|
671
|
+
return;
|
|
672
|
+
}
|
|
673
|
+
previousIdentities = [];
|
|
674
|
+
paintedSeekViewport = false;
|
|
675
|
+
invalidatePhysical();
|
|
403
676
|
if (!activeCursor && cursorWasShown) {
|
|
404
677
|
stream.write(hideCursorEscape);
|
|
405
678
|
}
|
|
@@ -414,14 +687,21 @@ const createIncremental = (stream, { showCursor = false } = {}) => {
|
|
|
414
687
|
cursorDirty = true;
|
|
415
688
|
};
|
|
416
689
|
render.isCursorDirty = () => cursorDirty;
|
|
417
|
-
render.willRender = (str) =>
|
|
690
|
+
render.willRender = (str, context) => {
|
|
691
|
+
if (isSeekViewport(context)) {
|
|
692
|
+
return seekHasChanges(str, context, getActiveCursor());
|
|
693
|
+
}
|
|
694
|
+
return hasChanges(str, getActiveCursor());
|
|
695
|
+
};
|
|
696
|
+
render.getPhysicalFrame = () => physicalFrame;
|
|
697
|
+
render.restoreTerminalModes = restoreTerminalModes;
|
|
418
698
|
return render;
|
|
419
699
|
};
|
|
420
|
-
const create = (stream, { showCursor = false, incremental = false } = {}) => {
|
|
700
|
+
const create = (stream, { showCursor = false, incremental = false, transformOutput, } = {}) => {
|
|
421
701
|
if (incremental) {
|
|
422
|
-
return createIncremental(stream, { showCursor });
|
|
702
|
+
return createIncremental(stream, { showCursor, transformOutput });
|
|
423
703
|
}
|
|
424
|
-
return createStandard(stream, { showCursor });
|
|
704
|
+
return createStandard(stream, { showCursor, transformOutput });
|
|
425
705
|
};
|
|
426
706
|
const logUpdate = { create };
|
|
427
707
|
export default logUpdate;
|
package/build/log-update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"log-update.js","sourceRoot":"","sources":["../src/log-update.ts"],"names":[],"mappings":"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"}
|