@fairyhunter13/opentui-core 0.1.132 → 0.1.134
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/3d.js +1 -1
- package/Renderable.d.ts +2 -1
- package/buffer.d.ts +3 -0
- package/console.d.ts +3 -1
- package/{index-t54p24hr.js → index-ckgv87ep.js} +3 -3
- package/{index-t3rrpex7.js → index-n2b7w731.js} +558 -136
- package/index-n2b7w731.js.map +76 -0
- package/{index-gwfqqvw5.js → index-x59exf1c.js} +38 -13
- package/{index-gwfqqvw5.js.map → index-x59exf1c.js.map} +5 -5
- package/index.js +27 -3
- package/index.js.map +1 -1
- package/lib/RGBA.d.ts +27 -3
- package/lib/parse.keypress-kitty.d.ts +1 -0
- package/lib/parse.keypress.d.ts +1 -0
- package/lib/terminal-palette.d.ts +8 -0
- package/package.json +7 -7
- package/renderables/Select.d.ts +3 -1
- package/renderables/TabSelect.d.ts +3 -1
- package/renderables/Textarea.d.ts +5 -3
- package/renderer-theme-mode.d.ts +29 -0
- package/renderer.d.ts +12 -7
- package/runtime-plugin-support.js +3 -3
- package/runtime-plugin.js +3 -3
- package/testing.js +1 -1
- package/types.d.ts +1 -0
- package/zig-structs.d.ts +7 -1
- package/zig.d.ts +4 -0
- package/index-t3rrpex7.js.map +0 -75
- /package/{index-t54p24hr.js.map → index-ckgv87ep.js.map} +0 -0
- /package/lib/{keymapping.d.ts → keybinding.internal.d.ts} +0 -0
package/index.js
CHANGED
|
@@ -65,11 +65,12 @@ import {
|
|
|
65
65
|
createCoreSlotRegistry,
|
|
66
66
|
createSlotRegistry,
|
|
67
67
|
createTimeline,
|
|
68
|
+
defaultTextareaKeyBindings,
|
|
68
69
|
engine,
|
|
69
70
|
registerCorePlugin,
|
|
70
71
|
resolveCoreSlot,
|
|
71
72
|
vstyles
|
|
72
|
-
} from "./index-
|
|
73
|
+
} from "./index-x59exf1c.js";
|
|
73
74
|
import {
|
|
74
75
|
ASCIIFontSelectionHelper,
|
|
75
76
|
ATTRIBUTE_BASE_BITS,
|
|
@@ -78,10 +79,14 @@ import {
|
|
|
78
79
|
BorderCharArrays,
|
|
79
80
|
BorderChars,
|
|
80
81
|
BoxRenderable,
|
|
82
|
+
COLOR_TAG_DEFAULT,
|
|
83
|
+
COLOR_TAG_RGB,
|
|
81
84
|
CliRenderEvents,
|
|
82
85
|
CliRenderer,
|
|
83
86
|
CodeRenderable,
|
|
84
87
|
ConsolePosition,
|
|
88
|
+
DEFAULT_BACKGROUND_RGB,
|
|
89
|
+
DEFAULT_FOREGROUND_RGB,
|
|
85
90
|
DataPathsManager,
|
|
86
91
|
DebugOverlayCorner,
|
|
87
92
|
EditBuffer,
|
|
@@ -123,6 +128,7 @@ import {
|
|
|
123
128
|
TextRenderable,
|
|
124
129
|
TreeSitterClient,
|
|
125
130
|
addDefaultParsers,
|
|
131
|
+
ansi256IndexToRgb,
|
|
126
132
|
attributesWithLink,
|
|
127
133
|
basenameToFiletype,
|
|
128
134
|
bg,
|
|
@@ -148,6 +154,7 @@ import {
|
|
|
148
154
|
brightWhite,
|
|
149
155
|
brightYellow,
|
|
150
156
|
buildKittyKeyboardFlags,
|
|
157
|
+
buildTerminalPaletteSignature,
|
|
151
158
|
capture,
|
|
152
159
|
clearEnvCache,
|
|
153
160
|
convertGlobalToLocalSelection,
|
|
@@ -158,6 +165,7 @@ import {
|
|
|
158
165
|
createTerminalPalette,
|
|
159
166
|
createTextAttributes,
|
|
160
167
|
cyan,
|
|
168
|
+
decodeColorTag,
|
|
161
169
|
decodePasteBytes,
|
|
162
170
|
delegate,
|
|
163
171
|
detectLinks,
|
|
@@ -198,6 +206,9 @@ import {
|
|
|
198
206
|
maybeMakeRenderable,
|
|
199
207
|
measureText,
|
|
200
208
|
nonAlphanumericKeys,
|
|
209
|
+
normalizeColorValue,
|
|
210
|
+
normalizeIndexedColorIndex,
|
|
211
|
+
normalizeTerminalPalette,
|
|
201
212
|
parseAlign,
|
|
202
213
|
parseAlignItems,
|
|
203
214
|
parseBorderStyle,
|
|
@@ -229,6 +240,7 @@ import {
|
|
|
229
240
|
stringToStyledText,
|
|
230
241
|
stripAnsiSequences,
|
|
231
242
|
t,
|
|
243
|
+
terminalNamedSingleStrokeKeys,
|
|
232
244
|
treeSitterToStyledText,
|
|
233
245
|
treeSitterToTextChunks,
|
|
234
246
|
underline,
|
|
@@ -236,7 +248,7 @@ import {
|
|
|
236
248
|
white,
|
|
237
249
|
wrapWithDelegates,
|
|
238
250
|
yellow
|
|
239
|
-
} from "./index-
|
|
251
|
+
} from "./index-n2b7w731.js";
|
|
240
252
|
export {
|
|
241
253
|
yellow,
|
|
242
254
|
wrapWithDelegates,
|
|
@@ -247,6 +259,7 @@ export {
|
|
|
247
259
|
underline,
|
|
248
260
|
treeSitterToTextChunks,
|
|
249
261
|
treeSitterToStyledText,
|
|
262
|
+
terminalNamedSingleStrokeKeys,
|
|
250
263
|
t,
|
|
251
264
|
stripAnsiSequences,
|
|
252
265
|
stringToStyledText,
|
|
@@ -280,6 +293,9 @@ export {
|
|
|
280
293
|
parseBorderStyle,
|
|
281
294
|
parseAlignItems,
|
|
282
295
|
parseAlign,
|
|
296
|
+
normalizeTerminalPalette,
|
|
297
|
+
normalizeIndexedColorIndex,
|
|
298
|
+
normalizeColorValue,
|
|
283
299
|
nonAlphanumericKeys,
|
|
284
300
|
measureText,
|
|
285
301
|
maybeMakeRenderable,
|
|
@@ -318,7 +334,9 @@ export {
|
|
|
318
334
|
dim,
|
|
319
335
|
detectLinks,
|
|
320
336
|
delegate,
|
|
337
|
+
defaultTextareaKeyBindings,
|
|
321
338
|
decodePasteBytes,
|
|
339
|
+
decodeColorTag,
|
|
322
340
|
cyan,
|
|
323
341
|
createTimeline,
|
|
324
342
|
createTextAttributes,
|
|
@@ -332,6 +350,7 @@ export {
|
|
|
332
350
|
convertGlobalToLocalSelection,
|
|
333
351
|
clearEnvCache,
|
|
334
352
|
capture,
|
|
353
|
+
buildTerminalPaletteSignature,
|
|
335
354
|
buildKittyKeyboardFlags,
|
|
336
355
|
brightYellow,
|
|
337
356
|
brightWhite,
|
|
@@ -365,6 +384,7 @@ export {
|
|
|
365
384
|
applyChromaticAberration,
|
|
366
385
|
applyBrightness,
|
|
367
386
|
applyAsciiArt,
|
|
387
|
+
ansi256IndexToRgb,
|
|
368
388
|
addDefaultParsers,
|
|
369
389
|
exports_src as Yoga,
|
|
370
390
|
VignetteEffect,
|
|
@@ -452,6 +472,8 @@ export {
|
|
|
452
472
|
DataPathsManager,
|
|
453
473
|
DEUTERANOPIA_SIM_MATRIX,
|
|
454
474
|
DEUTERANOPIA_COMP_MATRIX,
|
|
475
|
+
DEFAULT_FOREGROUND_RGB,
|
|
476
|
+
DEFAULT_BACKGROUND_RGB,
|
|
455
477
|
ConsolePosition,
|
|
456
478
|
CodeRenderable,
|
|
457
479
|
Code,
|
|
@@ -459,6 +481,8 @@ export {
|
|
|
459
481
|
CliRenderer,
|
|
460
482
|
CliRenderEvents,
|
|
461
483
|
CRTRollingBarEffect,
|
|
484
|
+
COLOR_TAG_RGB,
|
|
485
|
+
COLOR_TAG_DEFAULT,
|
|
462
486
|
BoxRenderable,
|
|
463
487
|
Box,
|
|
464
488
|
BorderChars,
|
|
@@ -474,5 +498,5 @@ export {
|
|
|
474
498
|
ACHROMATOPSIA_MATRIX
|
|
475
499
|
};
|
|
476
500
|
|
|
477
|
-
//# debugId=
|
|
501
|
+
//# debugId=300B52F6C6F4E0DC64756E2164756E21
|
|
478
502
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
package/lib/RGBA.d.ts
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
|
+
export type RGBTriplet = readonly [number, number, number];
|
|
2
|
+
export type ColorKind = "rgb" | "indexed" | "default";
|
|
3
|
+
export type ColorInput = string | RGBA;
|
|
4
|
+
export declare const COLOR_TAG_RGB = 256;
|
|
5
|
+
export declare const COLOR_TAG_DEFAULT = 257;
|
|
6
|
+
export declare const DEFAULT_FOREGROUND_RGB: RGBTriplet;
|
|
7
|
+
export declare const DEFAULT_BACKGROUND_RGB: RGBTriplet;
|
|
8
|
+
export interface NormalizedColorValue {
|
|
9
|
+
rgba: RGBA;
|
|
10
|
+
tag: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function normalizeIndexedColorIndex(index: number): number;
|
|
13
|
+
export declare function ansi256IndexToRgb(index: number): RGBTriplet;
|
|
14
|
+
export declare function decodeColorTag(tag: number): {
|
|
15
|
+
kind: ColorKind;
|
|
16
|
+
index?: number;
|
|
17
|
+
};
|
|
1
18
|
export declare class RGBA {
|
|
2
19
|
buffer: Float32Array;
|
|
3
20
|
constructor(buffer: Float32Array);
|
|
4
21
|
static fromArray(array: Float32Array): RGBA;
|
|
5
|
-
static fromValues(r: number, g: number, b: number, a?: number): RGBA;
|
|
6
|
-
static
|
|
22
|
+
static fromValues(r: number, g: number, b: number, a?: number, tag?: number): RGBA;
|
|
23
|
+
static clone(rgba: RGBA): RGBA;
|
|
24
|
+
static fromInts(r: number, g: number, b: number, a?: number, tag?: number): RGBA;
|
|
7
25
|
static fromHex(hex: string): RGBA;
|
|
26
|
+
static fromIndex(index: number, snapshot?: ColorInput): RGBA;
|
|
27
|
+
static defaultForeground(snapshot?: ColorInput): RGBA;
|
|
28
|
+
static defaultBackground(snapshot?: ColorInput): RGBA;
|
|
29
|
+
static getIntentTag(rgba: RGBA): number;
|
|
8
30
|
toInts(): [number, number, number, number];
|
|
9
31
|
get r(): number;
|
|
10
32
|
set r(value: number);
|
|
@@ -14,11 +36,13 @@ export declare class RGBA {
|
|
|
14
36
|
set b(value: number);
|
|
15
37
|
get a(): number;
|
|
16
38
|
set a(value: number);
|
|
39
|
+
get tag(): number;
|
|
40
|
+
set tag(value: number);
|
|
17
41
|
map<R>(fn: (value: number) => R): R[];
|
|
18
42
|
toString(): string;
|
|
19
43
|
equals(other?: RGBA): boolean;
|
|
20
44
|
}
|
|
21
|
-
export
|
|
45
|
+
export declare function normalizeColorValue(value: ColorInput | null | undefined): NormalizedColorValue | null;
|
|
22
46
|
export declare function hexToRgb(hex: string): RGBA;
|
|
23
47
|
export declare function rgbToHex(rgb: RGBA): string;
|
|
24
48
|
export declare function hsvToRgb(h: number, s: number, v: number): RGBA;
|
package/lib/parse.keypress.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RGBA } from "./RGBA.js";
|
|
1
2
|
import { type Clock } from "./clock.js";
|
|
2
3
|
type Hex = string | null;
|
|
3
4
|
export type WriteFunction = (data: string | Buffer) => boolean;
|
|
@@ -22,6 +23,11 @@ export interface TerminalPaletteDetector {
|
|
|
22
23
|
detectOSCSupport(timeoutMs?: number): Promise<boolean>;
|
|
23
24
|
cleanup(): void;
|
|
24
25
|
}
|
|
26
|
+
export interface NormalizedTerminalPalette {
|
|
27
|
+
palette: RGBA[];
|
|
28
|
+
defaultForeground: RGBA;
|
|
29
|
+
defaultBackground: RGBA;
|
|
30
|
+
}
|
|
25
31
|
export type OscSubscriptionSource = {
|
|
26
32
|
subscribeOsc(handler: (sequence: string) => void): () => void;
|
|
27
33
|
};
|
|
@@ -47,4 +53,6 @@ export declare class TerminalPalette implements TerminalPaletteDetector {
|
|
|
47
53
|
detect(options?: GetPaletteOptions): Promise<TerminalColors>;
|
|
48
54
|
}
|
|
49
55
|
export declare function createTerminalPalette(stdin: NodeJS.ReadStream, stdout: NodeJS.WriteStream, writeFn?: WriteFunction, isLegacyTmux?: boolean, oscSource?: OscSubscriptionSource, clock?: Clock): TerminalPaletteDetector;
|
|
56
|
+
export declare function normalizeTerminalPalette(colors?: TerminalColors | null): NormalizedTerminalPalette;
|
|
57
|
+
export declare function buildTerminalPaletteSignature(colors?: TerminalColors | null): string;
|
|
50
58
|
export {};
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.1.
|
|
7
|
+
"version": "0.1.134",
|
|
8
8
|
"description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -67,12 +67,12 @@
|
|
|
67
67
|
"bun-webgpu": "0.1.5",
|
|
68
68
|
"planck": "^1.4.2",
|
|
69
69
|
"three": "0.177.0",
|
|
70
|
-
"@fairyhunter13/opentui-core-darwin-x64": "0.1.
|
|
71
|
-
"@fairyhunter13/opentui-core-darwin-arm64": "0.1.
|
|
72
|
-
"@fairyhunter13/opentui-core-linux-x64": "0.1.
|
|
73
|
-
"@fairyhunter13/opentui-core-linux-arm64": "0.1.
|
|
74
|
-
"@fairyhunter13/opentui-core-win32-x64": "0.1.
|
|
75
|
-
"@fairyhunter13/opentui-core-win32-arm64": "0.1.
|
|
70
|
+
"@fairyhunter13/opentui-core-darwin-x64": "0.1.134",
|
|
71
|
+
"@fairyhunter13/opentui-core-darwin-arm64": "0.1.134",
|
|
72
|
+
"@fairyhunter13/opentui-core-linux-x64": "0.1.134",
|
|
73
|
+
"@fairyhunter13/opentui-core-linux-arm64": "0.1.134",
|
|
74
|
+
"@fairyhunter13/opentui-core-win32-x64": "0.1.134",
|
|
75
|
+
"@fairyhunter13/opentui-core-win32-arm64": "0.1.134"
|
|
76
76
|
},
|
|
77
77
|
"publishConfig": {
|
|
78
78
|
"access": "public"
|
package/renderables/Select.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ import type { KeyEvent } from "../lib/KeyHandler.js";
|
|
|
4
4
|
import { type ColorInput } from "../lib/RGBA.js";
|
|
5
5
|
import { Renderable, type RenderableOptions } from "../Renderable.js";
|
|
6
6
|
import type { RenderContext } from "../types.js";
|
|
7
|
-
import { type KeyBinding as BaseKeyBinding
|
|
7
|
+
import { type KeyBinding as BaseKeyBinding } from "../lib/keybinding.internal.js";
|
|
8
|
+
type KeyAliasMap = Record<string, string>;
|
|
8
9
|
export interface SelectOption {
|
|
9
10
|
name: string;
|
|
10
11
|
description: string;
|
|
@@ -113,3 +114,4 @@ export declare class SelectRenderable extends Renderable {
|
|
|
113
114
|
set keyAliasMap(aliases: KeyAliasMap);
|
|
114
115
|
set selectedIndex(value: number);
|
|
115
116
|
}
|
|
117
|
+
export {};
|
|
@@ -3,7 +3,8 @@ import { OptimizedBuffer } from "../buffer.js";
|
|
|
3
3
|
import { type ColorInput } from "../lib/RGBA.js";
|
|
4
4
|
import type { KeyEvent } from "../lib/KeyHandler.js";
|
|
5
5
|
import type { RenderContext } from "../types.js";
|
|
6
|
-
import { type KeyBinding as BaseKeyBinding
|
|
6
|
+
import { type KeyBinding as BaseKeyBinding } from "../lib/keybinding.internal.js";
|
|
7
|
+
type KeyAliasMap = Record<string, string>;
|
|
7
8
|
export interface TabSelectOption {
|
|
8
9
|
name: string;
|
|
9
10
|
description: string;
|
|
@@ -94,3 +95,4 @@ export declare class TabSelectRenderable extends Renderable {
|
|
|
94
95
|
set keyBindings(bindings: TabSelectKeyBinding[]);
|
|
95
96
|
set keyAliasMap(aliases: KeyAliasMap);
|
|
96
97
|
}
|
|
98
|
+
export {};
|
|
@@ -2,11 +2,13 @@ import type { KeyEvent, PasteEvent } from "../lib/KeyHandler.js";
|
|
|
2
2
|
import { RGBA, type ColorInput } from "../lib/RGBA.js";
|
|
3
3
|
import { type RenderContext } from "../types.js";
|
|
4
4
|
import { EditBufferRenderable, type EditBufferOptions } from "./EditBufferRenderable.js";
|
|
5
|
-
import { type KeyBinding as BaseKeyBinding
|
|
5
|
+
import { type KeyBinding as BaseKeyBinding } from "../lib/keybinding.internal.js";
|
|
6
6
|
import { type StyledText } from "../lib/styled-text.js";
|
|
7
7
|
import type { ExtmarksController } from "../lib/extmarks.js";
|
|
8
8
|
export type TextareaAction = "move-left" | "move-right" | "move-up" | "move-down" | "select-left" | "select-right" | "select-up" | "select-down" | "line-home" | "line-end" | "select-line-home" | "select-line-end" | "visual-line-home" | "visual-line-end" | "select-visual-line-home" | "select-visual-line-end" | "buffer-home" | "buffer-end" | "select-buffer-home" | "select-buffer-end" | "delete-line" | "delete-to-line-end" | "delete-to-line-start" | "backspace" | "delete" | "newline" | "undo" | "redo" | "word-forward" | "word-backward" | "select-word-forward" | "select-word-backward" | "delete-word-forward" | "delete-word-backward" | "select-all" | "submit";
|
|
9
9
|
export type KeyBinding = BaseKeyBinding<TextareaAction>;
|
|
10
|
+
export type TextareaKeyAliasMap = Record<string, string>;
|
|
11
|
+
export declare const defaultTextareaKeyBindings: KeyBinding[];
|
|
10
12
|
export interface SubmitEvent {
|
|
11
13
|
}
|
|
12
14
|
export interface TextareaOptions extends EditBufferOptions {
|
|
@@ -18,7 +20,7 @@ export interface TextareaOptions extends EditBufferOptions {
|
|
|
18
20
|
placeholder?: StyledText | string | null;
|
|
19
21
|
placeholderColor?: ColorInput;
|
|
20
22
|
keyBindings?: KeyBinding[];
|
|
21
|
-
keyAliasMap?:
|
|
23
|
+
keyAliasMap?: TextareaKeyAliasMap;
|
|
22
24
|
onSubmit?: (event: SubmitEvent) => void;
|
|
23
25
|
}
|
|
24
26
|
export declare class TextareaRenderable extends EditBufferRenderable {
|
|
@@ -58,6 +60,6 @@ export declare class TextareaRenderable extends EditBufferRenderable {
|
|
|
58
60
|
set onSubmit(handler: ((event: SubmitEvent) => void) | undefined);
|
|
59
61
|
get onSubmit(): ((event: SubmitEvent) => void) | undefined;
|
|
60
62
|
set keyBindings(bindings: KeyBinding[]);
|
|
61
|
-
set keyAliasMap(aliases:
|
|
63
|
+
set keyAliasMap(aliases: TextareaKeyAliasMap);
|
|
62
64
|
get extmarks(): ExtmarksController;
|
|
63
65
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Clock } from "./lib/clock.js";
|
|
2
|
+
import type { ThemeMode } from "./types.js";
|
|
3
|
+
export interface RendererThemeModeHost {
|
|
4
|
+
queryThemeColors(): void;
|
|
5
|
+
}
|
|
6
|
+
export declare class RendererThemeMode {
|
|
7
|
+
private readonly host;
|
|
8
|
+
private readonly clock;
|
|
9
|
+
private static readonly QUERY_TIMEOUT_MS;
|
|
10
|
+
private _themeMode;
|
|
11
|
+
private themeQueryPending;
|
|
12
|
+
private themeOscForeground;
|
|
13
|
+
private themeOscBackground;
|
|
14
|
+
private themeRefreshTimeoutId;
|
|
15
|
+
private waiters;
|
|
16
|
+
constructor(host: RendererThemeModeHost, clock: Clock);
|
|
17
|
+
get themeMode(): ThemeMode | null;
|
|
18
|
+
waitForThemeMode(timeoutMs: number, isDestroyed: boolean): Promise<ThemeMode | null>;
|
|
19
|
+
cancelRefresh(): void;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
handleSequence(sequence: string): {
|
|
22
|
+
handled: boolean;
|
|
23
|
+
changedMode: ThemeMode | null;
|
|
24
|
+
};
|
|
25
|
+
private clearThemeRefreshTimeout;
|
|
26
|
+
private completeThemeQuery;
|
|
27
|
+
private requestThemeOscColors;
|
|
28
|
+
private applyThemeMode;
|
|
29
|
+
}
|
package/renderer.d.ts
CHANGED
|
@@ -147,6 +147,7 @@ export declare enum CliRenderEvents {
|
|
|
147
147
|
RESIZE = "resize",
|
|
148
148
|
FOCUS = "focus",
|
|
149
149
|
BLUR = "blur",
|
|
150
|
+
FOCUSED_RENDERABLE = "focused_renderable",
|
|
150
151
|
FOCUSED_EDITOR = "focused_editor",
|
|
151
152
|
THEME_MODE = "theme_mode",
|
|
152
153
|
CAPABILITIES = "capabilities",
|
|
@@ -265,18 +266,20 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
|
265
266
|
private lifecyclePasses;
|
|
266
267
|
private _openConsoleOnError;
|
|
267
268
|
private _paletteDetector;
|
|
269
|
+
private _paletteCache;
|
|
268
270
|
private _cachedPalette;
|
|
269
271
|
private _paletteDetectionPromise;
|
|
272
|
+
private _paletteDetectionSize;
|
|
273
|
+
private _paletteEpoch;
|
|
274
|
+
private _publishedPaletteSignature;
|
|
275
|
+
private _palettePublishGeneration;
|
|
270
276
|
private _onDestroy?;
|
|
271
|
-
private
|
|
272
|
-
private _themeModeSource;
|
|
273
|
-
private _themeFallbackPending;
|
|
274
|
-
private _themeOscForeground;
|
|
275
|
-
private _themeOscBackground;
|
|
277
|
+
private themeModeState;
|
|
276
278
|
private _terminalFocusState;
|
|
277
279
|
private sequenceHandlers;
|
|
278
280
|
private prependedInputHandlers;
|
|
279
281
|
private shouldRestoreModesOnNextFocus;
|
|
282
|
+
private themeModeHandler;
|
|
280
283
|
private idleResolvers;
|
|
281
284
|
private _debugInputs;
|
|
282
285
|
private _debugModeEnabled;
|
|
@@ -384,8 +387,6 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
|
384
387
|
private processCapabilitySequence;
|
|
385
388
|
private capabilityHandler;
|
|
386
389
|
private focusHandler;
|
|
387
|
-
private themeModeHandler;
|
|
388
|
-
private applyThemeMode;
|
|
389
390
|
private dispatchSequenceHandlers;
|
|
390
391
|
private drainStdinParser;
|
|
391
392
|
private handleStdinEvent;
|
|
@@ -488,6 +489,10 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
|
488
489
|
private notifySelectablesOfSelectionChange;
|
|
489
490
|
private walkSelectableRenderables;
|
|
490
491
|
get paletteDetectionStatus(): "idle" | "detecting" | "cached";
|
|
492
|
+
private getCachedPaletteBySize;
|
|
493
|
+
private ensurePaletteDetector;
|
|
494
|
+
private syncNativePaletteState;
|
|
495
|
+
private ensureNativePaletteState;
|
|
491
496
|
clearPaletteCache(): void;
|
|
492
497
|
/**
|
|
493
498
|
* Detects the terminal's color palette
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createRuntimePlugin,
|
|
4
4
|
runtimeModuleIdForSpecifier
|
|
5
|
-
} from "./index-
|
|
6
|
-
import"./index-
|
|
7
|
-
import"./index-
|
|
5
|
+
} from "./index-ckgv87ep.js";
|
|
6
|
+
import"./index-x59exf1c.js";
|
|
7
|
+
import"./index-n2b7w731.js";
|
|
8
8
|
|
|
9
9
|
// src/runtime-plugin-support.ts
|
|
10
10
|
var {plugin: registerBunPlugin } = globalThis.Bun;
|
package/runtime-plugin.js
CHANGED
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
createRuntimePlugin,
|
|
4
4
|
isCoreRuntimeModuleSpecifier,
|
|
5
5
|
runtimeModuleIdForSpecifier
|
|
6
|
-
} from "./index-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
6
|
+
} from "./index-ckgv87ep.js";
|
|
7
|
+
import"./index-x59exf1c.js";
|
|
8
|
+
import"./index-n2b7w731.js";
|
|
9
9
|
export {
|
|
10
10
|
runtimeModuleIdForSpecifier,
|
|
11
11
|
isCoreRuntimeModuleSpecifier,
|
package/testing.js
CHANGED
package/types.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export interface RendererEvents {
|
|
|
52
52
|
arrayBuffers: number;
|
|
53
53
|
}) => void;
|
|
54
54
|
selection: (selection: Selection) => void;
|
|
55
|
+
focused_renderable: (current: Renderable | null, previous: Renderable | null) => void;
|
|
55
56
|
focused_editor: (current: EditBufferRenderable | null, previous: EditBufferRenderable | null) => void;
|
|
56
57
|
"debugOverlay:toggle": (enabled: boolean) => void;
|
|
57
58
|
theme_mode: (mode: ThemeMode) => void;
|
package/zig-structs.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ type StyledChunkInput = {
|
|
|
4
4
|
text: string;
|
|
5
5
|
fg?: RGBA | null;
|
|
6
6
|
bg?: RGBA | null;
|
|
7
|
+
fg_tag?: number;
|
|
8
|
+
bg_tag?: number;
|
|
7
9
|
attributes?: number | null;
|
|
8
10
|
link?: {
|
|
9
11
|
url: string;
|
|
@@ -19,6 +21,10 @@ export declare const StyledChunkStruct: import("bun-ffi-structs").DefineStructRe
|
|
|
19
21
|
readonly optional: true;
|
|
20
22
|
readonly packTransform: (rgba?: RGBA) => Pointer | null;
|
|
21
23
|
readonly unpackTransform: (ptr?: Pointer) => RGBA | undefined;
|
|
24
|
+
}], readonly ["fg_tag", "u16", {
|
|
25
|
+
readonly default: 256;
|
|
26
|
+
}], readonly ["bg_tag", "u16", {
|
|
27
|
+
readonly default: 256;
|
|
22
28
|
}], readonly ["attributes", "u32", {
|
|
23
29
|
readonly default: 0;
|
|
24
30
|
}], readonly ["link", "char*", {
|
|
@@ -35,7 +41,7 @@ export declare const HighlightStruct: import("bun-ffi-structs").DefineStructRetu
|
|
|
35
41
|
}]], {}>;
|
|
36
42
|
export declare const LogicalCursorStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["row", "u32"], readonly ["col", "u32"], readonly ["offset", "u32"]], {}>;
|
|
37
43
|
export declare const VisualCursorStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["visualRow", "u32"], readonly ["visualCol", "u32"], readonly ["logicalRow", "u32"], readonly ["logicalCol", "u32"], readonly ["offset", "u32"]], {}>;
|
|
38
|
-
export declare const TerminalCapabilitiesStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["kitty_keyboard", "bool_u8"], readonly ["kitty_graphics", "bool_u8"], readonly ["rgb", "bool_u8"], readonly ["unicode", import("bun-ffi-structs").EnumDef<{
|
|
44
|
+
export declare const TerminalCapabilitiesStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["kitty_keyboard", "bool_u8"], readonly ["kitty_graphics", "bool_u8"], readonly ["rgb", "bool_u8"], readonly ["ansi256", "bool_u8"], readonly ["unicode", import("bun-ffi-structs").EnumDef<{
|
|
39
45
|
wcwidth: number;
|
|
40
46
|
unicode: number;
|
|
41
47
|
}>], readonly ["sgr_pixels", "bool_u8"], readonly ["color_scheme_updates", "bool_u8"], readonly ["explicit_width", "bool_u8"], readonly ["scaled_text", "bool_u8"], readonly ["sixel", "bool_u8"], readonly ["focus_tracking", "bool_u8"], readonly ["sync", "bool_u8"], readonly ["bracketed_paste", "bool_u8"], readonly ["hyperlinks", "bool_u8"], readonly ["osc52", "bool_u8"], readonly ["explicit_cursor_positioning", "bool_u8"], readonly ["term_name", "char*"], readonly ["term_name_len", "u64", {
|
package/zig.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export interface RenderLib {
|
|
|
60
60
|
commitSplitFooterSnapshot: (renderer: Pointer, snapshot: OptimizedBuffer, rowColumns: number, startOnNewLine: boolean, trailingNewline: boolean, pinnedRenderOffset: number, force: boolean, beginFrame?: boolean, finalizeFrame?: boolean) => number;
|
|
61
61
|
getNextBuffer: (renderer: Pointer) => OptimizedBuffer;
|
|
62
62
|
getCurrentBuffer: (renderer: Pointer) => OptimizedBuffer;
|
|
63
|
+
rendererSetPaletteState: (renderer: Pointer, palette: readonly RGBA[], defaultForeground: RGBA, defaultBackground: RGBA, paletteEpoch: number) => void;
|
|
63
64
|
createOptimizedBuffer: (width: number, height: number, widthMethod: WidthMethod, respectAlpha?: boolean, id?: string) => OptimizedBuffer;
|
|
64
65
|
destroyOptimizedBuffer: (bufferPtr: Pointer) => void;
|
|
65
66
|
drawFrameBuffer: (targetBufferPtr: Pointer, destX: number, destY: number, bufferPtr: Pointer, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number) => void;
|
|
@@ -69,6 +70,8 @@ export interface RenderLib {
|
|
|
69
70
|
bufferGetCharPtr: (buffer: Pointer) => Pointer;
|
|
70
71
|
bufferGetFgPtr: (buffer: Pointer) => Pointer;
|
|
71
72
|
bufferGetBgPtr: (buffer: Pointer) => Pointer;
|
|
73
|
+
bufferGetFgTagPtr: (buffer: Pointer) => Pointer;
|
|
74
|
+
bufferGetBgTagPtr: (buffer: Pointer) => Pointer;
|
|
72
75
|
bufferGetAttributesPtr: (buffer: Pointer) => Pointer;
|
|
73
76
|
bufferGetRespectAlpha: (buffer: Pointer) => boolean;
|
|
74
77
|
bufferSetRespectAlpha: (buffer: Pointer, respectAlpha: boolean) => void;
|
|
@@ -123,6 +126,7 @@ export interface RenderLib {
|
|
|
123
126
|
suspendRenderer: (renderer: Pointer) => void;
|
|
124
127
|
resumeRenderer: (renderer: Pointer) => void;
|
|
125
128
|
queryPixelResolution: (renderer: Pointer) => void;
|
|
129
|
+
queryThemeColors: (renderer: Pointer) => void;
|
|
126
130
|
writeOut: (renderer: Pointer, data: string | Uint8Array) => void;
|
|
127
131
|
createTextBuffer: (widthMethod: WidthMethod) => TextBuffer;
|
|
128
132
|
destroyTextBuffer: (buffer: Pointer) => void;
|