Files
ghostty/example/zig-formatter
Chris Marchesi e8525c0fd9 Update to Zig 0.16.0
This commit represents the majority of the work necessary to upgrade
Ghostty to use Zig 0.16.0.

Key parts:

* In addition to its previous responsibilities, the global state now
  houses state for global I/O implementations and the process
  environment. It is now also utilized in the main application along
  with the C library. Where necessary, global state is isolated from key
  parts of the implementation (e.g., in libghostty subsystems), and it's
  expected that this list will grow.

* We currently manage our own C translation layer where necessary. In
  these cases, cImport has been removed in favor of the new external
  translate-c package. Due to fixes that have needed be made to properly
  translate the dependencies that were swapped out, as mentioned, we
  have had to backport fixes from the current translate-c package (and
  the upstream Arocc dependency). We will host this ourselves until Zig
  0.17.0 is released with these fixes.

* Where necessary (only a small number of cases), some stdlib code from
  0.15.2 (and even from 0.17.0) has been taken, adopted, and vendored in
  lib/compat.

Co-authored-by: Leah Amelia Chen <hi@pluie.me>
2026-07-21 12:35:05 -07:00
..
2026-07-21 12:35:05 -07:00

Example: stdin to HTML using vtStream and TerminalFormatter

This example demonstrates how to read VT sequences from stdin, parse them using vtStream, and output styled HTML using TerminalFormatter. The purpose of this example is primarily to show how to use formatters with terminals.

Requires the Zig version stated in the build.zig.zon file.

Usage

Basic usage:

echo -e "Hello \033[1;32mGreen\033[0m World" | zig build run

This will output HTML with inline styles and CSS palette variables.

You can also pipe complex terminal output:

ls --color=always | zig build run > output.html