Documentation ¶
Index ¶
- Constants
- Variables
- func EraseLine(out FileWriter, mode EraseLineMode) error
- func NewAnsiStderr(out FileWriter) io.Writer
- func NewAnsiStdout(out FileWriter) io.Writer
- func StringWidth(str string) int
- type BufferedReader
- type Coord
- type Cursor
- func (c *Cursor) Back(n int) error
- func (c *Cursor) Down(n int) error
- func (c *Cursor) Forward(n int) error
- func (c *Cursor) Hide() error
- func (c *Cursor) HorizontalAbsolute(x int) error
- func (c *Cursor) Location(buf *bytes.Buffer) (*Coord, error)
- func (c *Cursor) MoveNextLine(cur *Coord, terminalSize *Coord) error
- func (c *Cursor) NextLine(n int) error
- func (c *Cursor) PreviousLine(n int) error
- func (c *Cursor) Restore() error
- func (c *Cursor) Save() error
- func (c *Cursor) Show() error
- func (c *Cursor) Size(buf *bytes.Buffer) (*Coord, error)
- func (c *Cursor) Up(n int) error
- type EraseLineMode
- type FileReader
- type FileWriter
- type OnRuneFn
- type RuneReader
- func (rr *RuneReader) Buffer() *bytes.Buffer
- func (rr *RuneReader) ReadLine(mask rune, onRunes ...OnRuneFn) ([]rune, error)
- func (rr *RuneReader) ReadLineWithDefault(mask rune, d []rune, onRunes ...OnRuneFn) ([]rune, error)
- func (rr *RuneReader) ReadRune() (rune, int, error)
- func (rr *RuneReader) RestoreTermMode() error
- func (rr *RuneReader) SetTermMode() error
- type Short
- type Stdio
- type Writer
Constants ¶
View Source
const ( EVENT_KEY = 0x0001 // key codes for arrow keys // https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx VK_DELETE = 0x2E VK_END = 0x23 VK_HOME = 0x24 VK_LEFT = 0x25 VK_UP = 0x26 VK_RIGHT = 0x27 VK_DOWN = 0x28 RIGHT_CTRL_PRESSED = 0x0004 LEFT_CTRL_PRESSED = 0x0008 ENABLE_ECHO_INPUT uint32 = 0x0004 ENABLE_LINE_INPUT uint32 = 0x0002 ENABLE_PROCESSED_INPUT uint32 = 0x0001 )
View Source
const ( KeyArrowLeft = '\x02' KeyArrowRight = '\x06' KeyArrowUp = '\x10' KeyArrowDown = '\x0e' KeySpace = ' ' KeyEnter = '\r' KeyBackspace = '\b' KeyDelete = '\x7f' KeyInterrupt = '\x03' KeyEndTransmission = '\x04' KeyEscape = '\x1b' KeyDeleteWord = '\x17' // Ctrl+W KeyDeleteLine = '\x18' // Ctrl+X SpecialKeyHome = '\x01' SpecialKeyEnd = '\x11' SpecialKeyDelete = '\x12' IgnoreKey = '\000' KeyTab = '\t' )
Variables ¶
View Source
var ( //lint:ignore ST1012 keeping old name for backwards compatibility InterruptErr = errors.New("interrupt") )
Functions ¶
func EraseLine ¶
func EraseLine(out FileWriter, mode EraseLineMode) error
func NewAnsiStderr ¶
func NewAnsiStderr(out FileWriter) io.Writer
func NewAnsiStdout ¶
func NewAnsiStdout(out FileWriter) io.Writer
func StringWidth ¶
StringWidth returns the visible width of a string when printed to the terminal
Types ¶
type BufferedReader ¶
type Cursor ¶
type Cursor struct { In FileReader Out FileWriter }
func (*Cursor) HorizontalAbsolute ¶
func (*Cursor) MoveNextLine ¶
for comparability purposes between windows in windows we don't have to print out a new line
func (*Cursor) PreviousLine ¶
type EraseLineMode ¶
type EraseLineMode int
const ( ERASE_LINE_END EraseLineMode = iota ERASE_LINE_START ERASE_LINE_ALL )
type FileReader ¶
FileReader provides a minimal interface for Stdout.
type FileWriter ¶
FileWriter provides a minimal interface for Stdin.
type RuneReader ¶
type RuneReader struct {
// contains filtered or unexported fields
}
func NewRuneReader ¶
func NewRuneReader(stdio Stdio) *RuneReader
func (*RuneReader) Buffer ¶
func (rr *RuneReader) Buffer() *bytes.Buffer
func (*RuneReader) ReadLine ¶
func (rr *RuneReader) ReadLine(mask rune, onRunes ...OnRuneFn) ([]rune, error)
func (*RuneReader) ReadLineWithDefault ¶
func (*RuneReader) RestoreTermMode ¶
func (rr *RuneReader) RestoreTermMode() error
func (*RuneReader) SetTermMode ¶
func (rr *RuneReader) SetTermMode() error
type Stdio ¶
type Stdio struct { In FileReader Out FileWriter Err io.Writer }
Stdio is the standard input/output the terminal reads/writes with.
Click to show internal directories.
Click to hide internal directories.