Go bindings for libghostty-vt. pkg.go.dev/go.mitchellh.com/libghostty
ghostty

bind upstream get_multi APIs, replace sized-struct Info() master

Update the pinned ghostty commit to pick up the new _get_multi C APIs added across all getter types (terminal, render state, row, cell, screen, kitty graphics image, kitty graphics placement). The existing Info() methods on KittyGraphicsImage and KittyGraphicsPlacementIterator previously used sized-struct C types (GhosttyKittyGraphicsImageInfo, etc.) initialized via GHOSTTY_INIT_SIZED. These are replaced by get_multi calls that fetch each field individually through typed pointers, eliminating struct ABI concerns (padding, alignment, field ordering) at the cgo boundary. The Go-side convenience structs remain unchanged. Each type also gains a public GetMulti method that exposes the raw get_multi API for callers who want to batch arbitrary subsets of queries into a single cgo crossing. A shared cValuesArray helper in get_multi.go solves the cgo pointer-passing rule for void**: the array of output pointers is allocated in C heap memory, populated from Go, passed to C, then freed.


Author Mitchell Hashimoto Date Commit 5d67d01e Parent 4611ac67 Change ID kuxlnypn