package text import ( "fmt" ) // Cursor helps move the cursor on the console in multiple directions. type Cursor rune const ( // CursorDown helps move the Cursor Down X lines CursorDown Cursor = 'B' // CursorLeft helps move the Cursor Left X characters CursorLeft Cursor = 'D' // CursorRight helps move the Cursor Right X characters CursorRight Cursor = 'C' // CursorUp helps move the Cursor Up X lines CursorUp Cursor = 'A' // EraseLine helps erase all characters to the Right of the Cursor in the // current line EraseLine Cursor = 'K' ) // Sprint prints the Escape Sequence to move the Cursor once. func (c Cursor) Sprint() string { return fmt.Sprintf("%s%c", EscapeStart, c) } // Sprintn prints the Escape Sequence to move the Cursor "n" times. func (c Cursor) Sprintn(n int) string { if c == EraseLine { return c.Sprint() } return fmt.Sprintf("%s%d%c", EscapeStart, n, c) }