Profpatsch / users / Profpatsch / avt-go

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())