buildkit/vendor/github.com/jaguilar/vt100
Tonis Tiigi ad81e72aa3 vendor: add vt100
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-01 19:49:04 -07:00
..
.travis.yml vendor: add vt100 2019-04-01 19:49:04 -07:00
LICENSE vendor: add vt100 2019-04-01 19:49:04 -07:00
README.md vendor: add vt100 2019-04-01 19:49:04 -07:00
command.go vendor: add vt100 2019-04-01 19:49:04 -07:00
go.mod vendor: add vt100 2019-04-01 19:49:04 -07:00
go.sum vendor: add vt100 2019-04-01 19:49:04 -07:00
scanner.go vendor: add vt100 2019-04-01 19:49:04 -07:00
vt100.go vendor: add vt100 2019-04-01 19:49:04 -07:00

README.md

#VT100

Build Status

GoDoc

This is a vt100 screen reader. It seems to do a pretty decent job of parsing the nethack input stream, which is all I want it for anyway.

Here is a screenshot of the HTML-formatted screen data:

The features we currently support:

  • Cursor movement
  • Erasing
  • Many of the text properties -- underline, inverse, blink, etc.
  • Sixteen colors
  • Cursor saving and unsaving
  • UTF-8

Not currently supported (and no plans to support):

  • Scrolling
  • Prompts
  • Other cooked mode features

The API is not stable! This is a v0 package.

Demo

Try running the demo! Install nethack:

sudo apt-get install nethack

Get this code:

go get github.com/jaguilar/vt100
cd $GOPATH/src/githib.com/jaguilar/vt100

Run this code:

go run demo/demo.go -port=8080 2>/tmp/error.txt

Play some nethack and check out the resulting VT100 terminal status:

# From another terminal . . .
xdg-open http://localhost:8080/debug/vt100

The demo probably assumes Linux (it uses pty-related syscalls). I'll happily accept pull requests that replicate the pty-spawning functions on OSX and Windows.