Crate console_traits

Source
Expand description

§Console Traits

Contains a trait which describes a console. A console is a rectangular monospaced text display, of a certain width and height. You can write Unicode text to it.

Currently we assume UNIX LF sematics - that is a sole LF implies a new line and carriage return (as distinct to Windows semantics where you would need to send a CRLF pair).

Implementors should handle the following Unicode characters specially:

  • 0x08 (BS) - Backspaces one character (and erases it)
  • 0x09 (TAB) - Move to next tab stop, or the end of the line if no tab stops left.
  • 0x0A (LF) - Line feed.
  • 0x0D (CR) - Carriage return.
  • 0x7F (DEL) - Ignored.

Structs§

Col
Describes a vertical column on the screen. Zero is on the left.
Position
Describes a place on the screen. (0, 0) is the top left.
Row
Identifies a horizontal row on the screen. Zero is at the top.

Enums§

ControlCharMode
How to handle Control Characters
EscapeCharMode
SpecialChar
Special types of character we need to interpret

Traits§

AsciiConsole
Refinement of BaseConsole which supports 8-bit characters. Use this is you are implementing an old-fashioned ASCII console (including extended ASCII, like Code Page 850, or ISO 8859-1).
BaseConsole
Abstraction for our console. We can move the cursor around and write text to it. You should use either UnicodeConsole or AsciiConsole depending on whether you want full Unicode support (&str, char, etc), or just 8-bit characters (&[u8] and u8).
UnicodeConsole
Refinement of BaseConsole which supports Unicode characters. Use this is you are implementing a modern console with Unicode support.