ANSI

Color : Color.Color

Escape

Ansi Escape Codes

to_str : Escape -> Str

style : Str, List Style -> Str

Add styles to a string

color : Str, { fg ? Color, bg ? Color } -> Str

Add color styles to a string and then resets to default

Input

parse_raw_stdin : List U8 -> Input

input_to_str : Input -> Str

symbol_to_str : Symbol -> Str

upper_to_str : Letter -> Str

lower_to_str : Letter -> Str

ScreenSize

CursorPosition

DrawFn

Pixel

parse_cursor : List U8 -> CursorPosition

update_cursor : { cursor : CursorPosition, screen : ScreenSize }a, [ Up, Down, Left, Right ] -> { cursor : CursorPosition, screen : ScreenSize }a

draw_screen : { cursor : CursorPosition, screen : ScreenSize }*, List DrawFn -> Str

Loop through each pixel in screen and build up a single string to write to stdout

draw_box : { r : U16, c : U16, w : U16, h : U16, fg ? Color, bg ? Color, char ? Str, styles ? List Style } -> DrawFn

draw_v_line : { r : U16, c : U16, len : U16, fg ? Color, bg ? Color, char ? Str, styles ? List Style } -> DrawFn

draw_h_line : { r : U16, c : U16, len : U16, fg ? Color, bg ? Color, char ? Str, styles ? List Style } -> DrawFn

draw_cursor : { fg ? Color, bg ? Color, char ? Str, styles ? List Style } -> DrawFn

draw_text : Str, { r : U16, c : U16, fg ? Color, bg ? Color, styles ? List Style } -> DrawFn