@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/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-gwfqqvw5.js";
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-t3rrpex7.js";
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=32A13A6074BDA33364756E2164756E21
501
+ //# debugId=300B52F6C6F4E0DC64756E2164756E21
478
502
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "32A13A6074BDA33364756E2164756E21",
7
+ "debugId": "300B52F6C6F4E0DC64756E2164756E21",
8
8
  "names": []
9
9
  }
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 fromInts(r: number, g: number, b: number, a?: number): RGBA;
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 type ColorInput = string | RGBA;
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;
@@ -1,2 +1,3 @@
1
1
  import type { ParsedKey } from "./parse.keypress.js";
2
+ export declare const kittyNamedSingleStrokeKeys: string[];
2
3
  export declare function parseKittyKeyboard(sequence: string): ParsedKey | null;
@@ -1,5 +1,6 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  export declare const nonAlphanumericKeys: string[];
3
+ export declare const terminalNamedSingleStrokeKeys: string[];
3
4
  export type KeyEventType = "press" | "repeat" | "release";
4
5
  export interface ParsedKey {
5
6
  name: string;
@@ -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.132",
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.132",
71
- "@fairyhunter13/opentui-core-darwin-arm64": "0.1.132",
72
- "@fairyhunter13/opentui-core-linux-x64": "0.1.132",
73
- "@fairyhunter13/opentui-core-linux-arm64": "0.1.132",
74
- "@fairyhunter13/opentui-core-win32-x64": "0.1.132",
75
- "@fairyhunter13/opentui-core-win32-arm64": "0.1.132"
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"
@@ -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, type KeyAliasMap } from "../lib/keymapping.js";
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, type KeyAliasMap } from "../lib/keymapping.js";
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, type KeyAliasMap } from "../lib/keymapping.js";
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?: 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: KeyAliasMap);
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 _themeMode;
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-t54p24hr.js";
6
- import"./index-gwfqqvw5.js";
7
- import"./index-t3rrpex7.js";
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-t54p24hr.js";
7
- import"./index-gwfqqvw5.js";
8
- import"./index-t3rrpex7.js";
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
@@ -5,7 +5,7 @@ import {
5
5
  TreeSitterClient,
6
6
  calculateRenderGeometry,
7
7
  resolveRenderLib
8
- } from "./index-t3rrpex7.js";
8
+ } from "./index-n2b7w731.js";
9
9
 
10
10
  // src/testing/test-renderer.ts
11
11
  import { Readable, Writable } from "stream";
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;