avt-go
A Go transliteration of avt by Marcin Kulik, a virtual terminal emulator library licensed under Apache-2.0. It parses ANSI/VT escape sequences and maintains a virtual screen buffer with cursor, scrollback, and alternate screen support.
This port exists so Go projects like git-blimey can use terminal emulation
without FFI into the Rust crate. The public API mirrors avt closely — create a
Vt, feed it bytes with FeedStr, and inspect the result via View(),
Cursor(), Text(), or Dump() to serialise and restore state.
vt := avt.New(80, 24)
vt.FeedStr("\x1b[31mhello\x1b[0m world")
fmt.Println(vt.Text())