• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

winterm/H29-Sep-2017-

LICENSEH A D29-Sep-20171.1 KiB

README.mdH A D29-Sep-20171.3 KiB

constants.goH A D29-Sep-20176 KiB

context.goH A D29-Sep-2017104

csi_entry_state.goH A D29-Sep-20171.2 KiB

csi_param_state.goH A D29-Sep-2017854

escape_intermediate_state.goH A D29-Sep-2017921

escape_state.goH A D29-Sep-20171.1 KiB

event_handler.goH A D29-Sep-20171.2 KiB

ground_state.goH A D29-Sep-2017427

osc_string_state.goH A D29-Sep-2017620

parser.goH A D29-Sep-20173.4 KiB

parser_action_helpers.goH A D29-Sep-20171.8 KiB

parser_actions.goH A D29-Sep-20173 KiB

parser_test.goH A D29-Sep-20175.1 KiB

parser_test_helpers_test.goH A D29-Sep-20175.1 KiB

parser_test_utilities_test.goH A D29-Sep-20171.7 KiB

states.goH A D29-Sep-20171.3 KiB

test_event_handler_test.goH A D29-Sep-20173.9 KiB

utilities.goH A D29-Sep-2017274

README.md

1# go-ansiterm
2
3This 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.
4
5For 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.
6
7The 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).
8
9See parser_test.go for examples exercising the state machine and generating appropriate function calls.
10
11-----
12This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
13