Akihiro Suda 5a1b06d7fd rerun vndr 8 vuotta sitten
..
winterm f2614f2107 project: use vndr for vendoring 8 vuotta sitten
LICENSE f2614f2107 project: use vndr for vendoring 8 vuotta sitten
README.md 5a1b06d7fd rerun vndr 8 vuotta sitten
constants.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
context.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
csi_entry_state.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
csi_param_state.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
escape_intermediate_state.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
escape_state.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
event_handler.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
ground_state.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
osc_string_state.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
parser.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
parser_action_helpers.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
parser_actions.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
states.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten
utilities.go f2614f2107 project: use vndr for vendoring 8 vuotta sitten

README.md

go-ansiterm

This is a cross platform Ansi Terminal Emulation library. It reads a stream of Ansi characters and produces the appropriate function calls. The results of the function calls are platform dependent.

For example the parser might receive "ESC, [, A" as a stream of three characters. This is the code for Cursor Up (http://www.vt100.net/docs/vt510-rm/CUU). The parser then calls the cursor up function (CUU()) on an event handler. The event handler determines what platform specific work must be done to cause the cursor to move up one position.

The parser (parser.go) is a partial implementation of this state machine (http://vt100.net/emu/vt500_parser.png). There are also two event handler implementations, one for tests (test_event_handler.go) to validate that the expected events are being produced and called, the other is a Windows implementation (winterm/win_event_handler.go).

See parser_test.go for examples exercising the state machine and generating appropriate function calls.