@opentui/core 0.0.0-20251112-613689c1 → 0.0.0-20251201-fe4cc80e

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.
Files changed (45) hide show
  1. package/3d/WGPURenderer.d.ts +2 -0
  2. package/3d/canvas.d.ts +2 -0
  3. package/3d.js +33 -2
  4. package/3d.js.map +4 -4
  5. package/README.md +5 -3
  6. package/Renderable.d.ts +2 -2
  7. package/buffer.d.ts +18 -0
  8. package/console.d.ts +2 -0
  9. package/edit-buffer.d.ts +1 -0
  10. package/editor-view.d.ts +5 -0
  11. package/{index-y49e47t2.js → index-533e9nca.js} +3616 -2552
  12. package/index-533e9nca.js.map +55 -0
  13. package/index.d.ts +1 -1
  14. package/index.js +2542 -309
  15. package/index.js.map +27 -15
  16. package/lib/KeyHandler.d.ts +1 -4
  17. package/lib/ascii.font.d.ts +208 -1
  18. package/lib/parse.keypress.d.ts +1 -0
  19. package/lib/terminal-palette.d.ts +7 -2
  20. package/lib/yoga.options.d.ts +1 -1
  21. package/libyoga-2ksztx35.dylib +0 -0
  22. package/libyoga-gh2tjwb7.so +0 -0
  23. package/libyoga-j5nt7np1.dylib +0 -0
  24. package/libyoga-wnbqxxhv.so +0 -0
  25. package/package.json +11 -10
  26. package/parser.worker.js +4 -3
  27. package/parser.worker.js.map +3 -3
  28. package/renderables/Diff.d.ts +127 -0
  29. package/renderables/EditBufferRenderable.d.ts +8 -2
  30. package/renderables/LineNumberRenderable.d.ts +72 -0
  31. package/renderables/ScrollBox.d.ts +3 -0
  32. package/renderables/TextBufferRenderable.d.ts +18 -5
  33. package/renderables/Textarea.d.ts +7 -4
  34. package/renderables/index.d.ts +2 -0
  35. package/renderer.d.ts +2 -1
  36. package/testing/mock-tree-sitter-client.d.ts +4 -1
  37. package/testing.js +29 -7
  38. package/testing.js.map +5 -5
  39. package/text-buffer-view.d.ts +6 -0
  40. package/text-buffer.d.ts +1 -0
  41. package/types.d.ts +13 -0
  42. package/yoga-jkgc6c1f.dll +0 -0
  43. package/zig-structs.d.ts +11 -0
  44. package/zig.d.ts +25 -6
  45. package/index-y49e47t2.js.map +0 -58
package/types.d.ts CHANGED
@@ -77,3 +77,16 @@ export interface Highlight {
77
77
  priority?: number | null;
78
78
  hlRef?: number | null;
79
79
  }
80
+ export interface LineInfo {
81
+ lineStarts: number[];
82
+ lineWidths: number[];
83
+ maxLineWidth: number;
84
+ lineSources: number[];
85
+ lineWraps: number[];
86
+ }
87
+ export interface LineInfoProvider {
88
+ get lineInfo(): LineInfo;
89
+ get lineCount(): number;
90
+ get virtualLineCount(): number;
91
+ get scrollY(): number;
92
+ }
Binary file
package/zig-structs.d.ts CHANGED
@@ -28,3 +28,14 @@ export declare const TerminalCapabilitiesStruct: import("bun-ffi-structs").Defin
28
28
  }], readonly ["term_version", "char*"], readonly ["term_version_len", "u64", {
29
29
  readonly lengthOf: "term_version";
30
30
  }], readonly ["term_from_xtversion", "bool_u8"]], {}>;
31
+ export declare const EncodedCharStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["width", "u8"], readonly ["char", "u32"]], {}>;
32
+ export declare const LineInfoStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["starts", readonly ["u32"]], readonly ["startsLen", "u32", {
33
+ readonly lengthOf: "starts";
34
+ }], readonly ["widths", readonly ["u32"]], readonly ["widthsLen", "u32", {
35
+ readonly lengthOf: "widths";
36
+ }], readonly ["sources", readonly ["u32"]], readonly ["sourcesLen", "u32", {
37
+ readonly lengthOf: "sources";
38
+ }], readonly ["wraps", readonly ["u32"]], readonly ["wrapsLen", "u32", {
39
+ readonly lengthOf: "wraps";
40
+ }], readonly ["maxWidth", "u32"]], {}>;
41
+ export declare const MeasureResultStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["lineCount", "u32"], readonly ["maxWidth", "u32"]], {}>;
package/zig.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type Pointer } from "bun:ffi";
2
- import { type CursorStyle, type DebugOverlayCorner, type WidthMethod, type Highlight } from "./types";
2
+ import { type CursorStyle, type DebugOverlayCorner, type WidthMethod, type Highlight, type LineInfo } from "./types";
3
+ export type { LineInfo };
3
4
  import { RGBA } from "./lib/RGBA";
4
5
  import { OptimizedBuffer } from "./buffer";
5
6
  import { TextBuffer } from "./text-buffer";
@@ -9,11 +10,6 @@ export declare enum LogLevel {
9
10
  Info = 2,
10
11
  Debug = 3
11
12
  }
12
- export interface LineInfo {
13
- lineStarts: number[];
14
- lineWidths: number[];
15
- maxLineWidth: number;
16
- }
17
13
  /**
18
14
  * VisualCursor represents a cursor position with both visual and logical coordinates.
19
15
  * Visual coordinates (visualRow, visualCol) are VIEWPORT-RELATIVE.
@@ -87,6 +83,8 @@ export interface RenderLib {
87
83
  setUseKittyKeyboard: (renderer: Pointer, use: boolean) => void;
88
84
  getUseKittyKeyboard: (renderer: Pointer) => boolean;
89
85
  setupTerminal: (renderer: Pointer, useAlternateScreen: boolean) => void;
86
+ suspendRenderer: (renderer: Pointer) => void;
87
+ resumeRenderer: (renderer: Pointer) => void;
90
88
  queryPixelResolution: (renderer: Pointer) => void;
91
89
  createTextBuffer: (widthMethod: WidthMethod) => TextBuffer;
92
90
  destroyTextBuffer: (buffer: Pointer) => void;
@@ -130,12 +128,18 @@ export interface RenderLib {
130
128
  textBufferViewSetWrapWidth: (view: Pointer, width: number) => void;
131
129
  textBufferViewSetWrapMode: (view: Pointer, mode: "none" | "char" | "word") => void;
132
130
  textBufferViewSetViewportSize: (view: Pointer, width: number, height: number) => void;
131
+ textBufferViewSetViewport: (view: Pointer, x: number, y: number, width: number, height: number) => void;
133
132
  textBufferViewGetLineInfo: (view: Pointer) => LineInfo;
134
133
  textBufferViewGetLogicalLineInfo: (view: Pointer) => LineInfo;
135
134
  textBufferViewGetSelectedTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
136
135
  textBufferViewGetPlainTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
137
136
  textBufferViewSetTabIndicator: (view: Pointer, indicator: number) => void;
138
137
  textBufferViewSetTabIndicatorColor: (view: Pointer, color: RGBA) => void;
138
+ textBufferViewMeasureForDimensions: (view: Pointer, width: number, height: number) => {
139
+ lineCount: number;
140
+ maxWidth: number;
141
+ } | null;
142
+ textBufferViewGetVirtualLineCount: (view: Pointer) => number;
139
143
  readonly encoder: TextEncoder;
140
144
  readonly decoder: TextDecoder;
141
145
  bufferDrawTextBufferView: (buffer: Pointer, view: Pointer, x: number, y: number) => void;
@@ -259,6 +263,21 @@ export interface RenderLib {
259
263
  syntaxStyleGetStyleCount: (style: Pointer) => number;
260
264
  getTerminalCapabilities: (renderer: Pointer) => any;
261
265
  processCapabilityResponse: (renderer: Pointer, response: string) => void;
266
+ encodeUnicode: (text: string, widthMethod: WidthMethod) => {
267
+ ptr: Pointer;
268
+ data: Array<{
269
+ width: number;
270
+ char: number;
271
+ }>;
272
+ } | null;
273
+ freeUnicode: (encoded: {
274
+ ptr: Pointer;
275
+ data: Array<{
276
+ width: number;
277
+ char: number;
278
+ }>;
279
+ }) => void;
280
+ bufferDrawChar: (buffer: Pointer, char: number, x: number, y: number, fg: RGBA, bg: RGBA, attributes?: number) => void;
262
281
  onNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
263
282
  onceNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
264
283
  offNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;