Home

package

  • ANSI
    • to_str
    • style
    • color
    • parse_raw_stdin
    • input_to_str
    • symbol_to_str
    • upper_to_str
    • lower_to_str
    • parse_cursor
    • update_cursor
    • draw_screen
    • draw_box
    • draw_v_line
    • draw_h_line
    • draw_cursor
    • draw_text
    • Escape
      • is_eq
      • to_hash
    • Symbol
      • is_eq
      • to_hash
    • Ctrl
      • is_eq
      • to_hash
    • Action
      • is_eq
      • to_hash
    • Arrow
      • is_eq
      • to_hash
    • Number
      • is_eq
      • to_hash
    • Letter
      • is_eq
      • to_hash
    • Input
      • is_eq
      • to_hash
    • ScreenSize
    • CursorPosition
    • Pixel
    • DrawFn
  • C16
    • is_eq
    • to_hash
    • name_to_code
    • to_c256
    • Name
      • is_eq
      • to_hash
  • C256
    • to_rgb
  • Color
    • is_eq
    • to_hash
    • to_code
  • Control
    • is_eq
    • to_hash
    • to_code
  • Layout
    • squared_border
    • rounded_border
    • pretty_border
    • default_row_spacing
    • default_spacing
    • data_to_rows
    • data_to_columns
    • trunc_or_pad
    • draw_row
    • auto_sizes
    • draw_grid
    • draw_table
    • LineFill
    • RowSpacing
    • GridSpacing
  • PieceTable
    • insert
    • length
    • delete
    • to_list
    • Span
    • Entry
  • Rgb
    • from_hex
  • Spacing
    • is_eq
    • to_hash
    • xw
    • yw
    • padding
    • apply
    • Side
      • is_eq
      • to_hash
  • Style
    • is_eq
    • to_hash
    • to_code
  • ANSI.to_str : Escape -> Str
  • ANSI.style : Str, List(Style) -> Str
  • ANSI.color : Str, { fg : Color, bg : Color } -> Str
  • ANSI.parse_raw_stdin : List(U8) -> Input
  • ANSI.input_to_str : Input -> Str
  • ANSI.symbol_to_str : Symbol -> Str
  • ANSI.upper_to_str : Letter -> Str
  • ANSI.lower_to_str : Letter -> Str
  • ANSI.parse_cursor : List(U8) -> CursorPosition
  • ANSI.update_cursor : { cursor : CursorPosition, screen : ScreenSize }, Arrow -> { cursor : CursorPosition, screen : ScreenSize }
  • ANSI.draw_screen : { cursor : CursorPosition, screen : ScreenSize }, List(DrawFn) -> Str
  • ANSI.draw_box : { r : U16, c : U16, w : U16, h : U16, fg : Color, bg : Color, char : Str, styles : List(Style) } -> DrawFn
  • ANSI.draw_v_line : { r : U16, c : U16, len : U16, fg : Color, bg : Color, char : Str, styles : List(Style) } -> DrawFn
  • ANSI.draw_h_line : { r : U16, c : U16, len : U16, fg : Color, bg : Color, char : Str, styles : List(Style) } -> DrawFn
  • ANSI.draw_cursor : { fg : Color, bg : Color, char : Str, styles : List(Style) } -> DrawFn
  • ANSI.draw_text : Str, { r : U16, c : U16, fg : Color, bg : Color, styles : List(Style) } -> DrawFn
  • ANSI.Escape := [Reset, Control(Control)]
  • ANSI.Escape.is_eq : _
  • ANSI.Escape.to_hash : _
  • ANSI.Symbol := [ExclamationMark, QuotationMark, NumberSign, DollarSign, PercentSign, Ampersand, Apostrophe, RoundOpenBracket, RoundCloseBracket, Asterisk, PlusSign, Comma, Hyphen, FullStop, ForwardSlash, Colon, SemiColon, LessThanSign, EqualsSign, GreaterThanSign, QuestionMark, AtSign, SquareOpenBracket, Backslash, SquareCloseBracket, Caret, Underscore, GraveAccent, CurlyOpenBrace, VerticalBar, CurlyCloseBrace, Tilde]
  • ANSI.Symbol.is_eq : _
  • ANSI.Symbol.to_hash : _
  • ANSI.Ctrl := [Space, A, B, C, D, E, F, G, H, I, J, K, L, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, BackSlash, SquareCloseBracket, Caret, Underscore]
  • ANSI.Ctrl.is_eq : _
  • ANSI.Ctrl.to_hash : _
  • ANSI.Action := [Escape, Enter, Space, Delete]
  • ANSI.Action.is_eq : _
  • ANSI.Action.to_hash : _
  • ANSI.Arrow := [Up, Down, Left, Right]
  • ANSI.Arrow.is_eq : _
  • ANSI.Arrow.to_hash : _
  • ANSI.Number := [N0, N1, N2, N3, N4, N5, N6, N7, N8, N9]
  • ANSI.Number.is_eq : _
  • ANSI.Number.to_hash : _
  • ANSI.Letter := [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]
  • ANSI.Letter.is_eq : _
  • ANSI.Letter.to_hash : _
  • ANSI.Input := [Ctrl(Ctrl), Action(Action), Arrow(Arrow), Symbol(Symbol), Number(Number), Upper(Letter), Lower(Letter), Unsupported(List(U8))]
  • ANSI.Input.is_eq : _
  • ANSI.Input.to_hash : _
  • ANSI.ScreenSize : { width : U16, height : U16 }
  • ANSI.CursorPosition : { row : U16, col : U16 }
  • ANSI.Pixel : { char : Str, fg : Color, bg : Color, styles : List(Style) }
  • ANSI.DrawFn : CursorPosition, CursorPosition -> Try(Pixel, { })
  • C16.is_eq : _
  • C16.to_hash : _
  • C16.name_to_code : Name -> U8
  • C16.to_c256 : C16 -> U8
  • C16.Name := [Black, Red, Green, Yellow, Blue, Magenta, Cyan, White]
  • C16.Name.is_eq : _
  • C16.Name.to_hash : _
  • C256.to_rgb : U8 -> (U8, U8, U8)
  • Color.is_eq : _
  • Color.to_hash : _
  • Color.to_code : Color, U8 -> List(U8)
  • Control.is_eq : _
  • Control.to_hash : _
  • Control.to_code : Control -> Str
  • Layout.squared_border : LineFill(LineFill(Str))
  • Layout.rounded_border : LineFill(LineFill(Str))
  • Layout.pretty_border : LineFill(LineFill(Str))
  • Layout.default_row_spacing : RowSpacing
  • Layout.default_spacing : GridSpacing
  • Layout.data_to_rows : List(a), (U64, U64) -> Try(List(List(a)), [OutOfBounds])
  • Layout.data_to_columns : List(a), (U64, U64) -> Try(List(List(a)), [OutOfBounds])
  • Layout.trunc_or_pad : Str, Str -> Str, U64 -> Str
  • Layout.draw_row : List(Str), List(U64), LineFill(Str), RowSpacing -> Str
  • Layout.auto_sizes : List(List(Str)) -> List(U64)
  • Layout.draw_grid : List(List(Str)), List(U64), LineFill(LineFill(Str)), GridSpacing -> Str
  • Layout.draw_table : List(List(Str)), List(U64), LineFill(LineFill(Str)) -> Str
  • Layout.LineFill : { start : a, base : a, sep : a, end : a }
  • Layout.RowSpacing : { mx : (U64, U64), px : (U64, U64) }
  • Layout.GridSpacing : { mx : (U64, U64), my : (U64, U64), px : (U64, U64), py : (U64, U64) }
  • PieceTable.insert : PieceTable(a), { values : List(a), index : U64 } -> PieceTable(a)
  • PieceTable.length : List(Entry) -> U64
  • PieceTable.delete : PieceTable(a), { index : U64 } -> PieceTable(a)
  • PieceTable.to_list : PieceTable(a) -> List(a)
  • PieceTable.Span : { start : U64, len : U64 }
  • PieceTable.Entry := [Add(Span), Original(Span)]
  • Rgb.from_hex : U32 -> (U8, U8, U8)
  • Spacing.is_eq : _
  • Spacing.to_hash : _
  • Spacing.xw : Str
  • Spacing.yw : Str
  • Spacing.padding : Side, U64 -> Spacing
  • Spacing.apply : Spacing -> Str -> Str
  • Spacing.Side := [Top, Right, Bottom, Left]
  • Spacing.Side.is_eq : _
  • Spacing.Side.to_hash : _
  • Style.is_eq : _
  • Style.to_hash : _
  • Style.to_code : Style -> List(U8)

Made by people who like to make nice things.