bd44b5aa08
Test / build-libghostty-vt (x86_64-windows-gnu) (push) Has been cancelled
Test / build-libghostty-vt-macos (aarch64-ios) (push) Has been cancelled
Test / build-libghostty-vt-macos (aarch64-macos) (push) Has been cancelled
Test / build-libghostty-vt-macos (x86_64-macos) (push) Has been cancelled
Test / build-nix (namespace-profile-ghostty-md-arm64) (push) Has been cancelled
Test / build-dist (push) Has been cancelled
Test / GTK x11=true wayland=true (push) Has been cancelled
Test / Build -Dsimd=false (push) Has been cancelled
Test / Build -Dsimd=true (push) Has been cancelled
Test / Build -Dsentry=false (push) Has been cancelled
Test / Build -Dsentry=true (push) Has been cancelled
Test / zig-fmt (push) Has been cancelled
Test / GitHub Actions Pins (push) Has been cancelled
Test / prettier (push) Has been cancelled
Test / swiftlint (push) Has been cancelled
Test / alejandra (push) Has been cancelled
Test / typos (push) Has been cancelled
Nix / Required Checks: Nix (push) Has been cancelled
Nix / check-zig-cache-hash (push) Has been cancelled
Test / skip (push) Has been cancelled
Test / Required Checks: Test (push) Has been cancelled
Test / build-bench (push) Has been cancelled
Test / list-examples (push) Has been cancelled
Test / Example ${{ matrix.dir }} (Windows) (push) Has been cancelled
Test / build-cmake (push) Has been cancelled
Test / test-lib-vt-pkgconfig (push) Has been cancelled
Test / build-flatpak (push) Has been cancelled
Test / build-snap (push) Has been cancelled
Test / build-libghostty-vt (aarch64-linux) (push) Has been cancelled
Test / build-libghostty-vt (aarch64-macos) (push) Has been cancelled
Test / build-libghostty-vt (wasm32-freestanding) (push) Has been cancelled
Test / build-libghostty-vt (x86_64-linux) (push) Has been cancelled
Test / build-libghostty-vt (x86_64-linux-musl) (push) Has been cancelled
Test / build-libghostty-vt (x86_64-macos) (push) Has been cancelled
Test / build-libghostty-vt-android (aarch64-linux-android) (push) Has been cancelled
Test / build-libghostty-vt-android (arm-linux-androideabi) (push) Has been cancelled
Test / build-libghostty-vt-android (x86_64-linux-android) (push) Has been cancelled
Test / build-libghostty-vt-windows (push) Has been cancelled
Test / build-libghostty-windows-gnu (push) Has been cancelled
Test / build-linux (namespace-profile-ghostty-md) (push) Has been cancelled
Test / build-linux (namespace-profile-ghostty-md-arm64) (push) Has been cancelled
Test / build-linux-libghostty (push) Has been cancelled
Test / build-nix (namespace-profile-ghostty-md) (push) Has been cancelled
Test / build-dist-lib-vt (push) Has been cancelled
Test / trigger-snap (push) Has been cancelled
Test / trigger-flatpak (push) Has been cancelled
Test / build-macos (push) Has been cancelled
Test / build-macos-freetype (push) Has been cancelled
Test / test (push) Has been cancelled
Test / test-lib-vt (push) Has been cancelled
Test / GTK x11=false wayland=false (push) Has been cancelled
Test / GTK x11=true wayland=false (push) Has been cancelled
Test / GTK x11=false wayland=true (push) Has been cancelled
Test / test-macos (push) Has been cancelled
Test / test-windows (push) Has been cancelled
Test / Build -Di18n=false (push) Has been cancelled
Test / Build -Di18n=true (push) Has been cancelled
Test / Build test/fuzz-libghostty (push) Has been cancelled
Test / shellcheck (push) Has been cancelled
Test / translations (push) Has been cancelled
Test / blueprint-compiler (push) Has been cancelled
Test / Test pkg/wuffs (push) Has been cancelled
Test / Test build on Debian 13 (push) Has been cancelled
Test / valgrind (push) Has been cancelled
Test / Example ${{ matrix.dir }} (push) Has been cancelled
40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# Example Libghostty Projects
|
|
|
|
Each example is a standalone project with its own `build.zig`,
|
|
`build.zig.zon`, `README.md`, and `src/main.c` (or `.zig`). Examples are
|
|
auto-discovered by CI via `example/*/build.zig.zon`, so no workflow file
|
|
edits are needed when adding a new example.
|
|
|
|
## Adding a New Example
|
|
|
|
1. Copy an existing example directory (e.g., `c-vt-encode-focus/`) as a
|
|
starting point.
|
|
2. Update `build.zig.zon`: change `.name`, generate a **new unique**
|
|
`.fingerprint` value (a random `u64` hex literal), and keep
|
|
`.minimum_zig_version` matching the others.
|
|
3. Update `build.zig`: change the executable `.name` to match the directory.
|
|
4. Write a `README.md` following the existing format.
|
|
|
|
## Doxygen Snippet Tags
|
|
|
|
Example source files use Doxygen `@snippet` tags so the corresponding
|
|
header in `include/ghostty/vt/` can reference them. Wrap the relevant
|
|
code with `//! [snippet-name]` markers:
|
|
|
|
```c
|
|
//! [my-snippet]
|
|
int main() { ... }
|
|
//! [my-snippet]
|
|
```
|
|
|
|
The header then uses `@snippet <dir>/src/main.c my-snippet` instead of
|
|
inline `@code` blocks. Never duplicate example code inline in the
|
|
headers — always use `@snippet`. When modifying example code, keep the
|
|
snippet markers in sync with the headers in `include/ghostty/vt/`.
|
|
|
|
## Conventions
|
|
|
|
- Executable names use underscores: `c_vt_encode_focus` (not hyphens).
|
|
- All C examples link `ghostty-vt` via `lazyDependency("ghostty", ...)`.
|
|
- `build.zig` files follow a common template — keep them consistent.
|