@opentui/core 0.0.0-20251026-8b7fde6b → 0.0.0-20251026-63abf532
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/edit-buffer.d.ts +6 -0
- package/{index-hgxcxzxa.js → index-g5xctwrm.js} +115 -125
- package/{index-hgxcxzxa.js.map → index-g5xctwrm.js.map} +7 -7
- package/index.js +17 -2
- package/index.js.map +3 -3
- package/lib/extmarks.d.ts +20 -12
- package/package.json +7 -7
- package/renderer.d.ts +1 -0
- package/testing.js +1 -1
- package/zig.d.ts +7 -0
package/lib/extmarks.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { EditBuffer } from "../edit-buffer";
|
|
2
2
|
import type { EditorView } from "../editor-view";
|
|
3
|
-
import { EventEmitter } from "events";
|
|
4
3
|
export interface Extmark {
|
|
5
4
|
id: number;
|
|
6
5
|
start: number;
|
|
@@ -9,10 +8,7 @@ export interface Extmark {
|
|
|
9
8
|
styleId?: number;
|
|
10
9
|
priority?: number;
|
|
11
10
|
data?: any;
|
|
12
|
-
|
|
13
|
-
export interface ExtmarkDeletedEvent {
|
|
14
|
-
extmark: Extmark;
|
|
15
|
-
trigger: "backspace" | "delete" | "manual";
|
|
11
|
+
typeId: number;
|
|
16
12
|
}
|
|
17
13
|
export interface ExtmarkOptions {
|
|
18
14
|
start: number;
|
|
@@ -21,18 +17,26 @@ export interface ExtmarkOptions {
|
|
|
21
17
|
styleId?: number;
|
|
22
18
|
priority?: number;
|
|
23
19
|
data?: any;
|
|
20
|
+
typeId?: number;
|
|
21
|
+
metadata?: any;
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
/**
|
|
24
|
+
* WARNING: This is simulating extmarks in the edit buffer
|
|
25
|
+
* and will move to a real native implementation in the future.
|
|
26
|
+
* Use with caution.
|
|
27
|
+
*/
|
|
28
|
+
export declare class ExtmarksController {
|
|
30
29
|
private editBuffer;
|
|
31
30
|
private editorView;
|
|
32
31
|
private extmarks;
|
|
32
|
+
private extmarksByTypeId;
|
|
33
|
+
private metadata;
|
|
33
34
|
private nextId;
|
|
34
35
|
private destroyed;
|
|
35
36
|
private history;
|
|
37
|
+
private typeNameToId;
|
|
38
|
+
private typeIdToName;
|
|
39
|
+
private nextTypeId;
|
|
36
40
|
private originalMoveCursorLeft;
|
|
37
41
|
private originalMoveCursorRight;
|
|
38
42
|
private originalSetCursorByOffset;
|
|
@@ -56,25 +60,29 @@ export declare class ExtmarksController extends EventEmitter {
|
|
|
56
60
|
private wrapInsertion;
|
|
57
61
|
private wrapEditorViewDeleteSelectedText;
|
|
58
62
|
private setupContentChangeListener;
|
|
63
|
+
private deleteExtmarkById;
|
|
59
64
|
private findVirtualExtmarkContaining;
|
|
60
65
|
private adjustExtmarksAfterInsertion;
|
|
61
66
|
adjustExtmarksAfterDeletion(deleteOffset: number, length: number): void;
|
|
62
67
|
private offsetToPosition;
|
|
63
68
|
private positionToOffset;
|
|
64
|
-
private getLineStartOffset;
|
|
65
69
|
private updateHighlights;
|
|
66
70
|
private offsetToCharOffset;
|
|
67
71
|
create(options: ExtmarkOptions): number;
|
|
68
|
-
update(id: number, options: Partial<ExtmarkOptions>): boolean;
|
|
69
72
|
delete(id: number): boolean;
|
|
70
73
|
get(id: number): Extmark | null;
|
|
71
74
|
getAll(): Extmark[];
|
|
72
75
|
getVirtual(): Extmark[];
|
|
73
76
|
getAtOffset(offset: number): Extmark[];
|
|
77
|
+
getAllForTypeId(typeId: number): Extmark[];
|
|
74
78
|
clear(): void;
|
|
75
79
|
private saveSnapshot;
|
|
76
80
|
private restoreSnapshot;
|
|
77
81
|
private wrapUndoRedo;
|
|
82
|
+
registerType(typeName: string): number;
|
|
83
|
+
getTypeId(typeName: string): number | null;
|
|
84
|
+
getTypeName(typeId: number): string | null;
|
|
85
|
+
getMetadataFor(extmarkId: number): any;
|
|
78
86
|
destroy(): void;
|
|
79
87
|
}
|
|
80
88
|
export declare function createExtmarksController(editBuffer: EditBuffer, editorView: EditorView): ExtmarksController;
|
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.0.0-20251026-
|
|
7
|
+
"version": "0.0.0-20251026-63abf532",
|
|
8
8
|
"description": "OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -55,11 +55,11 @@
|
|
|
55
55
|
"bun-webgpu": "0.1.3",
|
|
56
56
|
"planck": "^1.4.2",
|
|
57
57
|
"three": "0.177.0",
|
|
58
|
-
"@opentui/core-darwin-x64": "0.0.0-20251026-
|
|
59
|
-
"@opentui/core-darwin-arm64": "0.0.0-20251026-
|
|
60
|
-
"@opentui/core-linux-x64": "0.0.0-20251026-
|
|
61
|
-
"@opentui/core-linux-arm64": "0.0.0-20251026-
|
|
62
|
-
"@opentui/core-win32-x64": "0.0.0-20251026-
|
|
63
|
-
"@opentui/core-win32-arm64": "0.0.0-20251026-
|
|
58
|
+
"@opentui/core-darwin-x64": "0.0.0-20251026-63abf532",
|
|
59
|
+
"@opentui/core-darwin-arm64": "0.0.0-20251026-63abf532",
|
|
60
|
+
"@opentui/core-linux-x64": "0.0.0-20251026-63abf532",
|
|
61
|
+
"@opentui/core-linux-arm64": "0.0.0-20251026-63abf532",
|
|
62
|
+
"@opentui/core-win32-x64": "0.0.0-20251026-63abf532",
|
|
63
|
+
"@opentui/core-win32-arm64": "0.0.0-20251026-63abf532"
|
|
64
64
|
}
|
|
65
65
|
}
|
package/renderer.d.ts
CHANGED
package/testing.js
CHANGED
package/zig.d.ts
CHANGED
|
@@ -177,6 +177,13 @@ export interface RenderLib {
|
|
|
177
177
|
col: number;
|
|
178
178
|
offset: number;
|
|
179
179
|
};
|
|
180
|
+
editBufferOffsetToPosition: (buffer: Pointer, offset: number) => {
|
|
181
|
+
row: number;
|
|
182
|
+
col: number;
|
|
183
|
+
offset: number;
|
|
184
|
+
} | null;
|
|
185
|
+
editBufferPositionToOffset: (buffer: Pointer, row: number, col: number) => number;
|
|
186
|
+
editBufferGetLineStartOffset: (buffer: Pointer, row: number) => number;
|
|
180
187
|
createEditorView: (editBufferPtr: Pointer, viewportWidth: number, viewportHeight: number) => Pointer;
|
|
181
188
|
destroyEditorView: (view: Pointer) => void;
|
|
182
189
|
editorViewSetViewportSize: (view: Pointer, width: number, height: number) => void;
|