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.

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

SpecialChar

Special types of character we need to interpret

Traits

Console

Abstraction for our console. We can move the cursor around and write text to it.