xterm.js is the front-end terminal component behind VS Code, Hyper and Theia. This is a complete Go port of version 6.0.0, so Go and WebAssembly applications can embed a full terminal emulator without any JavaScript dependency.
The escape-sequence machinery is ported in full: cursor addressing, scroll regions, the alternate screen buffer, insert and delete, SGR styling in 16, 256 and truecolor, underline styles, charsets, device reports (DA, DSR, DECRQM, DECRQSS) and mouse tracking with SGR encoding — enough for curses applications to just work.
The vt subpackage — parser, buffers and input handler — is pure Go with no dependencies and builds natively, so terminal semantics can be tested with plain go test and the core can interpret pty output headless on the server.
Source code: github.com/0magnet/xterm-go. More Go and WebAssembly projects: magnetosphere.net/software.