@vibecook/ghosttea-react 0.2.0
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/LICENSE +21 -0
- package/README.md +42 -0
- package/dist/TerminalSurface.d.ts +28 -0
- package/dist/TerminalSurface.d.ts.map +1 -0
- package/dist/TerminalSurface.js +614 -0
- package/dist/TerminalSurface.js.map +1 -0
- package/dist/bindings/action-route.d.ts +155 -0
- package/dist/bindings/action-route.d.ts.map +1 -0
- package/dist/bindings/action-route.js +196 -0
- package/dist/bindings/action-route.js.map +1 -0
- package/dist/bindings/fixtures/extensions.json +10 -0
- package/dist/bindings/fixtures/keybinds-linux-default.json +505 -0
- package/dist/bindings/fixtures/keybinds-macos-default.json +660 -0
- package/dist/bindings/ghostty-actions.d.ts +247 -0
- package/dist/bindings/ghostty-actions.d.ts.map +1 -0
- package/dist/bindings/ghostty-actions.js +431 -0
- package/dist/bindings/ghostty-actions.js.map +1 -0
- package/dist/bindings/ghostty-bindings.d.ts +88 -0
- package/dist/bindings/ghostty-bindings.d.ts.map +1 -0
- package/dist/bindings/ghostty-bindings.js +122 -0
- package/dist/bindings/ghostty-bindings.js.map +1 -0
- package/dist/bindings/ghostty-triggers.d.ts +47 -0
- package/dist/bindings/ghostty-triggers.d.ts.map +1 -0
- package/dist/bindings/ghostty-triggers.js +378 -0
- package/dist/bindings/ghostty-triggers.js.map +1 -0
- package/dist/bindings/index.d.ts +5 -0
- package/dist/bindings/index.d.ts.map +1 -0
- package/dist/bindings/index.js +5 -0
- package/dist/bindings/index.js.map +1 -0
- package/dist/catalog-budget.d.ts +22 -0
- package/dist/catalog-budget.d.ts.map +1 -0
- package/dist/catalog-budget.js +53 -0
- package/dist/catalog-budget.js.map +1 -0
- package/dist/cell-width.d.ts +3 -0
- package/dist/cell-width.d.ts.map +1 -0
- package/dist/cell-width.js +19 -0
- package/dist/cell-width.js.map +1 -0
- package/dist/context.d.ts +9 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +13 -0
- package/dist/context.js.map +1 -0
- package/dist/cursor-invalidation.d.ts +3 -0
- package/dist/cursor-invalidation.d.ts.map +1 -0
- package/dist/cursor-invalidation.js +4 -0
- package/dist/cursor-invalidation.js.map +1 -0
- package/dist/frame-resync.d.ts +16 -0
- package/dist/frame-resync.d.ts.map +1 -0
- package/dist/frame-resync.js +164 -0
- package/dist/frame-resync.js.map +1 -0
- package/dist/frame-sequence.d.ts +14 -0
- package/dist/frame-sequence.d.ts.map +1 -0
- package/dist/frame-sequence.js +16 -0
- package/dist/frame-sequence.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/keyboard-input.d.ts +18 -0
- package/dist/keyboard-input.d.ts.map +1 -0
- package/dist/keyboard-input.js +101 -0
- package/dist/keyboard-input.js.map +1 -0
- package/dist/performance.d.ts +66 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/performance.js +21 -0
- package/dist/performance.js.map +1 -0
- package/dist/renderers/canvas-renderer.d.ts +12 -0
- package/dist/renderers/canvas-renderer.d.ts.map +1 -0
- package/dist/renderers/canvas-renderer.js +117 -0
- package/dist/renderers/canvas-renderer.js.map +1 -0
- package/dist/renderers/render-damage.d.ts +7 -0
- package/dist/renderers/render-damage.d.ts.map +1 -0
- package/dist/renderers/render-damage.js +16 -0
- package/dist/renderers/render-damage.js.map +1 -0
- package/dist/renderers/types.d.ts +65 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/renderers/types.js +31 -0
- package/dist/renderers/types.js.map +1 -0
- package/dist/renderers/webgpu-renderer.d.ts +27 -0
- package/dist/renderers/webgpu-renderer.d.ts.map +1 -0
- package/dist/renderers/webgpu-renderer.js +1746 -0
- package/dist/renderers/webgpu-renderer.js.map +1 -0
- package/dist/runtime.d.ts +70 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +1021 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scroll-input.d.ts +6 -0
- package/dist/scroll-input.d.ts.map +1 -0
- package/dist/scroll-input.js +14 -0
- package/dist/scroll-input.js.map +1 -0
- package/dist/selection-input.d.ts +16 -0
- package/dist/selection-input.d.ts.map +1 -0
- package/dist/selection-input.js +67 -0
- package/dist/selection-input.js.map +1 -0
- package/dist/selection-text.d.ts +4 -0
- package/dist/selection-text.d.ts.map +1 -0
- package/dist/selection-text.js +28 -0
- package/dist/selection-text.js.map +1 -0
- package/dist/styles.css +75 -0
- package/dist/terminal-bindings.d.ts +22 -0
- package/dist/terminal-bindings.d.ts.map +1 -0
- package/dist/terminal-bindings.js +22 -0
- package/dist/terminal-bindings.js.map +1 -0
- package/dist/terminal-render.worker.d.ts +2 -0
- package/dist/terminal-render.worker.d.ts.map +1 -0
- package/dist/terminal-render.worker.js +3165 -0
- package/dist/terminal-render.worker.js.map +7 -0
- package/dist/worker-messages.d.ts +111 -0
- package/dist/worker-messages.d.ts.map +1 -0
- package/dist/worker-messages.js +2 -0
- package/dist/worker-messages.js.map +1 -0
- package/dist/workspace/RemoteSessionPalette.d.ts +12 -0
- package/dist/workspace/RemoteSessionPalette.d.ts.map +1 -0
- package/dist/workspace/RemoteSessionPalette.js +135 -0
- package/dist/workspace/RemoteSessionPalette.js.map +1 -0
- package/dist/workspace/Workspace.d.ts +69 -0
- package/dist/workspace/Workspace.d.ts.map +1 -0
- package/dist/workspace/Workspace.js +536 -0
- package/dist/workspace/Workspace.js.map +1 -0
- package/dist/workspace/hotkeys.d.ts +27 -0
- package/dist/workspace/hotkeys.d.ts.map +1 -0
- package/dist/workspace/hotkeys.js +29 -0
- package/dist/workspace/hotkeys.js.map +1 -0
- package/dist/workspace/index.d.ts +8 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +8 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/pane-layout.d.ts +35 -0
- package/dist/workspace/pane-layout.d.ts.map +1 -0
- package/dist/workspace/pane-layout.js +139 -0
- package/dist/workspace/pane-layout.js.map +1 -0
- package/dist/workspace/pending-cache.d.ts +5 -0
- package/dist/workspace/pending-cache.d.ts.map +1 -0
- package/dist/workspace/pending-cache.js +22 -0
- package/dist/workspace/pending-cache.js.map +1 -0
- package/dist/workspace/session-scope.d.ts +3 -0
- package/dist/workspace/session-scope.d.ts.map +1 -0
- package/dist/workspace/session-scope.js +6 -0
- package/dist/workspace/session-scope.js.map +1 -0
- package/dist/workspace/themes.d.ts +18 -0
- package/dist/workspace/themes.d.ts.map +1 -0
- package/dist/workspace/themes.js +19 -0
- package/dist/workspace/themes.js.map +1 -0
- package/dist/workspace/workspace-model.d.ts +59 -0
- package/dist/workspace/workspace-model.d.ts.map +1 -0
- package/dist/workspace/workspace-model.js +257 -0
- package/dist/workspace/workspace-model.js.map +1 -0
- package/dist/workspace/workspace-tabs.d.ts +41 -0
- package/dist/workspace/workspace-tabs.d.ts.map +1 -0
- package/dist/workspace/workspace-tabs.js +133 -0
- package/dist/workspace/workspace-tabs.js.map +1 -0
- package/dist/workspace.css +453 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghostty-actions.js","sourceRoot":"","sources":["../../src/bindings/ghostty-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table-driven Ghostty keybind matching.
|
|
3
|
+
*
|
|
4
|
+
* Default macOS bindings come from the pinned ground-truth dump:
|
|
5
|
+
* `fixtures/keybinds-macos-default.json` (extracted from Ghostty).
|
|
6
|
+
*
|
|
7
|
+
* Ghosttea product extensions (⌘⇧O remote sessions) live in
|
|
8
|
+
* `fixtures/extensions.json` and are matched only when extensions are enabled.
|
|
9
|
+
*
|
|
10
|
+
* `flags.performable` mirrors Ghostty Binding.Flags: when true, a bind only
|
|
11
|
+
* exists if the action can be performed. CLI dumps omit flags; the fixture
|
|
12
|
+
* merges them from Config.zig knowledge (see extract script / flagsNote).
|
|
13
|
+
*/
|
|
14
|
+
import type { GhostteaBindingAction, GhosttyAction } from "./ghostty-actions.js";
|
|
15
|
+
import { formatGhosttyTrigger, parseGhosttyTrigger, synthesizeKeyEvent, type GhosttyTrigger, type KeyEventLike } from "./ghostty-triggers.js";
|
|
16
|
+
export type GhosttyBindingFlags = {
|
|
17
|
+
/**
|
|
18
|
+
* When true, Ghostty treats the bind as absent if the action cannot run
|
|
19
|
+
* (e.g. Escape=end_search only while search is open).
|
|
20
|
+
*/
|
|
21
|
+
performable: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type GhosttyBindingEntry = {
|
|
24
|
+
trigger: GhosttyTrigger;
|
|
25
|
+
/** Canonical trigger string from Ghostty dump. */
|
|
26
|
+
triggerRaw: string;
|
|
27
|
+
action: GhosttyAction;
|
|
28
|
+
/** Canonical action string from Ghostty dump. */
|
|
29
|
+
actionRaw: string;
|
|
30
|
+
flags: GhosttyBindingFlags;
|
|
31
|
+
};
|
|
32
|
+
export type GhostteaExtensionEntry = {
|
|
33
|
+
trigger: GhosttyTrigger;
|
|
34
|
+
triggerRaw: string;
|
|
35
|
+
action: GhostteaBindingAction;
|
|
36
|
+
actionRaw: string;
|
|
37
|
+
flags: GhosttyBindingFlags;
|
|
38
|
+
note?: string;
|
|
39
|
+
};
|
|
40
|
+
/** Match result including flags (needed for consume/performable policy). */
|
|
41
|
+
export type GhostteaBindingMatch = {
|
|
42
|
+
action: GhostteaBindingAction;
|
|
43
|
+
flags: GhosttyBindingFlags;
|
|
44
|
+
triggerRaw: string;
|
|
45
|
+
actionRaw: string;
|
|
46
|
+
};
|
|
47
|
+
/** Parsed default macOS Ghostty keybinds. */
|
|
48
|
+
export declare const GHOSTTY_MACOS_DEFAULT_BINDINGS: readonly GhosttyBindingEntry[];
|
|
49
|
+
/** Parsed default Linux Ghostty keybinds (derived from Config.zig non-Darwin branch). */
|
|
50
|
+
export declare const GHOSTTY_LINUX_DEFAULT_BINDINGS: readonly GhosttyBindingEntry[];
|
|
51
|
+
/** Ghosttea-only extensions. ⌘⇧O remote sessions is intentional product UX. */
|
|
52
|
+
export declare const GHOSTTEA_BINDING_EXTENSIONS: readonly GhostteaExtensionEntry[];
|
|
53
|
+
export type BindingPlatform = "darwin" | "macos" | "linux" | "win32" | string;
|
|
54
|
+
/** Resolve which default table to use for a host platform. */
|
|
55
|
+
export declare function defaultBindingsForPlatform(platform: BindingPlatform | undefined): readonly GhosttyBindingEntry[];
|
|
56
|
+
export declare function isKeyboardBinding(entry: {
|
|
57
|
+
trigger: GhosttyTrigger;
|
|
58
|
+
}): boolean;
|
|
59
|
+
export declare function keyboardDefaultBindings(bindings?: readonly GhosttyBindingEntry[]): GhosttyBindingEntry[];
|
|
60
|
+
/**
|
|
61
|
+
* Match a keyboard event against a binding table.
|
|
62
|
+
* Returns the first matching binding, or null.
|
|
63
|
+
*
|
|
64
|
+
* Special menu triggers (`copy`, `paste`) never match keyboard events.
|
|
65
|
+
*/
|
|
66
|
+
export declare function matchGhosttyBindingEntry(event: KeyEventLike, bindings?: readonly GhosttyBindingEntry[]): GhosttyBindingEntry | null;
|
|
67
|
+
/** @deprecated Prefer matchGhosttyBindingEntry when flags matter. */
|
|
68
|
+
export declare function matchGhosttyBinding(event: KeyEventLike, bindings?: readonly GhosttyBindingEntry[]): GhosttyAction | null;
|
|
69
|
+
export type MatchBindingOptions = {
|
|
70
|
+
/** Include Ghosttea product extensions (default true). */
|
|
71
|
+
extensions?: boolean;
|
|
72
|
+
/** Host platform; selects macOS vs Linux default tables when `bindings` omitted. */
|
|
73
|
+
platform?: BindingPlatform;
|
|
74
|
+
bindings?: readonly GhosttyBindingEntry[];
|
|
75
|
+
extensionBindings?: readonly GhostteaExtensionEntry[];
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Match Ghostty defaults, then Ghosttea extensions.
|
|
79
|
+
* Extensions win when they collide (product override).
|
|
80
|
+
*/
|
|
81
|
+
export declare function matchGhostteaBindingEntry(event: KeyEventLike, options?: MatchBindingOptions): GhostteaBindingMatch | null;
|
|
82
|
+
/** @deprecated Prefer matchGhostteaBindingEntry when flags matter. */
|
|
83
|
+
export declare function matchGhostteaBinding(event: KeyEventLike, options?: MatchBindingOptions): GhostteaBindingAction | null;
|
|
84
|
+
/** Round-trip helpers used by the extract / golden suite. */
|
|
85
|
+
export declare function bindingDumpLines(bindings: readonly GhosttyBindingEntry[]): string[];
|
|
86
|
+
export declare function synthesizeEventForBinding(entry: GhosttyBindingEntry): KeyEventLike | null;
|
|
87
|
+
export { formatGhosttyTrigger, parseGhosttyTrigger, synthesizeKeyEvent };
|
|
88
|
+
//# sourceMappingURL=ghostty-bindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghostty-bindings.d.ts","sourceRoot":"","sources":["../../src/bindings/ghostty-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table-driven Ghostty keybind matching.
|
|
3
|
+
*
|
|
4
|
+
* Default macOS bindings come from the pinned ground-truth dump:
|
|
5
|
+
* `fixtures/keybinds-macos-default.json` (extracted from Ghostty).
|
|
6
|
+
*
|
|
7
|
+
* Ghosttea product extensions (⌘⇧O remote sessions) live in
|
|
8
|
+
* `fixtures/extensions.json` and are matched only when extensions are enabled.
|
|
9
|
+
*
|
|
10
|
+
* `flags.performable` mirrors Ghostty Binding.Flags: when true, a bind only
|
|
11
|
+
* exists if the action can be performed. CLI dumps omit flags; the fixture
|
|
12
|
+
* merges them from Config.zig knowledge (see extract script / flagsNote).
|
|
13
|
+
*/
|
|
14
|
+
import { parseGhostteaBindingAction, parseGhosttyAction } from "./ghostty-actions.js";
|
|
15
|
+
import { formatGhosttyTrigger, parseGhosttyTrigger, synthesizeKeyEvent, triggerMatchesEvent, } from "./ghostty-triggers.js";
|
|
16
|
+
import defaultKeybindsJson from "./fixtures/keybinds-macos-default.json";
|
|
17
|
+
import linuxKeybindsJson from "./fixtures/keybinds-linux-default.json";
|
|
18
|
+
import extensionsJson from "./fixtures/extensions.json";
|
|
19
|
+
function loadDefaultBindings(source = defaultKeybindsJson) {
|
|
20
|
+
return source.bindings.map((row) => ({
|
|
21
|
+
triggerRaw: row.trigger,
|
|
22
|
+
actionRaw: row.action,
|
|
23
|
+
trigger: parseGhosttyTrigger(row.trigger),
|
|
24
|
+
action: parseGhosttyAction(row.action),
|
|
25
|
+
flags: { performable: row.flags?.performable === true },
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
function loadExtensions(source = extensionsJson) {
|
|
29
|
+
return source.bindings.map((row) => {
|
|
30
|
+
const entry = {
|
|
31
|
+
triggerRaw: row.trigger,
|
|
32
|
+
actionRaw: row.action,
|
|
33
|
+
trigger: parseGhosttyTrigger(row.trigger),
|
|
34
|
+
action: parseGhostteaBindingAction(row.action),
|
|
35
|
+
// Product extensions always apply when matched.
|
|
36
|
+
flags: { performable: false },
|
|
37
|
+
};
|
|
38
|
+
if (row.note !== undefined)
|
|
39
|
+
entry.note = row.note;
|
|
40
|
+
return entry;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/** Parsed default macOS Ghostty keybinds. */
|
|
44
|
+
export const GHOSTTY_MACOS_DEFAULT_BINDINGS = loadDefaultBindings(defaultKeybindsJson);
|
|
45
|
+
/** Parsed default Linux Ghostty keybinds (derived from Config.zig non-Darwin branch). */
|
|
46
|
+
export const GHOSTTY_LINUX_DEFAULT_BINDINGS = loadDefaultBindings(linuxKeybindsJson);
|
|
47
|
+
/** Ghosttea-only extensions. ⌘⇧O remote sessions is intentional product UX. */
|
|
48
|
+
export const GHOSTTEA_BINDING_EXTENSIONS = loadExtensions();
|
|
49
|
+
/** Resolve which default table to use for a host platform. */
|
|
50
|
+
export function defaultBindingsForPlatform(platform) {
|
|
51
|
+
if (platform === "linux" || platform === "win32")
|
|
52
|
+
return GHOSTTY_LINUX_DEFAULT_BINDINGS;
|
|
53
|
+
// darwin / macos / undefined → macOS defaults (primary desktop target).
|
|
54
|
+
return GHOSTTY_MACOS_DEFAULT_BINDINGS;
|
|
55
|
+
}
|
|
56
|
+
export function isKeyboardBinding(entry) {
|
|
57
|
+
return entry.trigger.key.kind !== "special";
|
|
58
|
+
}
|
|
59
|
+
export function keyboardDefaultBindings(bindings = GHOSTTY_MACOS_DEFAULT_BINDINGS) {
|
|
60
|
+
return bindings.filter(isKeyboardBinding);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Match a keyboard event against a binding table.
|
|
64
|
+
* Returns the first matching binding, or null.
|
|
65
|
+
*
|
|
66
|
+
* Special menu triggers (`copy`, `paste`) never match keyboard events.
|
|
67
|
+
*/
|
|
68
|
+
export function matchGhosttyBindingEntry(event, bindings = GHOSTTY_MACOS_DEFAULT_BINDINGS) {
|
|
69
|
+
for (const entry of bindings) {
|
|
70
|
+
if (!isKeyboardBinding(entry))
|
|
71
|
+
continue;
|
|
72
|
+
if (triggerMatchesEvent(entry.trigger, event))
|
|
73
|
+
return entry;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
/** @deprecated Prefer matchGhosttyBindingEntry when flags matter. */
|
|
78
|
+
export function matchGhosttyBinding(event, bindings = GHOSTTY_MACOS_DEFAULT_BINDINGS) {
|
|
79
|
+
return matchGhosttyBindingEntry(event, bindings)?.action ?? null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Match Ghostty defaults, then Ghosttea extensions.
|
|
83
|
+
* Extensions win when they collide (product override).
|
|
84
|
+
*/
|
|
85
|
+
export function matchGhostteaBindingEntry(event, options = {}) {
|
|
86
|
+
const extensionBindings = options.extensionBindings ?? GHOSTTEA_BINDING_EXTENSIONS;
|
|
87
|
+
if (options.extensions !== false) {
|
|
88
|
+
for (const entry of extensionBindings) {
|
|
89
|
+
if (triggerMatchesEvent(entry.trigger, event)) {
|
|
90
|
+
return {
|
|
91
|
+
action: entry.action,
|
|
92
|
+
flags: entry.flags,
|
|
93
|
+
triggerRaw: entry.triggerRaw,
|
|
94
|
+
actionRaw: entry.actionRaw,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const table = options.bindings ?? defaultBindingsForPlatform(options.platform);
|
|
100
|
+
const hit = matchGhosttyBindingEntry(event, table);
|
|
101
|
+
if (!hit)
|
|
102
|
+
return null;
|
|
103
|
+
return {
|
|
104
|
+
action: hit.action,
|
|
105
|
+
flags: hit.flags,
|
|
106
|
+
triggerRaw: hit.triggerRaw,
|
|
107
|
+
actionRaw: hit.actionRaw,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/** @deprecated Prefer matchGhostteaBindingEntry when flags matter. */
|
|
111
|
+
export function matchGhostteaBinding(event, options = {}) {
|
|
112
|
+
return matchGhostteaBindingEntry(event, options)?.action ?? null;
|
|
113
|
+
}
|
|
114
|
+
/** Round-trip helpers used by the extract / golden suite. */
|
|
115
|
+
export function bindingDumpLines(bindings) {
|
|
116
|
+
return bindings.map((b) => `keybind = ${b.triggerRaw}=${b.actionRaw}`);
|
|
117
|
+
}
|
|
118
|
+
export function synthesizeEventForBinding(entry) {
|
|
119
|
+
return synthesizeKeyEvent(entry.trigger);
|
|
120
|
+
}
|
|
121
|
+
export { formatGhosttyTrigger, parseGhosttyTrigger, synthesizeKeyEvent };
|
|
122
|
+
//# sourceMappingURL=ghostty-bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghostty-bindings.js","sourceRoot":"","sources":["../../src/bindings/ghostty-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ghostty keybind trigger parsing and keyboard-event matching.
|
|
3
|
+
*
|
|
4
|
+
* Trigger grammar mirrors Ghostty dumps from `+list-keybinds --default --plain`:
|
|
5
|
+
* super+shift+t
|
|
6
|
+
* ctrl+tab
|
|
7
|
+
* super+digit_1
|
|
8
|
+
* super+=
|
|
9
|
+
* copy / paste (non-keyboard pseudo-triggers for edit menu)
|
|
10
|
+
*/
|
|
11
|
+
export type GhosttyMods = {
|
|
12
|
+
super: boolean;
|
|
13
|
+
ctrl: boolean;
|
|
14
|
+
shift: boolean;
|
|
15
|
+
alt: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type GhosttyTriggerKey = {
|
|
18
|
+
kind: "unicode";
|
|
19
|
+
value: string;
|
|
20
|
+
} | {
|
|
21
|
+
kind: "physical";
|
|
22
|
+
name: string;
|
|
23
|
+
} | {
|
|
24
|
+
kind: "special";
|
|
25
|
+
name: "copy" | "paste";
|
|
26
|
+
};
|
|
27
|
+
export type GhosttyTrigger = {
|
|
28
|
+
mods: GhosttyMods;
|
|
29
|
+
key: GhosttyTriggerKey;
|
|
30
|
+
};
|
|
31
|
+
export declare class GhosttyTriggerParseError extends Error {
|
|
32
|
+
constructor(message: string);
|
|
33
|
+
}
|
|
34
|
+
export type KeyEventLike = Pick<KeyboardEvent, "key" | "metaKey" | "ctrlKey" | "altKey" | "shiftKey"> & {
|
|
35
|
+
/** DOM `code` when available; matching still works from `key` alone. */
|
|
36
|
+
code?: string;
|
|
37
|
+
};
|
|
38
|
+
export declare function emptyMods(): GhosttyMods;
|
|
39
|
+
export declare function parseGhosttyTrigger(raw: string): GhosttyTrigger;
|
|
40
|
+
export declare function formatGhosttyTrigger(trigger: GhosttyTrigger): string;
|
|
41
|
+
export declare function modsMatch(a: GhosttyMods, b: GhosttyMods): boolean;
|
|
42
|
+
export declare function eventMods(event: KeyEventLike): GhosttyMods;
|
|
43
|
+
/** True if this keyboard event satisfies the Ghostty trigger. */
|
|
44
|
+
export declare function triggerMatchesEvent(trigger: GhosttyTrigger, event: KeyEventLike): boolean;
|
|
45
|
+
/** Build a synthetic keyboard event that should match the given trigger (for tests). */
|
|
46
|
+
export declare function synthesizeKeyEvent(trigger: GhosttyTrigger): KeyEventLike | null;
|
|
47
|
+
//# sourceMappingURL=ghostty-triggers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ghostty-triggers.d.ts","sourceRoot":"","sources":["../../src/bindings/ghostty-triggers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAExH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,iBAAiB,CAAC;CACxB,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAkGD,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,GAAG;IACtG,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,SAAS,IAAI,WAAW,CAEvC;AAID,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAiD/D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CASpE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAEjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAO1D;AAwDD,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAUzF;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,GAAG,IAAI,CAsG/E"}
|