chore: scaffold Cargo workspace for the Ghostty rewrite

Start of the full Rust rewrite of Ghostty 1.3.1 (reference source in
../ghostty). Sets up a workspace whose crates mirror Ghostty's Zig modules
(vt, unicode, datastruct, os, input, config, terminal, font, renderer,
termio, core, apprt-gtk) so porting work can proceed in parallel per crate.

Also adds:
- docs/rewrite/{ARCHITECTURE,PLAN,STATUS,AGENT_GUIDE}.md: crate map, core
  design decisions (safe Rust, slab-based PageList, logical capacity
  accounting), phased plan, progress tracker, and porting rules.
- Workspace clippy config relaxing pedantic lints that are pure noise for
  low-level terminal code (casts, long functions).
- Shared vt types needed by several work packages up front: kitty
  keyboard flags (kitty/key.rs) and the CSI separator bitset (SepList).

Test Plan:
- cargo test -p ghostty-vt (3 tests pass)
- cargo clippy -p ghostty-vt --all-targets -- -D warnings
This commit is contained in:
ddidderr committed 2026-10-11 21:41:11 +02:00
1 parent e04991c1f5
commit 987f2957ad
34 files changed
+759 -4

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Compare number of Zig tests vs Rust tests per area.
set -euo pipefail
ZIG=$(cd "$(dirname "$0")/.." && pwd)/../ghostty/src
RS=$(cd "$(dirname "$0")/.." && pwd)/crates
printf "%-12s %6s\n" area zig_tests
for d in terminal font renderer input config termio cli os datastruct unicode apprt; do
printf "%-12s %6s\n" "$d" "$(grep -rh '^test "' "$ZIG/$d" | wc -l)"
done
echo
printf "%-22s %6s\n" crate rust_tests
for c in "$RS"/*/; do
printf "%-22s %6s\n" "$(basename "$c")" "$(grep -rhE '^\s*#\[(test|gtk::test)\]' "$c" 2>/dev/null | wc -l)"
done