Crate console_traits[][src]

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.



Describes a vertical column on the screen. Zero is on the left.


Describes a place on the screen. (0, 0) is the top left.


Identifies a horizontal row on the screen. Zero is at the top.



How to handle Control Characters


Special types of character we need to interpret



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).


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).


Refinement of BaseConsole which supports Unicode characters. Use this is you are implementing a modern console with Unicode support.