terminal-go

module
v0.0.0-...-0ee40a1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2017 License: GPL-3.0

README

Terminal handling for Go

This repo contains packages allowing pseudo-graphical terminal control for xterms (perhaps similar to curses, except only targetting xterms and probably only 1% of its functionality).

Keyboard package

Provides simple keypress recognition, for example shift+enter or left arrow. Allows for UTF-8 rune input. Turns off screen echo.

Possible future TODO items:

  • investigate key up / key down events
  • maybe echo mode would help with readline?

Screen package

Buffered screen output, allowing full RGB foreground/background control on a character-by-character basis.

Possible future TODO items:

  • GUI / widget library

Other TODO items

  • readline

Directories

Path Synopsis
demo
boxchardemo
boxchardemo draws box characters on the screen, with a nice grid.
boxchardemo draws box characters on the screen, with a nice grid.
kbdemo
kbdemo prints details about keypresses.
kbdemo prints details about keypresses.
windemo
boxchardemo draws box characters on the screen, with a nice grid.
boxchardemo draws box characters on the screen, with a nice grid.
Package keyboard provides a channel for notifying the application of keypresses.
Package keyboard provides a channel for notifying the application of keypresses.
escSequence
escSequence is a tool that builds a radix tree for interpreting multi-key keypress sequences.
escSequence is a tool that builds a radix tree for interpreting multi-key keypress sequences.
kbraw
Package kbraw provides low-level keyboard access.
Package kbraw provides low-level keyboard access.
Package readline implements a readline(3)-style editable command line interface with programmable tab completion, history and syntax highlighting.
Package readline implements a readline(3)-style editable command line interface with programmable tab completion, history and syntax highlighting.
Package screen implements a buffer for managing a screen of content and handles only sending redraw commands for data that changes.
Package screen implements a buffer for managing a screen of content and handles only sending redraw commands for data that changes.
raw
Package raw implements raw output codes for the terminal.
Package raw implements raw output codes for the terminal.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL