@simon_he/vue-tui 0.0.7 → 0.0.8
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/README.md +145 -470
- package/dist/experimental.cjs +8847 -0
- package/dist/experimental.d.ts +825 -0
- package/dist/experimental.js +7475 -0
- package/dist/index.cjs +7190 -4833
- package/dist/index.d.ts +344 -169
- package/dist/index.js +5614 -4326
- package/dist/markdown.cjs +20560 -0
- package/dist/markdown.d.ts +112 -0
- package/dist/markdown.js +1581 -0
- package/dist/path-suggest-BeV6n7m-.js +3 -0
- package/dist/sgr-Tko2EQ0U.js +484 -0
- package/dist/theme-Bsm65g8k.d.ts +32 -0
- package/dist/types-ClIV2h1o.d.ts +103 -0
- package/dist/wheel-scroll-CiNsasLf.js +825 -0
- package/package.json +83 -45
- package/dist/path-suggest-DIMby3r0.js +0 -3
- /package/dist/{path-suggest-CZQYJIIg.js → path-suggest-DmrmeueH.js} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,99 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { AnsiColorName, BufferSnapshot, Cell, Style, TERMINAL_RENDER_PLANES, Terminal, TerminalCommitEvent, TerminalEventMap, TerminalRenderPlane, TerminalRenderPlanes, TerminalResizeEvent, TerminalScrollOperation, ThemeModeId } from "./types-ClIV2h1o.js";
|
|
2
|
+
import { TuiMarkdownTheme, TuiMarkdownThemeOverrides } from "./theme-Bsm65g8k.js";
|
|
3
|
+
import * as vue15 from "vue";
|
|
4
|
+
import * as vue16 from "vue";
|
|
3
5
|
import { App, Component as Component$1, ComputedRef, InjectionKey, Ref, VNode } from "vue";
|
|
4
6
|
|
|
5
|
-
//#region src/core/render-plane.d.ts
|
|
6
|
-
declare const TERMINAL_RENDER_PLANES: readonly ["default", "transcript", "chrome", "overlay"];
|
|
7
|
-
type TerminalRenderPlane = (typeof TERMINAL_RENDER_PLANES)[number];
|
|
8
|
-
type TerminalRenderPlanes = readonly TerminalRenderPlane[];
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region src/core/types.d.ts
|
|
12
|
-
type AnsiColorName = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'blackBright' | 'redBright' | 'greenBright' | 'yellowBright' | 'blueBright' | 'magentaBright' | 'cyanBright' | 'whiteBright';
|
|
13
|
-
type Style = Readonly<{
|
|
14
|
-
fg?: AnsiColorName;
|
|
15
|
-
bg?: AnsiColorName;
|
|
16
|
-
bold?: boolean;
|
|
17
|
-
dim?: boolean;
|
|
18
|
-
italic?: boolean;
|
|
19
|
-
underline?: boolean;
|
|
20
|
-
inverse?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Optional terminal hyperlink target (OSC 8).
|
|
23
|
-
* When set, renderers may emit a clickable hyperlink while keeping text width unchanged.
|
|
24
|
-
*/
|
|
25
|
-
href?: string;
|
|
26
|
-
}>;
|
|
27
|
-
type Cell = Readonly<{
|
|
28
|
-
ch: string;
|
|
29
|
-
width: 1 | 2;
|
|
30
|
-
continuation?: true;
|
|
31
|
-
style: Style;
|
|
32
|
-
}>;
|
|
33
|
-
type BufferSnapshot = Readonly<{
|
|
34
|
-
cols: number;
|
|
35
|
-
rows: number;
|
|
36
|
-
lines: readonly string[];
|
|
37
|
-
}>;
|
|
38
|
-
type TerminalSize = Readonly<{
|
|
39
|
-
cols: number;
|
|
40
|
-
rows: number;
|
|
41
|
-
}>;
|
|
42
|
-
type TerminalScrollOperation = Readonly<{
|
|
43
|
-
startY: number;
|
|
44
|
-
endY: number;
|
|
45
|
-
delta: number;
|
|
46
|
-
}>;
|
|
47
|
-
type TerminalCommitEvent = Readonly<{
|
|
48
|
-
dirtyRows: readonly number[] | null;
|
|
49
|
-
planes: TerminalRenderPlanes | null;
|
|
50
|
-
sync?: boolean;
|
|
51
|
-
scrollOperations?: readonly TerminalScrollOperation[] | null;
|
|
52
|
-
}>;
|
|
53
|
-
type TerminalResizeEvent = Readonly<{
|
|
54
|
-
cols: number;
|
|
55
|
-
rows: number;
|
|
56
|
-
}>;
|
|
57
|
-
interface TerminalEventMap {
|
|
58
|
-
commit: TerminalCommitEvent;
|
|
59
|
-
resize: TerminalResizeEvent;
|
|
60
|
-
}
|
|
61
|
-
interface Terminal {
|
|
62
|
-
resize: (cols: number, rows: number) => void;
|
|
63
|
-
clear: (x?: number, y?: number, w?: number, h?: number) => void;
|
|
64
|
-
write: (text: string, opts?: {
|
|
65
|
-
x?: number;
|
|
66
|
-
y?: number;
|
|
67
|
-
style?: Style;
|
|
68
|
-
}) => void;
|
|
69
|
-
writeAnsi: (text: string, opts?: {
|
|
70
|
-
x?: number;
|
|
71
|
-
y?: number;
|
|
72
|
-
}) => void;
|
|
73
|
-
put: (x: number, y: number, ch: string, style?: Style) => void;
|
|
74
|
-
fill: (x: number, y: number, w: number, h: number, ch?: string, style?: Style) => void;
|
|
75
|
-
scroll: (lines: number) => void;
|
|
76
|
-
setCursor: (x: number, y: number, visible?: boolean) => void;
|
|
77
|
-
batch: <T>(fn: () => T) => T;
|
|
78
|
-
commit: (meta?: {
|
|
79
|
-
planes?: TerminalRenderPlanes | null;
|
|
80
|
-
sync?: boolean;
|
|
81
|
-
}) => readonly number[] | null;
|
|
82
|
-
on: <K extends keyof TerminalEventMap>(event: K, cb: (payload: TerminalEventMap[K]) => void) => () => void;
|
|
83
|
-
dispose: () => void;
|
|
84
|
-
size: () => TerminalSize;
|
|
85
|
-
snapshot: () => BufferSnapshot;
|
|
86
|
-
getCell: (x: number, y: number) => Cell;
|
|
87
|
-
getRow: (y: number) => readonly Cell[];
|
|
88
|
-
setScrollbackLimit: (limit: number) => void;
|
|
89
|
-
getScrollbackLines: (count?: number) => readonly string[];
|
|
90
|
-
/** Register fingerprint function for SoA pre-computation on the composite buffer. */
|
|
91
|
-
setFingerprintFn: (fn: (ch: string, style: Style) => number) => void;
|
|
92
|
-
/** Get pre-computed fingerprints for a composite buffer row (null if not enabled). */
|
|
93
|
-
getRowFingerprints: (y: number) => Uint32Array | null;
|
|
94
|
-
} //#endregion
|
|
95
7
|
//#region src/core/ansi/colors.d.ts
|
|
96
|
-
type TerminalColorMode =
|
|
8
|
+
type TerminalColorMode = "ansi8" | "ansi16" | "ansi256" | "truecolor";
|
|
97
9
|
type TerminalColorLevel = 8 | 16 | 256;
|
|
98
10
|
type AnsiRgb = Readonly<{
|
|
99
11
|
r: number;
|
|
@@ -103,9 +15,7 @@ type AnsiRgb = Readonly<{
|
|
|
103
15
|
declare const SGR_RESET = "\u001B[0m";
|
|
104
16
|
declare function truecolorFgOpen(rgb: AnsiRgb): string;
|
|
105
17
|
declare function truecolorBgOpen(rgb: AnsiRgb): string;
|
|
106
|
-
declare function rgbToAnsi256(rgb: AnsiRgb): number;
|
|
107
|
-
|
|
108
|
-
//#endregion
|
|
18
|
+
declare function rgbToAnsi256(rgb: AnsiRgb): number; //#endregion
|
|
109
19
|
//#region src/ansi-styles.d.ts
|
|
110
20
|
declare const ansiStyles: Readonly<{
|
|
111
21
|
reset: Readonly<{
|
|
@@ -307,7 +217,7 @@ declare function ansiColors(level: 8 | 16 | 256): readonly Readonly<{
|
|
|
307
217
|
}>[]; //#endregion
|
|
308
218
|
//#region src/events/recording.d.ts
|
|
309
219
|
type TerminalEventRecord = Readonly<{
|
|
310
|
-
type:
|
|
220
|
+
type: "keydown" | "keyup";
|
|
311
221
|
key: string;
|
|
312
222
|
code?: string;
|
|
313
223
|
ctrlKey?: boolean;
|
|
@@ -317,7 +227,7 @@ type TerminalEventRecord = Readonly<{
|
|
|
317
227
|
repeat?: boolean;
|
|
318
228
|
time?: number;
|
|
319
229
|
}> | Readonly<{
|
|
320
|
-
type:
|
|
230
|
+
type: "pointerdown" | "pointerup" | "pointermove" | "click" | "dblclick" | "contextmenu";
|
|
321
231
|
cellX: number;
|
|
322
232
|
cellY: number;
|
|
323
233
|
clientX?: number;
|
|
@@ -330,19 +240,20 @@ type TerminalEventRecord = Readonly<{
|
|
|
330
240
|
metaKey?: boolean;
|
|
331
241
|
time?: number;
|
|
332
242
|
}> | Readonly<{
|
|
333
|
-
type:
|
|
243
|
+
type: "wheel";
|
|
334
244
|
cellX: number;
|
|
335
245
|
cellY: number;
|
|
336
246
|
clientX?: number;
|
|
337
247
|
clientY?: number;
|
|
338
248
|
deltaY: number;
|
|
249
|
+
deltaMode?: number;
|
|
339
250
|
ctrlKey?: boolean;
|
|
340
251
|
shiftKey?: boolean;
|
|
341
252
|
altKey?: boolean;
|
|
342
253
|
metaKey?: boolean;
|
|
343
254
|
time?: number;
|
|
344
255
|
}> | Readonly<{
|
|
345
|
-
type:
|
|
256
|
+
type: "beforeinput" | "input" | "compositionstart" | "compositionupdate" | "compositionend" | "paste";
|
|
346
257
|
data?: string;
|
|
347
258
|
inputType?: string;
|
|
348
259
|
isComposing?: boolean;
|
|
@@ -353,7 +264,7 @@ type TerminalEventRecord = Readonly<{
|
|
|
353
264
|
//#endregion
|
|
354
265
|
//#region src/cli/input.d.ts
|
|
355
266
|
type Stdin = NodeJS.ReadStream;
|
|
356
|
-
type KeyboardProtocol =
|
|
267
|
+
type KeyboardProtocol = "auto" | "kitty" | "xterm" | "off";
|
|
357
268
|
type StdinDriver = Readonly<{
|
|
358
269
|
dispose: () => void;
|
|
359
270
|
}>;
|
|
@@ -375,9 +286,9 @@ declare function createStdinDriver(options: Readonly<{
|
|
|
375
286
|
|
|
376
287
|
//#endregion
|
|
377
288
|
//#region src/cli/path-suggest-core.d.ts
|
|
378
|
-
type PathPickMode =
|
|
289
|
+
type PathPickMode = "directory" | "file" | "any";
|
|
379
290
|
type PathSuggestion = Readonly<{
|
|
380
|
-
kind:
|
|
291
|
+
kind: "directory" | "file";
|
|
381
292
|
display: string;
|
|
382
293
|
completion: string;
|
|
383
294
|
absPath: string;
|
|
@@ -391,7 +302,7 @@ type SuggestPathsResult = Readonly<{
|
|
|
391
302
|
|
|
392
303
|
//#endregion
|
|
393
304
|
//#region src/cli/path-provider.d.ts
|
|
394
|
-
type FsEntryKind =
|
|
305
|
+
type FsEntryKind = "file" | "directory" | "other";
|
|
395
306
|
type FsDirEntry = Readonly<{
|
|
396
307
|
name: string;
|
|
397
308
|
kind: FsEntryKind;
|
|
@@ -410,7 +321,7 @@ type PathPickerProvider = Readonly<{
|
|
|
410
321
|
max: number;
|
|
411
322
|
showHidden?: boolean;
|
|
412
323
|
maxDepth?: number;
|
|
413
|
-
gitignore?:
|
|
324
|
+
gitignore?: "blocking" | "nonBlocking";
|
|
414
325
|
}>) => Promise<SuggestPathsResult>;
|
|
415
326
|
resolvePath?: (workspaceAbs: string, input: string) => string | Promise<string>;
|
|
416
327
|
}>;
|
|
@@ -426,7 +337,7 @@ declare function suggestPaths(options: Readonly<{
|
|
|
426
337
|
showHidden?: boolean;
|
|
427
338
|
listDir: (absDir: string) => Promise<FsDirEntry[]>;
|
|
428
339
|
maxDepth?: number;
|
|
429
|
-
gitignore?:
|
|
340
|
+
gitignore?: "blocking" | "nonBlocking";
|
|
430
341
|
}>): Promise<SuggestPathsResult>;
|
|
431
342
|
declare function resolveUserPath(workspaceAbs: string, input: string): string;
|
|
432
343
|
|
|
@@ -458,6 +369,10 @@ declare function detectTerminalColorCapability(opts?: Readonly<{
|
|
|
458
369
|
platform?: string;
|
|
459
370
|
}>): TerminalColorCapability;
|
|
460
371
|
|
|
372
|
+
//#endregion
|
|
373
|
+
//#region src/core/ansi-palette.d.ts
|
|
374
|
+
type ThemePalette = Partial<Record<AnsiColorName, string>>;
|
|
375
|
+
|
|
461
376
|
//#endregion
|
|
462
377
|
//#region src/core/ansi/sgr.d.ts
|
|
463
378
|
interface AnsiSegment {
|
|
@@ -477,24 +392,132 @@ declare function createTerminal(opts: {
|
|
|
477
392
|
rows: number;
|
|
478
393
|
}): Terminal;
|
|
479
394
|
|
|
395
|
+
//#endregion
|
|
396
|
+
//#region src/renderer/capabilities.d.ts
|
|
397
|
+
type RendererCapabilities = Readonly<{
|
|
398
|
+
syncFlush: boolean;
|
|
399
|
+
scrollOperations: boolean;
|
|
400
|
+
domRows: boolean;
|
|
401
|
+
}>;
|
|
402
|
+
type TerminalRendererLike = Readonly<{
|
|
403
|
+
capabilities: RendererCapabilities;
|
|
404
|
+
container?: HTMLElement;
|
|
405
|
+
debugStats?: unknown;
|
|
406
|
+
}>;
|
|
407
|
+
declare const DOM_RENDERER_CAPABILITIES: RendererCapabilities;
|
|
408
|
+
declare const HEADLESS_RENDERER_CAPABILITIES: RendererCapabilities;
|
|
409
|
+
|
|
480
410
|
//#endregion
|
|
481
411
|
//#region src/renderer/dom/dom-renderer.d.ts
|
|
482
412
|
type CellMetrics = Readonly<{
|
|
483
413
|
cellWidth: number;
|
|
484
414
|
cellHeight: number;
|
|
485
415
|
}>;
|
|
416
|
+
type DomRendererSyncFlushDecision = Readonly<{
|
|
417
|
+
performed: boolean;
|
|
418
|
+
deferredReason?: "budget";
|
|
419
|
+
rows: number;
|
|
420
|
+
planes: number;
|
|
421
|
+
cells: number;
|
|
422
|
+
maxRows: number;
|
|
423
|
+
maxCells: number;
|
|
424
|
+
}>;
|
|
425
|
+
type DomRendererSyncFlushStats = Readonly<{
|
|
426
|
+
requested: number;
|
|
427
|
+
performed: number;
|
|
428
|
+
deferred: number;
|
|
429
|
+
last: DomRendererSyncFlushDecision | null;
|
|
430
|
+
}>;
|
|
431
|
+
type DomRendererFlushSample = Readonly<{
|
|
432
|
+
mode: "sync" | "deferred";
|
|
433
|
+
startedAt: number;
|
|
434
|
+
durationMs: number;
|
|
435
|
+
planeRows: number;
|
|
436
|
+
planes: number;
|
|
437
|
+
}>;
|
|
438
|
+
type DomRendererFlushStats = Readonly<{
|
|
439
|
+
count: number;
|
|
440
|
+
last: DomRendererFlushSample | null;
|
|
441
|
+
}>;
|
|
442
|
+
type DomRendererRowRenderStats = Readonly<{
|
|
443
|
+
rows: number;
|
|
444
|
+
cacheHits: number;
|
|
445
|
+
rowKeyPrepassChecks: number;
|
|
446
|
+
rowKeyPrepassHits: number;
|
|
447
|
+
rowKeyPrepassMisses: number;
|
|
448
|
+
transparentBlankRows: number;
|
|
449
|
+
plainTextRows: number;
|
|
450
|
+
singleStyledRows: number;
|
|
451
|
+
segmentReuseRows: number;
|
|
452
|
+
fragmentRows: number;
|
|
453
|
+
spansCreated: number;
|
|
454
|
+
spansReused: number;
|
|
455
|
+
textNodeUpdates: number;
|
|
456
|
+
replaceChildren: number;
|
|
457
|
+
}>;
|
|
458
|
+
type DomRendererRowRenderDebugStats = Readonly<{
|
|
459
|
+
total: DomRendererRowRenderStats;
|
|
460
|
+
lastFlush: DomRendererRowRenderStats | null;
|
|
461
|
+
}>;
|
|
462
|
+
type DomRendererRowKeyPrepassMode = boolean | "auto";
|
|
463
|
+
type DomRendererRowKeyPrepassDecision = "forced-enabled" | "forced-disabled" | "sampling" | "enabled" | "disabled";
|
|
464
|
+
type DomRendererRowKeyPrepassDebugStats = Readonly<{
|
|
465
|
+
mode: DomRendererRowKeyPrepassMode;
|
|
466
|
+
decision: DomRendererRowKeyPrepassDecision;
|
|
467
|
+
sampleRows: number;
|
|
468
|
+
sampleHits: number;
|
|
469
|
+
sampleMisses: number;
|
|
470
|
+
sampleHitRatio: number | null;
|
|
471
|
+
lastSampleRows: number;
|
|
472
|
+
lastSampleHitRatio: number | null;
|
|
473
|
+
}>;
|
|
474
|
+
type DomRendererDebugStats = Readonly<{
|
|
475
|
+
syncFlush: DomRendererSyncFlushStats;
|
|
476
|
+
flush: DomRendererFlushStats;
|
|
477
|
+
rowRender: DomRendererRowRenderDebugStats;
|
|
478
|
+
rowKeyPrepass: DomRendererRowKeyPrepassDebugStats;
|
|
479
|
+
}>;
|
|
486
480
|
interface DomRenderer {
|
|
487
481
|
readonly container: HTMLElement;
|
|
482
|
+
readonly capabilities: RendererCapabilities;
|
|
483
|
+
readonly debugStats: DomRendererDebugStats;
|
|
488
484
|
readonly metrics: CellMetrics;
|
|
489
485
|
dispose: () => void;
|
|
490
486
|
refresh: () => void;
|
|
487
|
+
updateTheme: (next: Readonly<{
|
|
488
|
+
palette?: ThemePalette | null;
|
|
489
|
+
}>) => void;
|
|
491
490
|
setPlaneOffset: (plane: TerminalRenderPlane, offsetPx: number) => void;
|
|
492
491
|
setPlaneViewport: (plane: TerminalRenderPlane, viewport: Readonly<{
|
|
493
492
|
topPx: number;
|
|
494
493
|
heightPx: number;
|
|
495
494
|
}> | null) => void;
|
|
496
495
|
}
|
|
497
|
-
|
|
496
|
+
interface DomRendererOptions {
|
|
497
|
+
/**
|
|
498
|
+
* Maximum dirty row count allowed for same-call DOM flush when commit({ sync: true }).
|
|
499
|
+
* Larger updates are rAF-batched to avoid blocking the main thread.
|
|
500
|
+
*/
|
|
501
|
+
syncFlushMaxRows?: number;
|
|
502
|
+
/**
|
|
503
|
+
* Maximum estimated cell work for sync DOM flush: dirtyRows * cols * activePlanes.
|
|
504
|
+
*/
|
|
505
|
+
syncFlushCellBudget?: number;
|
|
506
|
+
/**
|
|
507
|
+
* Enables DOM line-node shifting for terminal scrollOperations.
|
|
508
|
+
*/
|
|
509
|
+
enableScrollOperations?: boolean;
|
|
510
|
+
/** Optional ANSI-name palette exposed as DOM CSS variables. */
|
|
511
|
+
palette?: ThemePalette | null;
|
|
512
|
+
/**
|
|
513
|
+
* Controls a key-only early bailout before row segment allocation.
|
|
514
|
+
* The normal row cache remains enabled regardless of this option.
|
|
515
|
+
* Defaults to "auto": sample cached-row hit ratio and keep prepass enabled only
|
|
516
|
+
* when it pays for itself.
|
|
517
|
+
*/
|
|
518
|
+
enableRowKeyPrepass?: DomRendererRowKeyPrepassMode;
|
|
519
|
+
}
|
|
520
|
+
declare function createDomRenderer(terminal: Terminal, container: HTMLElement, options?: DomRendererOptions): DomRenderer;
|
|
498
521
|
|
|
499
522
|
//#endregion
|
|
500
523
|
//#region src/events/manager/types.d.ts
|
|
@@ -504,7 +527,7 @@ type Rect = Readonly<{
|
|
|
504
527
|
w: number;
|
|
505
528
|
h: number;
|
|
506
529
|
}>;
|
|
507
|
-
type TerminalEventType =
|
|
530
|
+
type TerminalEventType = "click" | "dblclick" | "contextmenu" | "pointerdown" | "pointerup" | "pointermove" | "pointerenter" | "pointerleave" | "wheel" | "keydown" | "keyup" | "beforeinput" | "input" | "compositionstart" | "compositionupdate" | "compositionend" | "paste" | "focus" | "blur";
|
|
508
531
|
interface TerminalBaseEvent {
|
|
509
532
|
type: TerminalEventType;
|
|
510
533
|
target: TerminalNode | null;
|
|
@@ -531,6 +554,7 @@ type TerminalPointerEvent = TerminalBaseEvent & {
|
|
|
531
554
|
altKey?: boolean;
|
|
532
555
|
metaKey?: boolean;
|
|
533
556
|
deltaY?: number;
|
|
557
|
+
deltaMode?: number;
|
|
534
558
|
};
|
|
535
559
|
type TerminalKeyboardEvent = TerminalBaseEvent & {
|
|
536
560
|
key: string;
|
|
@@ -608,10 +632,10 @@ type TerminalDebugNode = Readonly<{
|
|
|
608
632
|
//#endregion
|
|
609
633
|
//#region src/events/manager/cli-event-manager.d.ts
|
|
610
634
|
interface CliEventManager {
|
|
611
|
-
register: (node: Omit<TerminalNode,
|
|
635
|
+
register: (node: Omit<TerminalNode, "id"> & {
|
|
612
636
|
id?: string;
|
|
613
637
|
}) => TerminalNode;
|
|
614
|
-
update: (id: string, next: Partial<Omit<TerminalNode,
|
|
638
|
+
update: (id: string, next: Partial<Omit<TerminalNode, "id">>) => void;
|
|
615
639
|
unregister: (id: string) => void;
|
|
616
640
|
setMetrics: (next: CellMetrics) => void;
|
|
617
641
|
focus: (id: string | null) => void;
|
|
@@ -628,10 +652,10 @@ declare function createCliEventManager(options?: Readonly<{
|
|
|
628
652
|
//#endregion
|
|
629
653
|
//#region src/events/manager/event-manager.d.ts
|
|
630
654
|
interface EventManager {
|
|
631
|
-
register: (node: Omit<TerminalNode,
|
|
655
|
+
register: (node: Omit<TerminalNode, "id"> & {
|
|
632
656
|
id?: string;
|
|
633
657
|
}) => TerminalNode;
|
|
634
|
-
update: (id: string, next: Partial<Omit<TerminalNode,
|
|
658
|
+
update: (id: string, next: Partial<Omit<TerminalNode, "id">>) => void;
|
|
635
659
|
unregister: (id: string) => void;
|
|
636
660
|
setMetrics: (next: CellMetrics) => void;
|
|
637
661
|
focus: (id: string | null) => void;
|
|
@@ -646,36 +670,6 @@ declare function createEventManager(container: HTMLElement, metrics: CellMetrics
|
|
|
646
670
|
onFocusChange?: (prev: string | null, next: string | null) => void;
|
|
647
671
|
}>): EventManager;
|
|
648
672
|
|
|
649
|
-
//#endregion
|
|
650
|
-
//#region src/observability/trace.d.ts
|
|
651
|
-
type TraceRecord = Readonly<{
|
|
652
|
-
type: 'event';
|
|
653
|
-
at: number;
|
|
654
|
-
event: TerminalEventRecord;
|
|
655
|
-
}> | Readonly<{
|
|
656
|
-
type: 'focus';
|
|
657
|
-
at: number;
|
|
658
|
-
prev: string | null;
|
|
659
|
-
next: string | null;
|
|
660
|
-
}> | Readonly<{
|
|
661
|
-
type: 'commit';
|
|
662
|
-
at: number;
|
|
663
|
-
dirtyRows: readonly number[] | null;
|
|
664
|
-
planes: TerminalRenderPlanes | null;
|
|
665
|
-
focusedId: string | null;
|
|
666
|
-
}>;
|
|
667
|
-
type TraceStore = Readonly<{
|
|
668
|
-
enabled: Ref<boolean>;
|
|
669
|
-
records: TraceRecord[];
|
|
670
|
-
push: (record: TraceRecord) => void;
|
|
671
|
-
clear: () => void;
|
|
672
|
-
snapshot: () => TraceRecord[];
|
|
673
|
-
}>;
|
|
674
|
-
declare function createTraceStore(opts?: Readonly<{
|
|
675
|
-
enabled?: boolean;
|
|
676
|
-
max?: number;
|
|
677
|
-
}>): TraceStore;
|
|
678
|
-
|
|
679
673
|
//#endregion
|
|
680
674
|
//#region src/renderer/cli/stdout-renderer.d.ts
|
|
681
675
|
type CliOutput = Readonly<{
|
|
@@ -689,21 +683,22 @@ type StdoutRenderer = Readonly<{
|
|
|
689
683
|
setCursor: (x: number, y: number) => void;
|
|
690
684
|
/** Show or hide the terminal cursor */
|
|
691
685
|
showCursor: (visible: boolean) => void;
|
|
692
|
-
/** Update
|
|
686
|
+
/** Update default background without recreating the renderer. */
|
|
693
687
|
updateTheme?: (next: Readonly<{
|
|
694
|
-
defaultBg?:
|
|
695
|
-
palette?:
|
|
688
|
+
defaultBg?: string | null;
|
|
689
|
+
palette?: ThemePalette | null;
|
|
696
690
|
}>) => void;
|
|
697
691
|
}>;
|
|
698
|
-
type StdoutColorMode =
|
|
692
|
+
type StdoutColorMode = "auto" | "truecolor" | "ansi256" | "ansi16" | "ansi8";
|
|
699
693
|
declare function createStdoutRenderer(terminal: Terminal, options?: Readonly<{
|
|
700
694
|
output?: CliOutput;
|
|
701
695
|
clear?: boolean;
|
|
702
696
|
hideCursor?: boolean;
|
|
703
697
|
altScreen?: boolean;
|
|
704
|
-
/** Fallback background color when a cell has no explicit bg. */
|
|
705
|
-
defaultBg?:
|
|
706
|
-
palette
|
|
698
|
+
/** Fallback background color when a cell has no explicit bg. `null` = transparent (terminal default). */
|
|
699
|
+
defaultBg?: string | null;
|
|
700
|
+
/** Optional ANSI-name palette used when emitting ansi256/truecolor sequences. */
|
|
701
|
+
palette?: ThemePalette | null;
|
|
707
702
|
/** Track TTY resize events (process.stdout 'resize') and call terminal.resize(). */
|
|
708
703
|
trackResize?: boolean;
|
|
709
704
|
/** Color mode for ANSI output (auto detects truecolor via env). */
|
|
@@ -717,6 +712,94 @@ declare function createStdoutRenderer(terminal: Terminal, options?: Readonly<{
|
|
|
717
712
|
useSyncOutput?: boolean;
|
|
718
713
|
}>): StdoutRenderer;
|
|
719
714
|
|
|
715
|
+
//#endregion
|
|
716
|
+
//#region src/observability/trace.d.ts
|
|
717
|
+
type TraceRecord = Readonly<{
|
|
718
|
+
type: "event";
|
|
719
|
+
at: number;
|
|
720
|
+
event: TerminalEventRecord;
|
|
721
|
+
}> | Readonly<{
|
|
722
|
+
type: "focus";
|
|
723
|
+
at: number;
|
|
724
|
+
prev: string | null;
|
|
725
|
+
next: string | null;
|
|
726
|
+
}> | Readonly<{
|
|
727
|
+
type: "commit";
|
|
728
|
+
at: number;
|
|
729
|
+
dirtyRows: readonly number[] | null;
|
|
730
|
+
planes: TerminalRenderPlanes | null;
|
|
731
|
+
sync?: boolean;
|
|
732
|
+
rendererSyncFlush?: DomRendererSyncFlushDecision | null;
|
|
733
|
+
focusedId: string | null;
|
|
734
|
+
}>;
|
|
735
|
+
type TraceStore = Readonly<{
|
|
736
|
+
enabled: Ref<boolean>;
|
|
737
|
+
records: TraceRecord[];
|
|
738
|
+
push: (record: TraceRecord) => void;
|
|
739
|
+
clear: () => void;
|
|
740
|
+
snapshot: () => TraceRecord[];
|
|
741
|
+
}>;
|
|
742
|
+
declare function createTraceStore(opts?: Readonly<{
|
|
743
|
+
enabled?: boolean;
|
|
744
|
+
max?: number;
|
|
745
|
+
}>): TraceStore;
|
|
746
|
+
|
|
747
|
+
//#endregion
|
|
748
|
+
//#region src/observability/frame-perf.d.ts
|
|
749
|
+
type FramePerfReason = "scroll" | "input" | "stream" | "resize" | "data" | "manual" | "unknown";
|
|
750
|
+
type FramePerfRowBucketFallback = Readonly<{
|
|
751
|
+
plane: string;
|
|
752
|
+
reason: "dirty-ratio" | "candidate-ratio";
|
|
753
|
+
dirtyRows: number;
|
|
754
|
+
planeNodes: number;
|
|
755
|
+
candidates?: number;
|
|
756
|
+
}>;
|
|
757
|
+
type FramePerfMailboxFailure = Readonly<{
|
|
758
|
+
id: string;
|
|
759
|
+
queued: number;
|
|
760
|
+
dropped: number;
|
|
761
|
+
}>;
|
|
762
|
+
type FramePerfSample = Readonly<{
|
|
763
|
+
frameId: number;
|
|
764
|
+
reason: FramePerfReason;
|
|
765
|
+
startedAt: number;
|
|
766
|
+
durationMs: number;
|
|
767
|
+
renderManagerMs: number;
|
|
768
|
+
commitMs: number;
|
|
769
|
+
domFlushMs?: number;
|
|
770
|
+
stdoutFlushMs?: number;
|
|
771
|
+
dirtyRows: number | null;
|
|
772
|
+
activePlanes: readonly string[] | null;
|
|
773
|
+
scannedNodes: number;
|
|
774
|
+
paintedNodes: number;
|
|
775
|
+
rowBucketFallbacks?: readonly FramePerfRowBucketFallback[];
|
|
776
|
+
coalescedInvalidates: number;
|
|
777
|
+
frameTaskCount: number;
|
|
778
|
+
coalescedFrameTasks: number;
|
|
779
|
+
frameTaskQueueDepthBeforeRun: number;
|
|
780
|
+
frameTaskQueueDepthAfterRun: number;
|
|
781
|
+
remainingFrameTasks: number;
|
|
782
|
+
droppedUpdates: number;
|
|
783
|
+
mailboxFailure?: FramePerfMailboxFailure;
|
|
784
|
+
queueDepth: number;
|
|
785
|
+
liveReasons?: readonly string[];
|
|
786
|
+
}>;
|
|
787
|
+
declare function framePerfNow(): number;
|
|
788
|
+
|
|
789
|
+
//#endregion
|
|
790
|
+
//#region src/observability/frame-perf-store.d.ts
|
|
791
|
+
type FramePerfStore = Readonly<{
|
|
792
|
+
enabled: Ref<boolean>;
|
|
793
|
+
acquire: (reason?: string) => () => void;
|
|
794
|
+
push: (sample: FramePerfSample) => void;
|
|
795
|
+
latest: () => FramePerfSample | null;
|
|
796
|
+
list: () => FramePerfSample[];
|
|
797
|
+
clear: () => void;
|
|
798
|
+
}>;
|
|
799
|
+
declare function createFramePerfStore(limit?: number, opts?: Readonly<{
|
|
800
|
+
enabled?: boolean;
|
|
801
|
+
}>): FramePerfStore;
|
|
802
|
+
|
|
720
803
|
//#endregion
|
|
721
804
|
//#region src/vue/render/render-manager.d.ts
|
|
722
805
|
type RenderRect = Readonly<{
|
|
@@ -740,13 +823,22 @@ type RenderNode = Readonly<{
|
|
|
740
823
|
rect: RenderRect | null;
|
|
741
824
|
rectY0: number;
|
|
742
825
|
rectY1: number;
|
|
826
|
+
/**
|
|
827
|
+
* dirtyRows are absolute terminal rows for this node's plane.
|
|
828
|
+
* Components must ignore rows outside their rect.
|
|
829
|
+
*/
|
|
743
830
|
paint: (dirtyRows?: readonly number[]) => void;
|
|
744
831
|
}>;
|
|
745
832
|
type RenderManager = Readonly<{
|
|
746
833
|
rootStack: RenderStack;
|
|
747
834
|
createStack: (parent: RenderStack, zIndex: number) => RenderStack;
|
|
748
835
|
invalidatePlane: (plane: TerminalRenderPlane) => void;
|
|
749
|
-
|
|
836
|
+
/**
|
|
837
|
+
* Dangerous escape hatch: shifts whole terminal rows for the target plane, not a
|
|
838
|
+
* component-local region. Only call when the active renderer consumes terminal
|
|
839
|
+
* scrollOperations or when the caller repaints the whole affected viewport.
|
|
840
|
+
*/
|
|
841
|
+
unsafeScrollPlaneRows: (plane: TerminalRenderPlane, startY: number, endY: number, delta: number) => void;
|
|
750
842
|
register: (node: {
|
|
751
843
|
stack: RenderStack;
|
|
752
844
|
plane?: TerminalRenderPlane;
|
|
@@ -759,19 +851,40 @@ type RenderManager = Readonly<{
|
|
|
759
851
|
plane: TerminalRenderPlane;
|
|
760
852
|
zIndex: number;
|
|
761
853
|
rect: RenderRect | null;
|
|
854
|
+
/**
|
|
855
|
+
* Consumed synchronously during update() and must not be retained.
|
|
856
|
+
* Callers may pass scratch arrays for hot-path invalidation.
|
|
857
|
+
* Rows are absolute terminal Y coordinates for the node's plane.
|
|
858
|
+
*/
|
|
762
859
|
dirtyRowsHint: readonly number[];
|
|
763
860
|
paint: (dirtyRows?: readonly number[]) => void;
|
|
764
861
|
}>) => void;
|
|
862
|
+
/**
|
|
863
|
+
* Hot-path dirty row marker for stable nodes. Consumed synchronously and does
|
|
864
|
+
* not replace the RenderNode object.
|
|
865
|
+
*
|
|
866
|
+
* rows are absolute terminal Y coordinates, not local component row offsets.
|
|
867
|
+
* For rect-bound nodes, rows outside the node rect are ignored.
|
|
868
|
+
*/
|
|
869
|
+
markDirtyRows: (id: string, rows: readonly number[]) => boolean;
|
|
765
870
|
unregister: (id: string) => void;
|
|
766
871
|
render: (options?: {
|
|
767
872
|
activePlanes?: TerminalRenderPlanes | null;
|
|
768
873
|
}) => RenderStats | null;
|
|
769
874
|
}>;
|
|
875
|
+
type RowBucketFallback = Readonly<{
|
|
876
|
+
plane: TerminalRenderPlane;
|
|
877
|
+
reason: "dirty-ratio" | "candidate-ratio";
|
|
878
|
+
dirtyRows: number;
|
|
879
|
+
planeNodes: number;
|
|
880
|
+
candidates?: number;
|
|
881
|
+
}>;
|
|
770
882
|
type RenderStats = Readonly<{
|
|
771
883
|
rows: number;
|
|
772
884
|
scannedNodes: number;
|
|
773
885
|
paintedNodes: number;
|
|
774
886
|
candidatePlanes: readonly TerminalRenderPlane[];
|
|
887
|
+
rowBucketFallbacks?: readonly RowBucketFallback[];
|
|
775
888
|
}>;
|
|
776
889
|
|
|
777
890
|
//#endregion
|
|
@@ -781,15 +894,72 @@ interface LayoutContext {
|
|
|
781
894
|
originY: number;
|
|
782
895
|
clipRect: Rect | null;
|
|
783
896
|
}
|
|
784
|
-
type TerminalSchedulerPriority =
|
|
897
|
+
type TerminalSchedulerPriority = "high" | "normal" | "low";
|
|
785
898
|
type TerminalSchedulerInvalidateOptions = Readonly<{
|
|
786
899
|
priority?: TerminalSchedulerPriority;
|
|
787
900
|
plane?: TerminalRenderPlane;
|
|
901
|
+
reason?: FramePerfReason;
|
|
902
|
+
}>;
|
|
903
|
+
type TerminalFrameTaskPriority = "high" | "normal" | "low";
|
|
904
|
+
type TerminalFrameContext = Readonly<{
|
|
905
|
+
frameId: number;
|
|
906
|
+
startedAt: number;
|
|
907
|
+
now: () => number;
|
|
908
|
+
budgetMs: number;
|
|
909
|
+
remainingMs: () => number;
|
|
910
|
+
requestMore: () => void;
|
|
911
|
+
invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
|
|
912
|
+
/**
|
|
913
|
+
* Internal scheduler metric hook used by frame tasks/mailboxes to report
|
|
914
|
+
* dropped producer updates that were intentionally coalesced before paint.
|
|
915
|
+
*
|
|
916
|
+
* Compatibility note:
|
|
917
|
+
* TerminalFrameContext is an exported type, so additions here are public.
|
|
918
|
+
*/
|
|
919
|
+
reportDroppedUpdates?: (count: number) => void;
|
|
920
|
+
reportMailboxDeliveryAttempt?: (attempt: {
|
|
921
|
+
id: string;
|
|
922
|
+
queued: number;
|
|
923
|
+
dropped: number;
|
|
924
|
+
}) => void;
|
|
925
|
+
}>;
|
|
926
|
+
type TerminalFrameTask = Readonly<{
|
|
927
|
+
id?: string;
|
|
928
|
+
reason?: FramePerfReason;
|
|
929
|
+
priority?: TerminalFrameTaskPriority;
|
|
930
|
+
sync?: boolean;
|
|
931
|
+
run: (ctx: TerminalFrameContext) => void;
|
|
932
|
+
}>;
|
|
933
|
+
type TerminalSchedulerConfig = Readonly<{
|
|
934
|
+
targetFps?: number;
|
|
935
|
+
maxFps?: number;
|
|
936
|
+
frameBudgetMs?: number;
|
|
788
937
|
}>;
|
|
789
938
|
type TerminalScheduler = Readonly<{
|
|
790
939
|
invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
|
|
791
940
|
flush: () => void;
|
|
941
|
+
/**
|
|
942
|
+
* Flushes render-manager work and requests a sync terminal commit immediately.
|
|
943
|
+
* DOM row updates may still defer to rAF when they exceed the renderer sync budget.
|
|
944
|
+
*/
|
|
792
945
|
flushNow: () => void;
|
|
946
|
+
configure: (options: TerminalSchedulerConfig) => void;
|
|
947
|
+
/**
|
|
948
|
+
* Queues a frame task for the next scheduler frame.
|
|
949
|
+
* false means the scheduler explicitly rejected the task; producers must clear
|
|
950
|
+
* local pending state. true or undefined means accepted so legacy schedulers
|
|
951
|
+
* that do not return a value remain valid.
|
|
952
|
+
*/
|
|
953
|
+
queueFrameTask: (task: TerminalFrameTask) => boolean | void;
|
|
954
|
+
/**
|
|
955
|
+
* Best-effort cancellation for a pending id task.
|
|
956
|
+
* If the scheduler has already taken the task for the current frame,
|
|
957
|
+
* the task run() still needs to guard its own stale state.
|
|
958
|
+
*/
|
|
959
|
+
cancelFrameTask?: (id: string) => boolean | void;
|
|
960
|
+
requestLive: (reason: string) => () => void;
|
|
961
|
+
dropLive: (reason: string) => void;
|
|
962
|
+
isInsideFrame: () => boolean;
|
|
793
963
|
}>;
|
|
794
964
|
type TerminalRuntimeHandle = Readonly<{
|
|
795
965
|
update: (props: Record<string, unknown>) => void;
|
|
@@ -808,12 +978,14 @@ type ImeAnchor = Readonly<{
|
|
|
808
978
|
}>;
|
|
809
979
|
type TerminalContext = Readonly<{
|
|
810
980
|
terminal: Terminal;
|
|
811
|
-
renderer: Ref<
|
|
981
|
+
renderer: Ref<TerminalRendererLike | null>;
|
|
982
|
+
rendererCapabilities: Ref<RendererCapabilities>;
|
|
812
983
|
events: Ref<EventManager | null>;
|
|
813
984
|
scheduler: TerminalScheduler;
|
|
814
985
|
runtime: TerminalRuntime;
|
|
815
986
|
observability: Readonly<{
|
|
816
987
|
trace: TraceStore;
|
|
988
|
+
framePerf: FramePerfStore;
|
|
817
989
|
}>;
|
|
818
990
|
defaultStyle: Ref<Style>;
|
|
819
991
|
render: RenderManager;
|
|
@@ -846,7 +1018,7 @@ type PromptSuggestion = Readonly<{
|
|
|
846
1018
|
detail?: string;
|
|
847
1019
|
keywords?: readonly string[];
|
|
848
1020
|
mentionValue?: string;
|
|
849
|
-
mentionBehavior?:
|
|
1021
|
+
mentionBehavior?: "collect" | "inline";
|
|
850
1022
|
onSelect?: (info: Readonly<{
|
|
851
1023
|
value: string;
|
|
852
1024
|
query: string;
|
|
@@ -860,14 +1032,18 @@ type TInputPluginContext = Readonly<{
|
|
|
860
1032
|
promptTrigger: string;
|
|
861
1033
|
promptTriggers?: readonly string[];
|
|
862
1034
|
promptMaxItems: number;
|
|
863
|
-
promptAlign:
|
|
1035
|
+
promptAlign: "input" | "center";
|
|
864
1036
|
promptSelectedStyle?: Style;
|
|
1037
|
+
promptPopupStyle?: Style;
|
|
1038
|
+
promptPopupBorderStyle?: Style;
|
|
1039
|
+
promptPopupMatchStyle?: Style;
|
|
865
1040
|
mentionTrigger: string;
|
|
866
1041
|
mentionWorkspace: string;
|
|
867
1042
|
mentionMode: PathPickMode;
|
|
868
1043
|
mentionShowHidden: boolean;
|
|
869
1044
|
mentionSuggestions: readonly PromptSuggestion[];
|
|
870
1045
|
mentionMaxItems: number;
|
|
1046
|
+
mentionChipStyle?: Style;
|
|
871
1047
|
collectMentions: boolean;
|
|
872
1048
|
mentions: readonly string[];
|
|
873
1049
|
skillTrigger?: string;
|
|
@@ -903,7 +1079,7 @@ type TInputPluginContext = Readonly<{
|
|
|
903
1079
|
}>) => string) => void;
|
|
904
1080
|
registerChipStyleProvider: (provider: Readonly<{
|
|
905
1081
|
getStyle: (baseStyle: Style, chip: Readonly<{
|
|
906
|
-
kind:
|
|
1082
|
+
kind: "multiline" | "mention";
|
|
907
1083
|
absPath?: string;
|
|
908
1084
|
}>) => Style | null | undefined;
|
|
909
1085
|
version: Ref<number>;
|
|
@@ -925,11 +1101,7 @@ type TerminalApp = Readonly<{
|
|
|
925
1101
|
app: App;
|
|
926
1102
|
terminal: Terminal;
|
|
927
1103
|
events: CliEventManager;
|
|
928
|
-
scheduler:
|
|
929
|
-
invalidate: (options?: TerminalSchedulerInvalidateOptions) => void;
|
|
930
|
-
flush: () => void;
|
|
931
|
-
flushNow: () => void;
|
|
932
|
-
};
|
|
1104
|
+
scheduler: TerminalScheduler;
|
|
933
1105
|
defaultStyle: Ref<Style>;
|
|
934
1106
|
/** Returns the current IME anchor position (cursor position in cell coordinates), or null if no input is focused */
|
|
935
1107
|
getImeAnchor: () => ImeAnchor | null;
|
|
@@ -994,7 +1166,7 @@ declare function getCliLatencyProfiler(): CliLatencyProfiler | null;
|
|
|
994
1166
|
|
|
995
1167
|
//#endregion
|
|
996
1168
|
//#region src/renderer/cli/stdout-metrics.d.ts
|
|
997
|
-
type StdoutRendererWriteMode =
|
|
1169
|
+
type StdoutRendererWriteMode = "stream" | "sync" | "chunked";
|
|
998
1170
|
interface StdoutRendererMetrics {
|
|
999
1171
|
lastFrameAt: number;
|
|
1000
1172
|
lastFrameBytes: number;
|
|
@@ -1008,7 +1180,7 @@ declare function getStdoutRendererMetrics(): StdoutRendererMetrics;
|
|
|
1008
1180
|
|
|
1009
1181
|
//#endregion
|
|
1010
1182
|
//#region src/runtime/index.d.ts
|
|
1011
|
-
type RuntimeEnv =
|
|
1183
|
+
type RuntimeEnv = "browser" | "terminal" | "unknown";
|
|
1012
1184
|
type TimerApi = Readonly<{
|
|
1013
1185
|
setTimeout: typeof setTimeout;
|
|
1014
1186
|
clearTimeout: typeof clearTimeout;
|
|
@@ -1064,7 +1236,7 @@ type PromptSuggestion$1 = Readonly<{
|
|
|
1064
1236
|
detail?: string;
|
|
1065
1237
|
keywords?: readonly string[];
|
|
1066
1238
|
mentionValue?: string;
|
|
1067
|
-
mentionBehavior?:
|
|
1239
|
+
mentionBehavior?: "collect" | "inline";
|
|
1068
1240
|
onSelect?: (info: Readonly<{
|
|
1069
1241
|
value: string;
|
|
1070
1242
|
query: string;
|
|
@@ -1165,7 +1337,7 @@ declare const TInputBox: any;
|
|
|
1165
1337
|
//#endregion
|
|
1166
1338
|
//#region src/vue/components/TJsonEditor.d.ts
|
|
1167
1339
|
type JsonLintStatus = Readonly<{
|
|
1168
|
-
state:
|
|
1340
|
+
state: "idle" | "success" | "error";
|
|
1169
1341
|
message?: string;
|
|
1170
1342
|
line?: number;
|
|
1171
1343
|
column?: number;
|
|
@@ -1219,6 +1391,10 @@ interface RenderNodeOptions {
|
|
|
1219
1391
|
zIndex?: number;
|
|
1220
1392
|
stack?: RenderStack;
|
|
1221
1393
|
rect?: RenderRect | null;
|
|
1394
|
+
/**
|
|
1395
|
+
* One-shot absolute terminal rows for row-local content changes on this node's plane only.
|
|
1396
|
+
* Omit this when geometry, z-order, style, data identity, or paint semantics changed.
|
|
1397
|
+
*/
|
|
1222
1398
|
dirtyRowsHint?: readonly number[];
|
|
1223
1399
|
priority?: TerminalSchedulerPriority;
|
|
1224
1400
|
deps?: unknown;
|
|
@@ -1289,14 +1465,14 @@ type TerminalRouteLocationRaw = string | Readonly<{
|
|
|
1289
1465
|
type NavigationGuardReturn = void | boolean | TerminalRouteLocationRaw;
|
|
1290
1466
|
type NavigationGuard = (to: TerminalRoute, from: TerminalRoute | null) => NavigationGuardReturn | Promise<NavigationGuardReturn>;
|
|
1291
1467
|
type TerminalRouter = Readonly<{
|
|
1292
|
-
currentRoute:
|
|
1468
|
+
currentRoute: vue15.Ref<TerminalRoute>;
|
|
1293
1469
|
push: (to: TerminalRouteLocationRaw) => Promise<void>;
|
|
1294
1470
|
replace: (to: TerminalRouteLocationRaw) => Promise<void>;
|
|
1295
1471
|
back: () => Promise<void>;
|
|
1296
1472
|
beforeEach: (guard: NavigationGuard) => () => void;
|
|
1297
1473
|
beforeResolve: (guard: NavigationGuard) => () => void;
|
|
1298
1474
|
afterEach: (guard: (to: TerminalRoute, from: TerminalRoute | null) => void) => () => void;
|
|
1299
|
-
install: (app:
|
|
1475
|
+
install: (app: vue16.App) => void;
|
|
1300
1476
|
}>;
|
|
1301
1477
|
|
|
1302
1478
|
//#endregion
|
|
@@ -1335,14 +1511,13 @@ interface WheelScrollState {
|
|
|
1335
1511
|
lastAt: number;
|
|
1336
1512
|
lastEdgeDir: number;
|
|
1337
1513
|
lastEdgeAt: number;
|
|
1338
|
-
lastLineUnitDir: number;
|
|
1339
1514
|
}
|
|
1340
1515
|
interface WheelScrollResult {
|
|
1341
1516
|
nextTop: number;
|
|
1342
1517
|
dir: -1 | 0 | 1;
|
|
1343
1518
|
lines: number;
|
|
1344
1519
|
}
|
|
1345
|
-
type WheelDeltaMode =
|
|
1520
|
+
type WheelDeltaMode = "auto" | "line" | "pixel";
|
|
1346
1521
|
interface WheelScrollOptions {
|
|
1347
1522
|
disableAcceleration?: boolean;
|
|
1348
1523
|
}
|
|
@@ -1350,4 +1525,4 @@ declare function createWheelScrollState(): WheelScrollState;
|
|
|
1350
1525
|
declare function applyWheelScroll(state: WheelScrollState, deltaY: number, scrollTop: number, maxTop: number, now?: number, deltaMode?: WheelDeltaMode, options?: WheelScrollOptions): WheelScrollResult;
|
|
1351
1526
|
|
|
1352
1527
|
//#endregion
|
|
1353
|
-
export { ANSI16_COLORS, ANSI256_COLORS, ANSI8_COLORS, AnsiColorName, BufferSnapshot, Cell, CellMetrics, CliEventManager, ClipboardApi, CreateTerminalAppOptions, DomRenderer, EventManager, FsDirEntry, FsEntryKind, FsStat, LayoutContext, MentionPathProvider, MentionSuggestionProvider, PathPickMode, PathPickerProvider, PathSuggestion, PromptMentionPluginOptions, PromptSuggestion, RafApi, Rect, Runtime, RuntimeEnv, SGR_RESET, StdinDriver, StdoutRenderer, StdoutRendererMetrics, Style, SuggestPathsResult, TAnchor, TBox, TDebugOverlay, TDialog, TERMINAL_RENDER_PLANES, TFlow, TInput, TInputBox, TInputHostAdapter, TInputPlugin, TInputPluginContext, TInputPluginsContextKey, TJsonEditor, TList, TMultilineModal, TPathPicker, TRenderLayer, TRenderPlane, TRouterView, TSelect, TText, TTransition, TView, Terminal, TerminalApp, TerminalBaseEvent, TerminalColorCapability, TerminalColorLevel, TerminalColorMode, TerminalCommitEvent, TerminalContext, TerminalDebugNode, TerminalEventHandlerMap, TerminalEventMap, TerminalEventRecord, TerminalEventType, TerminalInputEvent, TerminalKeyboardEvent, TerminalNode, TerminalPointerEvent, TerminalProvider, TerminalRenderPlane, TerminalRenderPlanes, TerminalResizeEvent, TerminalRoute, TerminalRouteLocationRaw, TerminalRouteRecord, TerminalRouter, TerminalRuntime, TerminalRuntimeHandle, TerminalScheduler, TerminalSchedulerInvalidateOptions, TerminalScrollOperation, TimerApi, TraceRecord, TraceStore, ansiColors, ansiStyles, applyWheelScroll, charCellWidth, clearTextCaches, createCliEventManager, createDefaultTInputHostAdapter, createDomRenderer, createEventManager, createNodeMentionPathProvider, createNodePathPickerProvider, createPromptMentionPlugin, createRuntime, createStdinDriver, createStdoutRenderer, createTInputHostPlugin, createTerminal, createTerminalApp, createTerminalRouter, createTextRestrictionPlugin, createTraceStore, createWheelScrollState, defaultTInputHostPlugin, detectTerminalColorCapability, formatInlineCellLine, getCliLatencyProfiler, getStdoutRendererMetrics, lintJsonText, normalizeNewlines, padEndByCells, parseAnsiSgr, readEventLog, resolveUserPath, rgbToAnsi256, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, suggestPaths, textCellWidth, truecolorBgOpen, truecolorFgOpen, useLayout, useRenderNode, useRoute, useRouter, useTerminal, useTerminalNode, useTerminalRuntime, useVisibility, wrapByCells, writeEventLog, writeSnapshot };
|
|
1528
|
+
export { ANSI16_COLORS, ANSI256_COLORS, ANSI8_COLORS, AnsiColorName, BufferSnapshot, Cell, CellMetrics, CliEventManager, ClipboardApi, CreateTerminalAppOptions, DOM_RENDERER_CAPABILITIES, DomRenderer, DomRendererDebugStats, DomRendererFlushSample, DomRendererFlushStats, DomRendererOptions, DomRendererRowKeyPrepassDebugStats, DomRendererRowKeyPrepassDecision, DomRendererRowKeyPrepassMode, DomRendererRowRenderDebugStats, DomRendererRowRenderStats, DomRendererSyncFlushDecision, DomRendererSyncFlushStats, EventManager, FramePerfReason, FramePerfRowBucketFallback, FramePerfSample, FramePerfStore, FsDirEntry, FsEntryKind, FsStat, HEADLESS_RENDERER_CAPABILITIES, LayoutContext, MentionPathProvider, MentionSuggestionProvider, PathPickMode, PathPickerProvider, PathSuggestion, PromptMentionPluginOptions, PromptSuggestion, RafApi, Rect, RendererCapabilities, Runtime, RuntimeEnv, SGR_RESET, StdinDriver, StdoutRenderer, StdoutRendererMetrics, Style, SuggestPathsResult, TAnchor, TBox, TDebugOverlay, TDialog, TERMINAL_RENDER_PLANES, TFlow, TInput, TInputBox, TInputHostAdapter, TInputPlugin, TInputPluginContext, TInputPluginsContextKey, TJsonEditor, TList, TMultilineModal, TPathPicker, TRenderLayer, TRenderPlane, TRouterView, TSelect, TText, TTransition, TView, Terminal, TerminalApp, TerminalBaseEvent, TerminalColorCapability, TerminalColorLevel, TerminalColorMode, TerminalCommitEvent, TerminalContext, TerminalDebugNode, TerminalEventHandlerMap, TerminalEventMap, TerminalEventRecord, TerminalEventType, TerminalFrameContext, TerminalFrameTask, TerminalFrameTaskPriority, TerminalInputEvent, TerminalKeyboardEvent, TerminalNode, TerminalPointerEvent, TerminalProvider, TerminalRenderPlane, TerminalRenderPlanes, TerminalRendererLike, TerminalResizeEvent, TerminalRoute, TerminalRouteLocationRaw, TerminalRouteRecord, TerminalRouter, TerminalRuntime, TerminalRuntimeHandle, TerminalScheduler, TerminalSchedulerConfig, TerminalSchedulerInvalidateOptions, TerminalScrollOperation, ThemeModeId, ThemePalette, TimerApi, TraceRecord, TraceStore, TuiMarkdownTheme, TuiMarkdownThemeOverrides, ansiColors, ansiStyles, applyWheelScroll, charCellWidth, clearTextCaches, createCliEventManager, createDefaultTInputHostAdapter, createDomRenderer, createEventManager, createFramePerfStore, createNodeMentionPathProvider, createNodePathPickerProvider, createPromptMentionPlugin, createRuntime, createStdinDriver, createStdoutRenderer, createTInputHostPlugin, createTerminal, createTerminalApp, createTerminalRouter, createTextRestrictionPlugin, createTraceStore, createWheelScrollState, defaultTInputHostPlugin, detectTerminalColorCapability, formatInlineCellLine, framePerfNow, getCliLatencyProfiler, getStdoutRendererMetrics, lintJsonText, normalizeNewlines, padEndByCells, parseAnsiSgr, readEventLog, resolveUserPath, rgbToAnsi256, sanitizeInlineText, sanitizeTextBlock, sliceByCells, sliceByCellsRange, spaces, suggestPaths, textCellWidth, truecolorBgOpen, truecolorFgOpen, useLayout, useRenderNode, useRoute, useRouter, useTerminal, useTerminalNode, useTerminalRuntime, useVisibility, wrapByCells, writeEventLog, writeSnapshot };
|