@opentui/core 0.0.0-20251008-63d6b70d → 0.0.0-20251026-8b7fde6b
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 +140 -140
- package/3d.js.map +3 -3
- package/README.md +10 -0
- package/Renderable.d.ts +25 -24
- package/buffer.d.ts +4 -7
- package/edit-buffer.d.ts +77 -0
- package/editor-view.d.ts +55 -0
- package/{index-pxa2sv92.js → index-hgxcxzxa.js} +2606 -462
- package/index-hgxcxzxa.js.map +55 -0
- package/index.d.ts +4 -0
- package/index.js +3529 -2025
- package/index.js.map +19 -12
- package/lib/KeyHandler.d.ts +3 -0
- package/lib/extmarks-history.d.ts +17 -0
- package/lib/extmarks.d.ts +80 -0
- package/lib/hast-styled-text.d.ts +2 -3
- package/lib/index.d.ts +1 -1
- package/lib/keymapping.d.ts +10 -0
- package/lib/objects-in-viewport.d.ts +14 -0
- package/lib/parse.keypress.d.ts +1 -1
- package/lib/tree-sitter/index.d.ts +0 -2
- package/lib/tree-sitter-styled-text.d.ts +1 -1
- package/lib/yoga.options.d.ts +6 -6
- package/package.json +9 -7
- package/renderables/Code.d.ts +1 -1
- package/renderables/EditBufferRenderable.d.ts +119 -0
- package/renderables/Text.d.ts +0 -3
- package/renderables/TextBufferRenderable.d.ts +8 -14
- package/renderables/TextNode.d.ts +2 -1
- package/renderables/Textarea.d.ts +95 -0
- package/renderables/index.d.ts +11 -9
- package/renderer.d.ts +20 -3
- package/{lib/syntax-style.d.ts → syntax-style.d.ts} +21 -5
- package/testing/mock-keys.d.ts +39 -2
- package/testing.js +54 -6
- package/testing.js.map +3 -3
- package/text-buffer-view.d.ts +31 -0
- package/text-buffer.d.ts +28 -21
- package/types.d.ts +10 -0
- package/zig-structs.d.ts +22 -0
- package/zig.d.ts +147 -23
- package/index-pxa2sv92.js.map +0 -52
- package/lib/word-jumps.d.ts +0 -2
package/zig.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Pointer } from "bun:ffi";
|
|
2
|
-
import { type CursorStyle, type DebugOverlayCorner, type WidthMethod } from "./types";
|
|
2
|
+
import { type CursorStyle, type DebugOverlayCorner, type WidthMethod, type Highlight } from "./types";
|
|
3
3
|
import { RGBA } from "./lib/RGBA";
|
|
4
4
|
import { OptimizedBuffer } from "./buffer";
|
|
5
5
|
import { TextBuffer } from "./text-buffer";
|
|
@@ -14,6 +14,24 @@ export interface LineInfo {
|
|
|
14
14
|
lineWidths: number[];
|
|
15
15
|
maxLineWidth: number;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* VisualCursor represents a cursor position with both visual and logical coordinates.
|
|
19
|
+
* Visual coordinates (visualRow, visualCol) are VIEWPORT-RELATIVE.
|
|
20
|
+
* This means visualRow=0 is the first visible line in the viewport, not the first line in the document.
|
|
21
|
+
* Logical coordinates (logicalRow, logicalCol) are document-absolute.
|
|
22
|
+
*/
|
|
23
|
+
export interface VisualCursor {
|
|
24
|
+
visualRow: number;
|
|
25
|
+
visualCol: number;
|
|
26
|
+
logicalRow: number;
|
|
27
|
+
logicalCol: number;
|
|
28
|
+
offset: number;
|
|
29
|
+
}
|
|
30
|
+
export interface LogicalCursor {
|
|
31
|
+
row: number;
|
|
32
|
+
col: number;
|
|
33
|
+
offset: number;
|
|
34
|
+
}
|
|
17
35
|
export interface RenderLib {
|
|
18
36
|
createRenderer: (width: number, height: number, options?: {
|
|
19
37
|
testing: boolean;
|
|
@@ -71,46 +89,152 @@ export interface RenderLib {
|
|
|
71
89
|
createTextBuffer: (widthMethod: WidthMethod) => TextBuffer;
|
|
72
90
|
destroyTextBuffer: (buffer: Pointer) => void;
|
|
73
91
|
textBufferGetLength: (buffer: Pointer) => number;
|
|
92
|
+
textBufferGetByteSize: (buffer: Pointer) => number;
|
|
74
93
|
textBufferReset: (buffer: Pointer) => void;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
94
|
+
textBufferClear: (buffer: Pointer) => void;
|
|
95
|
+
textBufferRegisterMemBuffer: (buffer: Pointer, bytes: Uint8Array, owned?: boolean) => number;
|
|
96
|
+
textBufferReplaceMemBuffer: (buffer: Pointer, memId: number, bytes: Uint8Array, owned?: boolean) => boolean;
|
|
97
|
+
textBufferClearMemRegistry: (buffer: Pointer) => void;
|
|
98
|
+
textBufferSetTextFromMem: (buffer: Pointer, memId: number) => void;
|
|
99
|
+
textBufferLoadFile: (buffer: Pointer, path: string) => boolean;
|
|
100
|
+
textBufferSetStyledText: (buffer: Pointer, chunks: Array<{
|
|
101
|
+
text: string;
|
|
102
|
+
fg?: RGBA | null;
|
|
103
|
+
bg?: RGBA | null;
|
|
104
|
+
attributes?: number;
|
|
105
|
+
}>) => void;
|
|
79
106
|
textBufferSetDefaultFg: (buffer: Pointer, fg: RGBA | null) => void;
|
|
80
107
|
textBufferSetDefaultBg: (buffer: Pointer, bg: RGBA | null) => void;
|
|
81
108
|
textBufferSetDefaultAttributes: (buffer: Pointer, attributes: number | null) => void;
|
|
82
109
|
textBufferResetDefaults: (buffer: Pointer) => void;
|
|
83
|
-
textBufferWriteChunk: (buffer: Pointer, textBytes: Uint8Array, fg: RGBA | null, bg: RGBA | null, attributes: number | null) => number;
|
|
84
|
-
textBufferFinalizeLineInfo: (buffer: Pointer) => void;
|
|
85
110
|
textBufferGetLineCount: (buffer: Pointer) => number;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
111
|
+
getPlainTextBytes: (buffer: Pointer, maxLength: number) => Uint8Array | null;
|
|
112
|
+
createTextBufferView: (textBuffer: Pointer) => Pointer;
|
|
113
|
+
destroyTextBufferView: (view: Pointer) => void;
|
|
114
|
+
textBufferViewSetSelection: (view: Pointer, start: number, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
|
|
115
|
+
textBufferViewResetSelection: (view: Pointer) => void;
|
|
116
|
+
textBufferViewGetSelection: (view: Pointer) => {
|
|
89
117
|
start: number;
|
|
90
118
|
end: number;
|
|
91
119
|
} | null;
|
|
92
|
-
|
|
93
|
-
|
|
120
|
+
textBufferViewSetLocalSelection: (view: Pointer, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null) => boolean;
|
|
121
|
+
textBufferViewResetLocalSelection: (view: Pointer) => void;
|
|
122
|
+
textBufferViewSetWrapWidth: (view: Pointer, width: number) => void;
|
|
123
|
+
textBufferViewSetWrapMode: (view: Pointer, mode: "none" | "char" | "word") => void;
|
|
124
|
+
textBufferViewSetViewportSize: (view: Pointer, width: number, height: number) => void;
|
|
125
|
+
textBufferViewGetLineInfo: (view: Pointer) => LineInfo;
|
|
126
|
+
textBufferViewGetLogicalLineInfo: (view: Pointer) => LineInfo;
|
|
127
|
+
textBufferViewGetSelectedTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
|
|
128
|
+
textBufferViewGetPlainTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
|
|
94
129
|
readonly encoder: TextEncoder;
|
|
95
130
|
readonly decoder: TextDecoder;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
131
|
+
bufferDrawTextBufferView: (buffer: Pointer, view: Pointer, x: number, y: number) => void;
|
|
132
|
+
bufferDrawEditorView: (buffer: Pointer, view: Pointer, x: number, y: number) => void;
|
|
133
|
+
createEditBuffer: (widthMethod: WidthMethod) => Pointer;
|
|
134
|
+
destroyEditBuffer: (buffer: Pointer) => void;
|
|
135
|
+
editBufferSetText: (buffer: Pointer, textBytes: Uint8Array, retainHistory?: boolean) => void;
|
|
136
|
+
editBufferSetTextFromMem: (buffer: Pointer, memId: number, retainHistory?: boolean) => void;
|
|
137
|
+
editBufferGetText: (buffer: Pointer, maxLength: number) => Uint8Array | null;
|
|
138
|
+
editBufferInsertChar: (buffer: Pointer, char: string) => void;
|
|
139
|
+
editBufferInsertText: (buffer: Pointer, text: string) => void;
|
|
140
|
+
editBufferDeleteChar: (buffer: Pointer) => void;
|
|
141
|
+
editBufferDeleteCharBackward: (buffer: Pointer) => void;
|
|
142
|
+
editBufferDeleteRange: (buffer: Pointer, startLine: number, startCol: number, endLine: number, endCol: number) => void;
|
|
143
|
+
editBufferNewLine: (buffer: Pointer) => void;
|
|
144
|
+
editBufferDeleteLine: (buffer: Pointer) => void;
|
|
145
|
+
editBufferMoveCursorLeft: (buffer: Pointer) => void;
|
|
146
|
+
editBufferMoveCursorRight: (buffer: Pointer) => void;
|
|
147
|
+
editBufferMoveCursorUp: (buffer: Pointer) => void;
|
|
148
|
+
editBufferMoveCursorDown: (buffer: Pointer) => void;
|
|
149
|
+
editBufferGotoLine: (buffer: Pointer, line: number) => void;
|
|
150
|
+
editBufferSetCursor: (buffer: Pointer, line: number, col: number) => void;
|
|
151
|
+
editBufferSetCursorToLineCol: (buffer: Pointer, line: number, col: number) => void;
|
|
152
|
+
editBufferSetCursorByOffset: (buffer: Pointer, offset: number) => void;
|
|
153
|
+
editBufferGetCursorPosition: (buffer: Pointer) => LogicalCursor;
|
|
154
|
+
editBufferGetId: (buffer: Pointer) => number;
|
|
155
|
+
editBufferGetTextBuffer: (buffer: Pointer) => Pointer;
|
|
156
|
+
editBufferDebugLogRope: (buffer: Pointer) => void;
|
|
157
|
+
editBufferUndo: (buffer: Pointer, maxLength: number) => Uint8Array | null;
|
|
158
|
+
editBufferRedo: (buffer: Pointer, maxLength: number) => Uint8Array | null;
|
|
159
|
+
editBufferCanUndo: (buffer: Pointer) => boolean;
|
|
160
|
+
editBufferCanRedo: (buffer: Pointer) => boolean;
|
|
161
|
+
editBufferClearHistory: (buffer: Pointer) => void;
|
|
162
|
+
editBufferSetPlaceholder: (buffer: Pointer, text: string | null) => void;
|
|
163
|
+
editBufferSetPlaceholderColor: (buffer: Pointer, color: RGBA) => void;
|
|
164
|
+
editBufferClear: (buffer: Pointer) => void;
|
|
165
|
+
editBufferGetNextWordBoundary: (buffer: Pointer) => {
|
|
166
|
+
row: number;
|
|
167
|
+
col: number;
|
|
168
|
+
offset: number;
|
|
169
|
+
};
|
|
170
|
+
editBufferGetPrevWordBoundary: (buffer: Pointer) => {
|
|
171
|
+
row: number;
|
|
172
|
+
col: number;
|
|
173
|
+
offset: number;
|
|
174
|
+
};
|
|
175
|
+
editBufferGetEOL: (buffer: Pointer) => {
|
|
176
|
+
row: number;
|
|
177
|
+
col: number;
|
|
178
|
+
offset: number;
|
|
179
|
+
};
|
|
180
|
+
createEditorView: (editBufferPtr: Pointer, viewportWidth: number, viewportHeight: number) => Pointer;
|
|
181
|
+
destroyEditorView: (view: Pointer) => void;
|
|
182
|
+
editorViewSetViewportSize: (view: Pointer, width: number, height: number) => void;
|
|
183
|
+
editorViewGetViewport: (view: Pointer) => {
|
|
184
|
+
offsetY: number;
|
|
185
|
+
offsetX: number;
|
|
100
186
|
height: number;
|
|
101
|
-
|
|
187
|
+
width: number;
|
|
188
|
+
};
|
|
189
|
+
editorViewSetScrollMargin: (view: Pointer, margin: number) => void;
|
|
190
|
+
editorViewSetWrapMode: (view: Pointer, mode: "none" | "char" | "word") => void;
|
|
191
|
+
editorViewGetVirtualLineCount: (view: Pointer) => number;
|
|
192
|
+
editorViewGetTotalVirtualLineCount: (view: Pointer) => number;
|
|
193
|
+
editorViewGetTextBufferView: (view: Pointer) => Pointer;
|
|
194
|
+
editorViewSetSelection: (view: Pointer, start: number, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
|
|
195
|
+
editorViewResetSelection: (view: Pointer) => void;
|
|
196
|
+
editorViewGetSelection: (view: Pointer) => {
|
|
197
|
+
start: number;
|
|
198
|
+
end: number;
|
|
199
|
+
} | null;
|
|
200
|
+
editorViewSetLocalSelection: (view: Pointer, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null) => boolean;
|
|
201
|
+
editorViewResetLocalSelection: (view: Pointer) => void;
|
|
202
|
+
editorViewGetSelectedTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
|
|
203
|
+
editorViewGetCursor: (view: Pointer) => {
|
|
204
|
+
row: number;
|
|
205
|
+
col: number;
|
|
206
|
+
};
|
|
207
|
+
editorViewGetText: (view: Pointer, maxLength: number) => Uint8Array | null;
|
|
208
|
+
editorViewGetVisualCursor: (view: Pointer) => VisualCursor;
|
|
209
|
+
editorViewMoveUpVisual: (view: Pointer) => void;
|
|
210
|
+
editorViewMoveDownVisual: (view: Pointer) => void;
|
|
211
|
+
editorViewDeleteSelectedText: (view: Pointer) => void;
|
|
212
|
+
editorViewSetCursorByOffset: (view: Pointer, offset: number) => void;
|
|
213
|
+
editorViewGetNextWordBoundary: (view: Pointer) => VisualCursor;
|
|
214
|
+
editorViewGetPrevWordBoundary: (view: Pointer) => VisualCursor;
|
|
215
|
+
editorViewGetEOL: (view: Pointer) => VisualCursor;
|
|
102
216
|
bufferPushScissorRect: (buffer: Pointer, x: number, y: number, width: number, height: number) => void;
|
|
103
217
|
bufferPopScissorRect: (buffer: Pointer) => void;
|
|
104
218
|
bufferClearScissorRects: (buffer: Pointer) => void;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
219
|
+
textBufferAddHighlightByCharRange: (buffer: Pointer, highlight: Highlight) => void;
|
|
220
|
+
textBufferAddHighlight: (buffer: Pointer, lineIdx: number, highlight: Highlight) => void;
|
|
221
|
+
textBufferRemoveHighlightsByRef: (buffer: Pointer, hlRef: number) => void;
|
|
222
|
+
textBufferClearLineHighlights: (buffer: Pointer, lineIdx: number) => void;
|
|
223
|
+
textBufferClearAllHighlights: (buffer: Pointer) => void;
|
|
224
|
+
textBufferSetSyntaxStyle: (buffer: Pointer, style: Pointer | null) => void;
|
|
225
|
+
textBufferGetLineHighlights: (buffer: Pointer, lineIdx: number) => Array<Highlight>;
|
|
111
226
|
getArenaAllocatedBytes: () => number;
|
|
227
|
+
createSyntaxStyle: () => Pointer;
|
|
228
|
+
destroySyntaxStyle: (style: Pointer) => void;
|
|
229
|
+
syntaxStyleRegister: (style: Pointer, name: string, fg: RGBA | null, bg: RGBA | null, attributes: number) => number;
|
|
230
|
+
syntaxStyleResolveByName: (style: Pointer, name: string) => number | null;
|
|
231
|
+
syntaxStyleGetStyleCount: (style: Pointer) => number;
|
|
112
232
|
getTerminalCapabilities: (renderer: Pointer) => any;
|
|
113
233
|
processCapabilityResponse: (renderer: Pointer, response: string) => void;
|
|
234
|
+
onNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
|
|
235
|
+
onceNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
|
|
236
|
+
offNativeEvent: (name: string, handler: (data: ArrayBuffer) => void) => void;
|
|
237
|
+
onAnyNativeEvent: (handler: (name: string, data: ArrayBuffer) => void) => void;
|
|
114
238
|
}
|
|
115
239
|
export declare function setRenderLibPath(libPath: string): void;
|
|
116
240
|
export declare function resolveRenderLib(): RenderLib;
|