mirror-ghostty/example
Mitchell Hashimoto 3dee62f904
build: add CMake support for libghostty-vt
Add a top-level CMakeLists.txt that wraps `zig build lib-vt` so that
CMake-based downstream projects can consume libghostty-vt without
needing to interact with the Zig build system directly. A custom
command triggers the zig build during `cmake --build`, and the
resulting shared library is exposed as an IMPORTED target.

Downstream projects can pull in the library via FetchContent, which
fetches the source and builds it as part of their own CMake build, or
via find_package after a manual install step. The package config
template in dist/cmake/ sets up the ghostty-vt::ghostty-vt target
with proper include paths and macOS rpath handling.

A c-vt-cmake example demonstrates the FetchContent workflow, creating
a terminal, writing VT sequences, and formatting the output as plain
text. CI is updated to auto-discover and build CMake-based examples
alongside the existing Zig-based ones.
2026-03-20 10:42:42 -07:00
..
c-vt update a bunch of required Zig versions to 0.15 2025-10-03 07:10:44 -07:00
c-vt-cmake build: add CMake support for libghostty-vt 2026-03-20 10:42:42 -07:00
c-vt-encode-focus docs: extract focus encoding example into standalone project 2026-03-17 16:48:48 -07:00
c-vt-encode-key example: rename some examples 2026-03-17 17:39:26 -07:00
c-vt-encode-mouse example: rename some examples 2026-03-17 17:39:26 -07:00
c-vt-formatter example: add c-vt-formatter example 2026-03-14 15:12:10 -07:00
c-vt-grid-traverse example: add grid reference traversal example 2026-03-19 19:55:02 -07:00
c-vt-modes docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-paste docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-render vt: fix render state cell style and graphemes_buf APIs 2026-03-20 09:24:31 -07:00
c-vt-sgr docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
c-vt-size-report docs: extract inline code examples into standalone projects 2026-03-17 17:03:58 -07:00
wasm-key-encode lib-vt: Wasm SGR helpers and example (#9362) 2025-10-26 13:19:55 -07:00
wasm-sgr lib-vt: Wasm SGR helpers and example (#9362) 2025-10-26 13:19:55 -07:00
zig-formatter terminal: make stream processing infallible 2026-03-13 13:56:14 -07:00
zig-vt update a bunch of required Zig versions to 0.15 2025-10-03 07:10:44 -07:00
zig-vt-stream terminal: make stream processing infallible 2026-03-13 13:56:14 -07:00
.gitignore build: add CMake support for libghostty-vt 2026-03-20 10:42:42 -07:00
AGENTS.md Add example AGENTS file 2026-03-17 17:13:08 -07:00
README.md example: add README 2026-03-17 17:37:20 -07:00

README.md

Examples

Standalone projects demonstrating the Ghostty library APIs. The directories starting with c- use the C API and the directories starting with zig- use the Zig API.

Every example can be built and run using zig build and zig build run from within the respective example directory. Even the C API examples use the Zig build system (not the language) to build the project.

Running an Example

cd example/<dir>
zig build run