ink 6.6.0 → 6.7.0
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.d.ts +7 -48
- package/build/components/App.js +259 -225
- package/build/components/App.js.map +1 -1
- package/build/components/CursorContext.d.ts +11 -0
- package/build/components/CursorContext.js +8 -0
- package/build/components/CursorContext.js.map +1 -0
- package/build/components/ErrorBoundary.d.ts +18 -0
- package/build/components/ErrorBoundary.js +23 -0
- package/build/components/ErrorBoundary.js.map +1 -0
- package/build/cursor-helpers.d.ts +38 -0
- package/build/cursor-helpers.js +56 -0
- package/build/cursor-helpers.js.map +1 -0
- package/build/hooks/use-cursor.d.ts +12 -0
- package/build/hooks/use-cursor.js +29 -0
- package/build/hooks/use-cursor.js.map +1 -0
- package/build/hooks/use-input.d.ts +30 -0
- package/build/hooks/use-input.js +31 -2
- package/build/hooks/use-input.js.map +1 -1
- package/build/index.d.ts +4 -0
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/ink.d.ts +32 -0
- package/build/ink.js +258 -31
- package/build/ink.js.map +1 -1
- package/build/kitty-keyboard.d.ts +23 -0
- package/build/kitty-keyboard.js +32 -0
- package/build/kitty-keyboard.js.map +1 -0
- package/build/log-update.d.ts +6 -1
- package/build/log-update.js +163 -40
- package/build/log-update.js.map +1 -1
- package/build/parse-keypress.d.ts +8 -0
- package/build/parse-keypress.js +270 -2
- package/build/parse-keypress.js.map +1 -1
- package/build/reconciler.js +11 -1
- package/build/reconciler.js.map +1 -1
- package/build/render.d.ts +22 -0
- package/build/render.js +7 -2
- package/build/render.js.map +1 -1
- package/build/write-synchronized.d.ts +4 -0
- package/build/write-synchronized.js +7 -0
- package/build/write-synchronized.js.map +1 -0
- package/package.json +18 -15
- package/readme.md +167 -1
package/build/ink.js
CHANGED
|
@@ -6,25 +6,34 @@ import isInCi from 'is-in-ci';
|
|
|
6
6
|
import autoBind from 'auto-bind';
|
|
7
7
|
import signalExit from 'signal-exit';
|
|
8
8
|
import patchConsole from 'patch-console';
|
|
9
|
-
import { LegacyRoot } from 'react-reconciler/constants.js';
|
|
9
|
+
import { LegacyRoot, ConcurrentRoot } from 'react-reconciler/constants.js';
|
|
10
10
|
import Yoga from 'yoga-layout';
|
|
11
11
|
import wrapAnsi from 'wrap-ansi';
|
|
12
|
+
import terminalSize from 'terminal-size';
|
|
12
13
|
import reconciler from './reconciler.js';
|
|
13
14
|
import render from './renderer.js';
|
|
14
15
|
import * as dom from './dom.js';
|
|
15
16
|
import logUpdate from './log-update.js';
|
|
17
|
+
import { bsu, esu, shouldSynchronize } from './write-synchronized.js';
|
|
16
18
|
import instances from './instances.js';
|
|
17
19
|
import App from './components/App.js';
|
|
18
20
|
import { accessibilityContext as AccessibilityContext } from './components/AccessibilityContext.js';
|
|
21
|
+
import { resolveFlags, } from './kitty-keyboard.js';
|
|
19
22
|
const noop = () => { };
|
|
20
23
|
export default class Ink {
|
|
24
|
+
/**
|
|
25
|
+
Whether this instance is using concurrent rendering mode.
|
|
26
|
+
*/
|
|
27
|
+
isConcurrent;
|
|
21
28
|
options;
|
|
22
29
|
log;
|
|
30
|
+
cursorPosition;
|
|
23
31
|
throttledLog;
|
|
24
32
|
isScreenReaderEnabled;
|
|
25
33
|
// Ignore last render after unmounting a tree to prevent empty output before exit
|
|
26
34
|
isUnmounted;
|
|
27
35
|
lastOutput;
|
|
36
|
+
lastOutputToRender;
|
|
28
37
|
lastOutputHeight;
|
|
29
38
|
lastTerminalWidth;
|
|
30
39
|
container;
|
|
@@ -33,8 +42,12 @@ export default class Ink {
|
|
|
33
42
|
// so that it's rerendered every time, not just new static parts, like in non-debug mode
|
|
34
43
|
fullStaticOutput;
|
|
35
44
|
exitPromise;
|
|
45
|
+
beforeExitHandler;
|
|
36
46
|
restoreConsole;
|
|
37
47
|
unsubscribeResize;
|
|
48
|
+
throttledOnRender;
|
|
49
|
+
kittyProtocolEnabled = false;
|
|
50
|
+
cancelKittyDetection;
|
|
38
51
|
constructor(options) {
|
|
39
52
|
autoBind(this);
|
|
40
53
|
this.options = options;
|
|
@@ -46,33 +59,55 @@ export default class Ink {
|
|
|
46
59
|
const unthrottled = options.debug || this.isScreenReaderEnabled;
|
|
47
60
|
const maxFps = options.maxFps ?? 30;
|
|
48
61
|
const renderThrottleMs = maxFps > 0 ? Math.max(1, Math.ceil(1000 / maxFps)) : 0;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
62
|
+
if (unthrottled) {
|
|
63
|
+
this.rootNode.onRender = this.onRender;
|
|
64
|
+
this.throttledOnRender = undefined;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const throttled = throttle(this.onRender, renderThrottleMs, {
|
|
52
68
|
leading: true,
|
|
53
69
|
trailing: true,
|
|
54
70
|
});
|
|
71
|
+
this.rootNode.onRender = throttled;
|
|
72
|
+
this.throttledOnRender = throttled;
|
|
73
|
+
}
|
|
55
74
|
this.rootNode.onImmediateRender = this.onRender;
|
|
56
75
|
this.log = logUpdate.create(options.stdout, {
|
|
57
76
|
incremental: options.incrementalRendering,
|
|
58
77
|
});
|
|
78
|
+
this.cursorPosition = undefined;
|
|
59
79
|
this.throttledLog = unthrottled
|
|
60
80
|
? this.log
|
|
61
|
-
: throttle(
|
|
81
|
+
: throttle((output) => {
|
|
82
|
+
const shouldWrite = this.log.willRender(output);
|
|
83
|
+
const sync = shouldSynchronize(this.options.stdout);
|
|
84
|
+
if (sync && shouldWrite) {
|
|
85
|
+
this.options.stdout.write(bsu);
|
|
86
|
+
}
|
|
87
|
+
this.log(output);
|
|
88
|
+
if (sync && shouldWrite) {
|
|
89
|
+
this.options.stdout.write(esu);
|
|
90
|
+
}
|
|
91
|
+
}, undefined, {
|
|
62
92
|
leading: true,
|
|
63
93
|
trailing: true,
|
|
64
94
|
});
|
|
65
95
|
// Ignore last render after unmounting a tree to prevent empty output before exit
|
|
66
96
|
this.isUnmounted = false;
|
|
97
|
+
// Store concurrent mode setting
|
|
98
|
+
this.isConcurrent = options.concurrent ?? false;
|
|
67
99
|
// Store last output to only rerender when needed
|
|
68
100
|
this.lastOutput = '';
|
|
101
|
+
this.lastOutputToRender = '';
|
|
69
102
|
this.lastOutputHeight = 0;
|
|
70
103
|
this.lastTerminalWidth = this.getTerminalWidth();
|
|
71
104
|
// This variable is used only in debug mode to store full static output
|
|
72
105
|
// so that it's rerendered every time, not just new static parts, like in non-debug mode
|
|
73
106
|
this.fullStaticOutput = '';
|
|
107
|
+
// Use ConcurrentRoot for concurrent mode, LegacyRoot for legacy mode
|
|
108
|
+
const rootTag = options.concurrent ? ConcurrentRoot : LegacyRoot;
|
|
74
109
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
75
|
-
this.container = reconciler.createContainer(this.rootNode,
|
|
110
|
+
this.container = reconciler.createContainer(this.rootNode, rootTag, null, false, null, 'id', () => { }, () => { }, () => { }, () => { });
|
|
76
111
|
// Unmount when process exits
|
|
77
112
|
this.unsubscribeExit = signalExit(this.unmount, { alwaysLast: false });
|
|
78
113
|
if (process.env['DEV'] === 'true') {
|
|
@@ -93,11 +128,16 @@ export default class Ink {
|
|
|
93
128
|
options.stdout.off('resize', this.resized);
|
|
94
129
|
};
|
|
95
130
|
}
|
|
131
|
+
this.initKittyKeyboard();
|
|
96
132
|
}
|
|
97
133
|
getTerminalWidth = () => {
|
|
98
134
|
// The 'columns' property can be undefined or 0 when not using a TTY.
|
|
99
|
-
//
|
|
100
|
-
|
|
135
|
+
// Use terminal-size as a fallback for piped processes, then default to 80.
|
|
136
|
+
if (this.options.stdout.columns) {
|
|
137
|
+
return this.options.stdout.columns;
|
|
138
|
+
}
|
|
139
|
+
const size = terminalSize();
|
|
140
|
+
return size?.columns ?? 80;
|
|
101
141
|
};
|
|
102
142
|
resized = () => {
|
|
103
143
|
const currentWidth = this.getTerminalWidth();
|
|
@@ -105,6 +145,7 @@ export default class Ink {
|
|
|
105
145
|
// We clear the screen when decreasing terminal width to prevent duplicate overlapping re-renders.
|
|
106
146
|
this.log.clear();
|
|
107
147
|
this.lastOutput = '';
|
|
148
|
+
this.lastOutputToRender = '';
|
|
108
149
|
}
|
|
109
150
|
this.calculateLayout();
|
|
110
151
|
this.onRender();
|
|
@@ -113,6 +154,16 @@ export default class Ink {
|
|
|
113
154
|
resolveExitPromise = () => { };
|
|
114
155
|
rejectExitPromise = () => { };
|
|
115
156
|
unsubscribeExit = () => { };
|
|
157
|
+
setCursorPosition = (position) => {
|
|
158
|
+
this.cursorPosition = position;
|
|
159
|
+
this.log.setCursorPosition(position);
|
|
160
|
+
};
|
|
161
|
+
restoreLastOutput = () => {
|
|
162
|
+
// Clear() resets log-update's cursor state, so replay the latest cursor intent
|
|
163
|
+
// before restoring output after external stdout/stderr writes.
|
|
164
|
+
this.log.setCursorPosition(this.cursorPosition);
|
|
165
|
+
this.log(this.lastOutputToRender || this.lastOutput + '\n');
|
|
166
|
+
};
|
|
116
167
|
calculateLayout = () => {
|
|
117
168
|
const terminalWidth = this.getTerminalWidth();
|
|
118
169
|
this.rootNode.yogaNode.setWidth(terminalWidth);
|
|
@@ -139,10 +190,15 @@ export default class Ink {
|
|
|
139
190
|
this.options.stdout.write(staticOutput);
|
|
140
191
|
}
|
|
141
192
|
this.lastOutput = output;
|
|
193
|
+
this.lastOutputToRender = output + '\n';
|
|
142
194
|
this.lastOutputHeight = outputHeight;
|
|
143
195
|
return;
|
|
144
196
|
}
|
|
145
197
|
if (this.isScreenReaderEnabled) {
|
|
198
|
+
const sync = shouldSynchronize(this.options.stdout);
|
|
199
|
+
if (sync) {
|
|
200
|
+
this.options.stdout.write(bsu);
|
|
201
|
+
}
|
|
146
202
|
if (hasStaticOutput) {
|
|
147
203
|
// We need to erase the main output before writing new static output
|
|
148
204
|
const erase = this.lastOutputHeight > 0
|
|
@@ -153,9 +209,12 @@ export default class Ink {
|
|
|
153
209
|
this.lastOutputHeight = 0;
|
|
154
210
|
}
|
|
155
211
|
if (output === this.lastOutput && !hasStaticOutput) {
|
|
212
|
+
if (sync) {
|
|
213
|
+
this.options.stdout.write(esu);
|
|
214
|
+
}
|
|
156
215
|
return;
|
|
157
216
|
}
|
|
158
|
-
const terminalWidth = this.
|
|
217
|
+
const terminalWidth = this.getTerminalWidth();
|
|
159
218
|
const wrappedOutput = wrapAnsi(output, terminalWidth, {
|
|
160
219
|
trim: false,
|
|
161
220
|
hard: true,
|
|
@@ -171,41 +230,69 @@ export default class Ink {
|
|
|
171
230
|
this.options.stdout.write(erase + wrappedOutput);
|
|
172
231
|
}
|
|
173
232
|
this.lastOutput = output;
|
|
233
|
+
this.lastOutputToRender = wrappedOutput;
|
|
174
234
|
this.lastOutputHeight =
|
|
175
235
|
wrappedOutput === '' ? 0 : wrappedOutput.split('\n').length;
|
|
236
|
+
if (sync) {
|
|
237
|
+
this.options.stdout.write(esu);
|
|
238
|
+
}
|
|
176
239
|
return;
|
|
177
240
|
}
|
|
178
241
|
if (hasStaticOutput) {
|
|
179
242
|
this.fullStaticOutput += staticOutput;
|
|
180
243
|
}
|
|
244
|
+
// Detect fullscreen: output fills or exceeds terminal height.
|
|
245
|
+
// Only apply when writing to a real TTY — piped output always gets trailing newlines.
|
|
246
|
+
const isFullscreen = this.options.stdout.isTTY && outputHeight >= this.options.stdout.rows;
|
|
247
|
+
const outputToRender = isFullscreen ? output : output + '\n';
|
|
181
248
|
if (this.lastOutputHeight >= this.options.stdout.rows) {
|
|
249
|
+
const sync = shouldSynchronize(this.options.stdout);
|
|
250
|
+
if (sync) {
|
|
251
|
+
this.options.stdout.write(bsu);
|
|
252
|
+
}
|
|
182
253
|
this.options.stdout.write(ansiEscapes.clearTerminal + this.fullStaticOutput + output);
|
|
183
254
|
this.lastOutput = output;
|
|
255
|
+
this.lastOutputToRender = outputToRender;
|
|
184
256
|
this.lastOutputHeight = outputHeight;
|
|
185
|
-
this.log.sync(
|
|
257
|
+
this.log.sync(outputToRender);
|
|
258
|
+
if (sync) {
|
|
259
|
+
this.options.stdout.write(esu);
|
|
260
|
+
}
|
|
186
261
|
return;
|
|
187
262
|
}
|
|
188
263
|
// To ensure static output is cleanly rendered before main output, clear main output first
|
|
189
264
|
if (hasStaticOutput) {
|
|
265
|
+
const sync = shouldSynchronize(this.options.stdout);
|
|
266
|
+
if (sync) {
|
|
267
|
+
this.options.stdout.write(bsu);
|
|
268
|
+
}
|
|
190
269
|
this.log.clear();
|
|
191
270
|
this.options.stdout.write(staticOutput);
|
|
192
|
-
this.log(
|
|
271
|
+
this.log(outputToRender);
|
|
272
|
+
if (sync) {
|
|
273
|
+
this.options.stdout.write(esu);
|
|
274
|
+
}
|
|
193
275
|
}
|
|
194
|
-
if (
|
|
195
|
-
|
|
276
|
+
else if (output !== this.lastOutput || this.log.isCursorDirty()) {
|
|
277
|
+
// ThrottledLog manages its own bsu/esu at actual write time
|
|
278
|
+
this.throttledLog(outputToRender);
|
|
196
279
|
}
|
|
197
280
|
this.lastOutput = output;
|
|
281
|
+
this.lastOutputToRender = outputToRender;
|
|
198
282
|
this.lastOutputHeight = outputHeight;
|
|
199
283
|
};
|
|
200
284
|
render(node) {
|
|
201
285
|
const tree = (React.createElement(AccessibilityContext.Provider, { value: { isScreenReaderEnabled: this.isScreenReaderEnabled } },
|
|
202
|
-
React.createElement(App, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr,
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
286
|
+
React.createElement(App, { stdin: this.options.stdin, stdout: this.options.stdout, stderr: this.options.stderr, exitOnCtrlC: this.options.exitOnCtrlC, writeToStdout: this.writeToStdout, writeToStderr: this.writeToStderr, setCursorPosition: this.setCursorPosition, onExit: this.unmount }, node)));
|
|
287
|
+
if (this.options.concurrent) {
|
|
288
|
+
// Concurrent mode: use updateContainer (async scheduling)
|
|
289
|
+
reconciler.updateContainer(tree, this.container, null, noop);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
// Legacy mode: use updateContainerSync + flushSyncWork (sync)
|
|
293
|
+
reconciler.updateContainerSync(tree, this.container, null, noop);
|
|
294
|
+
reconciler.flushSyncWork();
|
|
295
|
+
}
|
|
209
296
|
}
|
|
210
297
|
writeToStdout(data) {
|
|
211
298
|
if (this.isUnmounted) {
|
|
@@ -219,9 +306,16 @@ export default class Ink {
|
|
|
219
306
|
this.options.stdout.write(data);
|
|
220
307
|
return;
|
|
221
308
|
}
|
|
309
|
+
const sync = shouldSynchronize(this.options.stdout);
|
|
310
|
+
if (sync) {
|
|
311
|
+
this.options.stdout.write(bsu);
|
|
312
|
+
}
|
|
222
313
|
this.log.clear();
|
|
223
314
|
this.options.stdout.write(data);
|
|
224
|
-
this.
|
|
315
|
+
this.restoreLastOutput();
|
|
316
|
+
if (sync) {
|
|
317
|
+
this.options.stdout.write(esu);
|
|
318
|
+
}
|
|
225
319
|
}
|
|
226
320
|
writeToStderr(data) {
|
|
227
321
|
if (this.isUnmounted) {
|
|
@@ -236,15 +330,30 @@ export default class Ink {
|
|
|
236
330
|
this.options.stderr.write(data);
|
|
237
331
|
return;
|
|
238
332
|
}
|
|
333
|
+
const sync = shouldSynchronize(this.options.stdout);
|
|
334
|
+
if (sync) {
|
|
335
|
+
this.options.stdout.write(bsu);
|
|
336
|
+
}
|
|
239
337
|
this.log.clear();
|
|
240
338
|
this.options.stderr.write(data);
|
|
241
|
-
this.
|
|
339
|
+
this.restoreLastOutput();
|
|
340
|
+
if (sync) {
|
|
341
|
+
this.options.stdout.write(esu);
|
|
342
|
+
}
|
|
242
343
|
}
|
|
243
344
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
244
345
|
unmount(error) {
|
|
245
346
|
if (this.isUnmounted) {
|
|
246
347
|
return;
|
|
247
348
|
}
|
|
349
|
+
if (this.beforeExitHandler) {
|
|
350
|
+
process.off('beforeExit', this.beforeExitHandler);
|
|
351
|
+
this.beforeExitHandler = undefined;
|
|
352
|
+
}
|
|
353
|
+
// Flush any pending throttled render to ensure the final frame is rendered
|
|
354
|
+
if (this.throttledOnRender) {
|
|
355
|
+
this.throttledOnRender.flush();
|
|
356
|
+
}
|
|
248
357
|
this.calculateLayout();
|
|
249
358
|
this.onRender();
|
|
250
359
|
this.unsubscribeExit();
|
|
@@ -254,6 +363,24 @@ export default class Ink {
|
|
|
254
363
|
if (typeof this.unsubscribeResize === 'function') {
|
|
255
364
|
this.unsubscribeResize();
|
|
256
365
|
}
|
|
366
|
+
// Flush any pending throttled log writes
|
|
367
|
+
const throttledLog = this.throttledLog;
|
|
368
|
+
if (typeof throttledLog.flush === 'function') {
|
|
369
|
+
throttledLog.flush();
|
|
370
|
+
}
|
|
371
|
+
// Cancel any in-progress auto-detection before checking protocol state
|
|
372
|
+
if (this.cancelKittyDetection) {
|
|
373
|
+
this.cancelKittyDetection();
|
|
374
|
+
}
|
|
375
|
+
if (this.kittyProtocolEnabled) {
|
|
376
|
+
try {
|
|
377
|
+
this.options.stdout.write('\u001B[<u');
|
|
378
|
+
}
|
|
379
|
+
catch {
|
|
380
|
+
// Best-effort: stdout may already be destroyed during shutdown
|
|
381
|
+
}
|
|
382
|
+
this.kittyProtocolEnabled = false;
|
|
383
|
+
}
|
|
257
384
|
// CIs don't handle erasing ansi escapes well, so it's better to
|
|
258
385
|
// only render last frame of non-static output
|
|
259
386
|
if (isInCi) {
|
|
@@ -263,18 +390,42 @@ export default class Ink {
|
|
|
263
390
|
this.log.done();
|
|
264
391
|
}
|
|
265
392
|
this.isUnmounted = true;
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
393
|
+
if (this.options.concurrent) {
|
|
394
|
+
// Concurrent mode: use updateContainer (async scheduling)
|
|
395
|
+
reconciler.updateContainer(null, this.container, null, noop);
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
// Legacy mode: use updateContainerSync + flushSyncWork (sync)
|
|
399
|
+
reconciler.updateContainerSync(null, this.container, null, noop);
|
|
400
|
+
reconciler.flushSyncWork();
|
|
401
|
+
}
|
|
272
402
|
instances.delete(this.options.stdout);
|
|
273
|
-
|
|
274
|
-
|
|
403
|
+
// Ensure all queued writes have been processed before resolving the
|
|
404
|
+
// exit promise. For real writable streams, queue an empty write as a
|
|
405
|
+
// barrier — its callback fires only after all prior writes complete.
|
|
406
|
+
// For non-stream objects (e.g. test spies), resolve on next tick.
|
|
407
|
+
//
|
|
408
|
+
// When called from signal-exit during process shutdown (error is a
|
|
409
|
+
// number or null rather than undefined/Error), resolve synchronously
|
|
410
|
+
// because the event loop is draining and async callbacks won't fire.
|
|
411
|
+
const resolveOrReject = () => {
|
|
412
|
+
if (error instanceof Error) {
|
|
413
|
+
this.rejectExitPromise(error);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
this.resolveExitPromise();
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
const isProcessExiting = error !== undefined && !(error instanceof Error);
|
|
420
|
+
if (isProcessExiting) {
|
|
421
|
+
resolveOrReject();
|
|
422
|
+
}
|
|
423
|
+
else if (this.options.stdout._writableState !== undefined ||
|
|
424
|
+
this.options.stdout.writableLength !== undefined) {
|
|
425
|
+
this.options.stdout.write('', resolveOrReject);
|
|
275
426
|
}
|
|
276
427
|
else {
|
|
277
|
-
|
|
428
|
+
setImmediate(resolveOrReject);
|
|
278
429
|
}
|
|
279
430
|
}
|
|
280
431
|
async waitUntilExit() {
|
|
@@ -282,11 +433,20 @@ export default class Ink {
|
|
|
282
433
|
this.resolveExitPromise = resolve;
|
|
283
434
|
this.rejectExitPromise = reject;
|
|
284
435
|
});
|
|
436
|
+
if (!this.beforeExitHandler) {
|
|
437
|
+
this.beforeExitHandler = () => {
|
|
438
|
+
this.unmount();
|
|
439
|
+
};
|
|
440
|
+
process.once('beforeExit', this.beforeExitHandler);
|
|
441
|
+
}
|
|
285
442
|
return this.exitPromise;
|
|
286
443
|
}
|
|
287
444
|
clear() {
|
|
288
445
|
if (!isInCi && !this.options.debug) {
|
|
289
446
|
this.log.clear();
|
|
447
|
+
// Sync lastOutput so that unmount's final onRender
|
|
448
|
+
// sees it as unchanged and log-update skips it
|
|
449
|
+
this.log.sync(this.lastOutputToRender || this.lastOutput + '\n');
|
|
290
450
|
}
|
|
291
451
|
}
|
|
292
452
|
patchConsole() {
|
|
@@ -305,5 +465,72 @@ export default class Ink {
|
|
|
305
465
|
}
|
|
306
466
|
});
|
|
307
467
|
}
|
|
468
|
+
initKittyKeyboard() {
|
|
469
|
+
// Protocol is opt-in: if kittyKeyboard is not specified, do nothing
|
|
470
|
+
if (!this.options.kittyKeyboard) {
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
const opts = this.options.kittyKeyboard;
|
|
474
|
+
const mode = opts.mode ?? 'auto';
|
|
475
|
+
if (mode === 'disabled' ||
|
|
476
|
+
!this.options.stdin.isTTY ||
|
|
477
|
+
!this.options.stdout.isTTY) {
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
480
|
+
const flags = opts.flags ?? ['disambiguateEscapeCodes'];
|
|
481
|
+
if (mode === 'enabled') {
|
|
482
|
+
this.enableKittyProtocol(flags);
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
// Auto mode: use heuristic precheck, then confirm with protocol query
|
|
486
|
+
const term = process.env['TERM'] ?? '';
|
|
487
|
+
const termProgram = process.env['TERM_PROGRAM'] ?? '';
|
|
488
|
+
const isKnownSupportingTerminal = 'KITTY_WINDOW_ID' in process.env ||
|
|
489
|
+
term === 'xterm-kitty' ||
|
|
490
|
+
termProgram === 'WezTerm' ||
|
|
491
|
+
termProgram === 'ghostty';
|
|
492
|
+
if (!isInCi && isKnownSupportingTerminal) {
|
|
493
|
+
this.confirmKittySupport(flags);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
confirmKittySupport(flags) {
|
|
497
|
+
const { stdin, stdout } = this.options;
|
|
498
|
+
let responseBuffer = '';
|
|
499
|
+
const cleanup = () => {
|
|
500
|
+
this.cancelKittyDetection = undefined;
|
|
501
|
+
clearTimeout(timer);
|
|
502
|
+
stdin.removeListener('data', onData);
|
|
503
|
+
// Re-emit any buffered data that wasn't the protocol response,
|
|
504
|
+
// so it isn't lost from Ink's normal input pipeline.
|
|
505
|
+
// Clear responseBuffer afterwards to make cleanup idempotent.
|
|
506
|
+
// eslint-disable-next-line no-control-regex
|
|
507
|
+
const remaining = responseBuffer.replace(/\u001B\[\?\d+u/, '');
|
|
508
|
+
responseBuffer = '';
|
|
509
|
+
if (remaining) {
|
|
510
|
+
stdin.unshift(Buffer.from(remaining));
|
|
511
|
+
}
|
|
512
|
+
};
|
|
513
|
+
const onData = (data) => {
|
|
514
|
+
responseBuffer +=
|
|
515
|
+
typeof data === 'string' ? data : Buffer.from(data).toString();
|
|
516
|
+
// eslint-disable-next-line no-control-regex
|
|
517
|
+
if (/\u001B\[\?\d+u/.test(responseBuffer)) {
|
|
518
|
+
cleanup();
|
|
519
|
+
if (!this.isUnmounted) {
|
|
520
|
+
this.enableKittyProtocol(flags);
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
};
|
|
524
|
+
// Attach listener before writing the query so that synchronous
|
|
525
|
+
// or immediate responses are not missed.
|
|
526
|
+
stdin.on('data', onData);
|
|
527
|
+
const timer = setTimeout(cleanup, 200);
|
|
528
|
+
this.cancelKittyDetection = cleanup;
|
|
529
|
+
stdout.write('\u001B[?u');
|
|
530
|
+
}
|
|
531
|
+
enableKittyProtocol(flags) {
|
|
532
|
+
this.options.stdout.write(`\u001B[>${resolveFlags(flags)}u`);
|
|
533
|
+
this.kittyProtocolEnabled = true;
|
|
534
|
+
}
|
|
308
535
|
}
|
|
309
536
|
//# sourceMappingURL=ink.js.map
|
package/build/ink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const kittyFlags: {
|
|
2
|
+
readonly disambiguateEscapeCodes: 1;
|
|
3
|
+
readonly reportEventTypes: 2;
|
|
4
|
+
readonly reportAlternateKeys: 4;
|
|
5
|
+
readonly reportAllKeysAsEscapeCodes: 8;
|
|
6
|
+
readonly reportAssociatedText: 16;
|
|
7
|
+
};
|
|
8
|
+
export type KittyFlagName = keyof typeof kittyFlags;
|
|
9
|
+
export declare function resolveFlags(flags: KittyFlagName[]): number;
|
|
10
|
+
export declare const kittyModifiers: {
|
|
11
|
+
readonly shift: 1;
|
|
12
|
+
readonly alt: 2;
|
|
13
|
+
readonly ctrl: 4;
|
|
14
|
+
readonly super: 8;
|
|
15
|
+
readonly hyper: 16;
|
|
16
|
+
readonly meta: 32;
|
|
17
|
+
readonly capsLock: 64;
|
|
18
|
+
readonly numLock: 128;
|
|
19
|
+
};
|
|
20
|
+
export type KittyKeyboardOptions = {
|
|
21
|
+
mode?: 'auto' | 'enabled' | 'disabled';
|
|
22
|
+
flags?: KittyFlagName[];
|
|
23
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Kitty keyboard protocol flags.
|
|
2
|
+
// @see https://sw.kovidgoyal.net/kitty/keyboard-protocol/
|
|
3
|
+
export const kittyFlags = {
|
|
4
|
+
disambiguateEscapeCodes: 1,
|
|
5
|
+
reportEventTypes: 2,
|
|
6
|
+
reportAlternateKeys: 4,
|
|
7
|
+
reportAllKeysAsEscapeCodes: 8,
|
|
8
|
+
reportAssociatedText: 16,
|
|
9
|
+
};
|
|
10
|
+
// Converts an array of flag names to the corresponding bitmask value.
|
|
11
|
+
export function resolveFlags(flags) {
|
|
12
|
+
let result = 0;
|
|
13
|
+
for (const flag of flags) {
|
|
14
|
+
// eslint-disable-next-line no-bitwise
|
|
15
|
+
result |= kittyFlags[flag];
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
// Kitty keyboard modifier bits.
|
|
20
|
+
// These are used in the modifier parameter of CSI u sequences.
|
|
21
|
+
// Note: The actual modifier value is (modifiers - 1) as per the protocol.
|
|
22
|
+
export const kittyModifiers = {
|
|
23
|
+
shift: 1,
|
|
24
|
+
alt: 2,
|
|
25
|
+
ctrl: 4,
|
|
26
|
+
super: 8,
|
|
27
|
+
hyper: 16,
|
|
28
|
+
meta: 32,
|
|
29
|
+
capsLock: 64,
|
|
30
|
+
numLock: 128,
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=kitty-keyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kitty-keyboard.js","sourceRoot":"","sources":["../src/kitty-keyboard.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,uBAAuB,EAAE,CAAC;IAC1B,gBAAgB,EAAE,CAAC;IACnB,mBAAmB,EAAE,CAAC;IACtB,0BAA0B,EAAE,CAAC;IAC7B,oBAAoB,EAAE,EAAE;CACf,CAAC;AAKX,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,KAAsB;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,sCAAsC;QACtC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,gCAAgC;AAChC,+DAA+D;AAC/D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,GAAG;CACH,CAAC"}
|
package/build/log-update.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { type Writable } from 'node:stream';
|
|
2
|
+
import { type CursorPosition } from './cursor-helpers.js';
|
|
3
|
+
export type { CursorPosition } from './cursor-helpers.js';
|
|
2
4
|
export type LogUpdate = {
|
|
3
5
|
clear: () => void;
|
|
4
6
|
done: () => void;
|
|
5
7
|
sync: (str: string) => void;
|
|
6
|
-
(
|
|
8
|
+
setCursorPosition: (position: CursorPosition | undefined) => void;
|
|
9
|
+
isCursorDirty: () => boolean;
|
|
10
|
+
willRender: (str: string) => boolean;
|
|
11
|
+
(str: string): boolean;
|
|
7
12
|
};
|
|
8
13
|
declare const logUpdate: {
|
|
9
14
|
create: (stream: Writable, { showCursor, incremental }?: {
|