@opentui/core 0.5.0 → 0.5.2
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/{chunk-bun-ctxxvhwz.js → chunk-bun-26r5c5w5.js} +864 -8
- package/{chunk-bun-ctxxvhwz.js.map → chunk-bun-26r5c5w5.js.map} +8 -6
- package/{chunk-bun-v3e63tzw.js → chunk-bun-t68f2fmr.js} +98 -26
- package/{chunk-bun-v3e63tzw.js.map → chunk-bun-t68f2fmr.js.map} +4 -4
- package/{chunk-node-savhj5rp.js → chunk-node-aj3n20gq.js} +864 -8
- package/{chunk-node-savhj5rp.js.map → chunk-node-aj3n20gq.js.map} +8 -6
- package/{chunk-node-1j69hr31.js → chunk-node-kq7as74d.js} +98 -26
- package/{chunk-node-1j69hr31.js.map → chunk-node-kq7as74d.js.map} +4 -4
- package/image.d.ts +2 -0
- package/index.bun.js +55 -6
- package/index.bun.js.map +4 -4
- package/index.node.js +55 -6
- package/index.node.js.map +4 -4
- package/lib/clipboard.d.ts +119 -0
- package/lib/host-clipboard.internal.d.ts +22 -0
- package/lib/host-clipboard.native.d.ts +2 -0
- package/lib/tree-sitter/types.d.ts +1 -0
- package/package.json +9 -9
- package/parser.worker.js +6 -4
- package/parser.worker.js.map +3 -3
- package/renderables/Code.d.ts +7 -0
- package/renderables/Image.d.ts +5 -3
- package/renderer.d.ts +5 -2
- package/testing.bun.js +2 -2
- package/testing.js +2 -2
- package/tests/image-icc-allocation-child.d.ts +1 -0
- package/yoga.bun.js +1 -1
- package/yoga.js +1 -1
- package/zig.d.ts +97 -0
package/lib/clipboard.d.ts
CHANGED
|
@@ -1,10 +1,129 @@
|
|
|
1
1
|
import type { RendererHandle, RenderLib } from "../zig.js";
|
|
2
|
+
export interface ClipboardRepresentation {
|
|
3
|
+
readonly mimeType: string;
|
|
4
|
+
readonly bytes: Uint8Array;
|
|
5
|
+
}
|
|
6
|
+
export type ClipboardSelection = "clipboard" | "primary";
|
|
7
|
+
export interface ClipboardReadOptions {
|
|
8
|
+
readonly preferredTypes: readonly [string, ...string[]];
|
|
9
|
+
readonly selection?: ClipboardSelection;
|
|
10
|
+
readonly signal?: AbortSignal;
|
|
11
|
+
}
|
|
12
|
+
export type ClipboardReadResult = {
|
|
13
|
+
readonly status: "read";
|
|
14
|
+
readonly representation: ClipboardRepresentation;
|
|
15
|
+
} | {
|
|
16
|
+
readonly status: "empty" | "unsupported" | "cancelled" | "timed-out" | "limit-exceeded";
|
|
17
|
+
} | {
|
|
18
|
+
readonly status: "failed";
|
|
19
|
+
readonly error: Error;
|
|
20
|
+
};
|
|
21
|
+
export interface HostClipboardReadOptions {
|
|
22
|
+
readonly preferredTypes: readonly [string, ...string[]];
|
|
23
|
+
readonly selection: ClipboardSelection;
|
|
24
|
+
readonly maxBytes: number;
|
|
25
|
+
readonly timeoutMs: number;
|
|
26
|
+
readonly signal: AbortSignal;
|
|
27
|
+
}
|
|
28
|
+
export interface HostClipboardWriteOptions {
|
|
29
|
+
readonly selection: ClipboardSelection;
|
|
30
|
+
readonly timeoutMs: number;
|
|
31
|
+
readonly signal: AbortSignal;
|
|
32
|
+
}
|
|
33
|
+
export type HostClipboardWriteResult = {
|
|
34
|
+
readonly status: "written" | "unsupported" | "cancelled" | "timed-out";
|
|
35
|
+
} | {
|
|
36
|
+
readonly status: "failed";
|
|
37
|
+
readonly error: Error;
|
|
38
|
+
};
|
|
39
|
+
export type HostClipboardClearResult = {
|
|
40
|
+
readonly status: "cleared" | "unsupported" | "cancelled" | "timed-out";
|
|
41
|
+
} | {
|
|
42
|
+
readonly status: "failed";
|
|
43
|
+
readonly error: Error;
|
|
44
|
+
};
|
|
45
|
+
export interface HostClipboardBackend {
|
|
46
|
+
read(options: HostClipboardReadOptions): Promise<ClipboardReadResult>;
|
|
47
|
+
writeText(text: string, options: HostClipboardWriteOptions): Promise<HostClipboardWriteResult>;
|
|
48
|
+
clear(options: HostClipboardWriteOptions): Promise<HostClipboardClearResult>;
|
|
49
|
+
dispose(): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
export type ClipboardWriteDestination = "terminal-only" | "host-only" | "best-available" | "all-available";
|
|
52
|
+
export interface ClipboardWriteOptions {
|
|
53
|
+
readonly destination: ClipboardWriteDestination;
|
|
54
|
+
readonly selection?: ClipboardSelection;
|
|
55
|
+
readonly allowRemoteHost?: boolean;
|
|
56
|
+
readonly signal?: AbortSignal;
|
|
57
|
+
}
|
|
58
|
+
export interface TerminalClipboardOperationResult {
|
|
59
|
+
readonly status: "attempted" | "local-failure" | "not-attempted";
|
|
60
|
+
readonly capability: "supported" | "unsupported" | "unknown";
|
|
61
|
+
}
|
|
62
|
+
export interface ClipboardWriteResult {
|
|
63
|
+
readonly host: HostClipboardWriteResult | {
|
|
64
|
+
readonly status: "not-attempted";
|
|
65
|
+
};
|
|
66
|
+
readonly terminal: TerminalClipboardOperationResult;
|
|
67
|
+
}
|
|
68
|
+
export interface ClipboardClearResult {
|
|
69
|
+
readonly host: HostClipboardClearResult | {
|
|
70
|
+
readonly status: "not-attempted";
|
|
71
|
+
};
|
|
72
|
+
readonly terminal: TerminalClipboardOperationResult;
|
|
73
|
+
}
|
|
74
|
+
export interface ClipboardService {
|
|
75
|
+
read(options: ClipboardReadOptions): Promise<ClipboardReadResult>;
|
|
76
|
+
writeText(text: string, options: ClipboardWriteOptions): Promise<ClipboardWriteResult>;
|
|
77
|
+
clear(options: ClipboardWriteOptions): Promise<ClipboardClearResult>;
|
|
78
|
+
dispose(): Promise<void>;
|
|
79
|
+
}
|
|
80
|
+
export interface HostClipboardOperationOptions {
|
|
81
|
+
readonly selection?: ClipboardSelection;
|
|
82
|
+
readonly signal?: AbortSignal;
|
|
83
|
+
}
|
|
84
|
+
export interface HostClipboardService {
|
|
85
|
+
readonly maxWriteBytes: number;
|
|
86
|
+
read(options: ClipboardReadOptions): Promise<ClipboardReadResult>;
|
|
87
|
+
writeText(text: string, options?: HostClipboardOperationOptions): Promise<HostClipboardWriteResult>;
|
|
88
|
+
clear(options?: HostClipboardOperationOptions): Promise<HostClipboardClearResult>;
|
|
89
|
+
dispose(): Promise<void>;
|
|
90
|
+
}
|
|
91
|
+
export interface HostClipboardOptions {
|
|
92
|
+
readonly timeoutMs?: number;
|
|
93
|
+
readonly maxReadBytes?: number;
|
|
94
|
+
readonly maxWriteBytes?: number;
|
|
95
|
+
readonly maxImagePixels?: number;
|
|
96
|
+
readonly maxConversionBytes?: number;
|
|
97
|
+
readonly maxConcurrentOperations?: number;
|
|
98
|
+
readonly maxProviderTransfers?: number;
|
|
99
|
+
readonly waylandSeat?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface TerminalClipboardAdapter {
|
|
102
|
+
readonly remote: boolean;
|
|
103
|
+
writeText(text: string, selection: ClipboardSelection): TerminalClipboardOperationResult;
|
|
104
|
+
clear(selection: ClipboardSelection): TerminalClipboardOperationResult;
|
|
105
|
+
}
|
|
106
|
+
export interface ClipboardOptions {
|
|
107
|
+
readonly host: HostClipboardService;
|
|
108
|
+
readonly terminal: TerminalClipboardAdapter;
|
|
109
|
+
}
|
|
110
|
+
export declare const createHostClipboard: (options?: HostClipboardOptions) => HostClipboardService;
|
|
111
|
+
export declare const createClipboard: ({ host, terminal }: ClipboardOptions) => ClipboardService;
|
|
2
112
|
export declare enum ClipboardTarget {
|
|
3
113
|
Clipboard = 0,
|
|
4
114
|
Primary = 1,
|
|
5
115
|
Select = 2,
|
|
6
116
|
Secondary = 3
|
|
7
117
|
}
|
|
118
|
+
export interface RendererClipboardBoundary {
|
|
119
|
+
readonly capabilities: {
|
|
120
|
+
readonly remote: boolean;
|
|
121
|
+
readonly osc52_support: "supported" | "unsupported" | "unknown";
|
|
122
|
+
} | null;
|
|
123
|
+
copyToClipboardOSC52(text: string, target?: ClipboardTarget): boolean;
|
|
124
|
+
clearClipboardOSC52(target?: ClipboardTarget): boolean;
|
|
125
|
+
}
|
|
126
|
+
export declare const createRendererClipboardAdapter: (renderer: RendererClipboardBoundary) => TerminalClipboardAdapter;
|
|
8
127
|
export declare class Clipboard {
|
|
9
128
|
private lib;
|
|
10
129
|
private rendererPtr;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { HostClipboardBackend, HostClipboardOptions, HostClipboardService } from "./clipboard.js";
|
|
2
|
+
export declare const HOST_CLIPBOARD_MIME_PREFERENCE_COUNT_MAX = 64;
|
|
3
|
+
export declare const HOST_CLIPBOARD_MIME_ESSENCE_BYTES_MAX = 255;
|
|
4
|
+
export interface NormalizedHostClipboardOptions {
|
|
5
|
+
readonly timeoutMs: number;
|
|
6
|
+
readonly maxReadBytes: number;
|
|
7
|
+
readonly maxWriteBytes: number;
|
|
8
|
+
readonly maxImagePixels: number;
|
|
9
|
+
readonly maxConversionBytes: number;
|
|
10
|
+
readonly maxConcurrentOperations: number;
|
|
11
|
+
readonly maxProviderTransfers: number;
|
|
12
|
+
readonly waylandSeat?: string;
|
|
13
|
+
}
|
|
14
|
+
export type HostClipboardBackendFactory = (options: NormalizedHostClipboardOptions) => HostClipboardBackend;
|
|
15
|
+
export interface ActiveClipboardOperation {
|
|
16
|
+
readonly controller: AbortController;
|
|
17
|
+
readonly settled: Promise<void>;
|
|
18
|
+
settle(): void;
|
|
19
|
+
}
|
|
20
|
+
export declare const validateClipboardText: (text: string, maxWriteBytes: number) => void;
|
|
21
|
+
export declare const runTrackedOperation: <T>(active: Set<ActiveClipboardOperation>, callerSignal: AbortSignal | undefined, operation: (signal: AbortSignal) => Promise<T>) => Promise<T>;
|
|
22
|
+
export declare const createHostClipboardWithBackend: (options: HostClipboardOptions, createBackend: HostClipboardBackendFactory) => HostClipboardService;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "index.node.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.5.
|
|
7
|
+
"version": "0.5.2",
|
|
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": {
|
|
@@ -75,13 +75,13 @@
|
|
|
75
75
|
"web-tree-sitter": "0.25.10"
|
|
76
76
|
},
|
|
77
77
|
"optionalDependencies": {
|
|
78
|
-
"@opentui/core-darwin-x64": "0.5.
|
|
79
|
-
"@opentui/core-darwin-arm64": "0.5.
|
|
80
|
-
"@opentui/core-linux-x64": "0.5.
|
|
81
|
-
"@opentui/core-linux-arm64": "0.5.
|
|
82
|
-
"@opentui/core-win32-x64": "0.5.
|
|
83
|
-
"@opentui/core-win32-arm64": "0.5.
|
|
84
|
-
"@opentui/core-linux-x64-musl": "0.5.
|
|
85
|
-
"@opentui/core-linux-arm64-musl": "0.5.
|
|
78
|
+
"@opentui/core-darwin-x64": "0.5.2",
|
|
79
|
+
"@opentui/core-darwin-arm64": "0.5.2",
|
|
80
|
+
"@opentui/core-linux-x64": "0.5.2",
|
|
81
|
+
"@opentui/core-linux-arm64": "0.5.2",
|
|
82
|
+
"@opentui/core-win32-x64": "0.5.2",
|
|
83
|
+
"@opentui/core-win32-arm64": "0.5.2",
|
|
84
|
+
"@opentui/core-linux-x64-musl": "0.5.2",
|
|
85
|
+
"@opentui/core-linux-arm64-musl": "0.5.2"
|
|
86
86
|
}
|
|
87
87
|
}
|
package/parser.worker.js
CHANGED
|
@@ -4406,10 +4406,11 @@ function logMessage(type, ...args2) {
|
|
|
4406
4406
|
data: args2
|
|
4407
4407
|
});
|
|
4408
4408
|
}
|
|
4409
|
-
function postWorkerError(bufferId, error) {
|
|
4409
|
+
function postWorkerError(bufferId, messageId, error) {
|
|
4410
4410
|
postWorkerMessage({
|
|
4411
4411
|
type: "ERROR",
|
|
4412
4412
|
bufferId,
|
|
4413
|
+
messageId,
|
|
4413
4414
|
error: error instanceof Error ? error.stack || error.message : String(error)
|
|
4414
4415
|
});
|
|
4415
4416
|
}
|
|
@@ -4551,14 +4552,15 @@ if (isWorkerRuntime) {
|
|
|
4551
4552
|
});
|
|
4552
4553
|
}
|
|
4553
4554
|
} catch (error) {
|
|
4555
|
+
const messageId = "messageId" in message ? message.messageId : undefined;
|
|
4554
4556
|
if ("bufferId" in message) {
|
|
4555
|
-
postWorkerError(message.bufferId, error);
|
|
4557
|
+
postWorkerError(message.bufferId, messageId, error);
|
|
4556
4558
|
} else {
|
|
4557
|
-
postWorkerError(undefined, error);
|
|
4559
|
+
postWorkerError(undefined, messageId, error);
|
|
4558
4560
|
}
|
|
4559
4561
|
}
|
|
4560
4562
|
});
|
|
4561
4563
|
}
|
|
4562
4564
|
|
|
4563
|
-
//# debugId=
|
|
4565
|
+
//# debugId=E1AC0FF95C96198464756E2164756E21
|
|
4564
4566
|
//# sourceMappingURL=parser.worker.js.map
|