mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-04-06 07:38:21 +00:00
Remove the dedicated `zig build lib-vt` step and replace it with a `-Demit-lib-vt` build option. This fixes two problems: 1. We can default XCFramework, app, etc. steps to false if emit-lib-vt is true, so that the lib-vt build doesn't pull in unrelated artifacts. **Most importantly, lib-vt alone can be build without full Xcode installations.** 2. We can build lib-vt as part of a bundle with other artifacts if we really want.
887 B
887 B
WebAssembly Key Encoder Example
This example demonstrates how to use the Ghostty VT library from WebAssembly to encode key events into terminal escape sequences.
Building
First, build the WebAssembly module:
zig build -Demit-lib-vt -Dtarget=wasm32-freestanding -Doptimize=ReleaseSmall
This will create zig-out/bin/ghostty-vt.wasm.
Running
Important: You must serve this via HTTP, not open it as a file directly.
Browsers block loading WASM files from file:// URLs.
From the root of the ghostty repository, serve with a local HTTP server:
# Using Python (recommended)
python3 -m http.server 8000
# Or using Node.js
npx serve .
# Or using PHP
php -S localhost:8000
Then open your browser to:
http://localhost:8000/example/wasm-key-encode/
Focus the text input field and press any key combination to see the encoded output.