Types
Format = object
FormatFlag = enum ffBold = "bold", ffItalic = "italic", ffUnderline = "underline", ffReverse = "reverse", ffStrike = "strike", ffOverline = "overline", ffBlink = "blink"
FormatMode = set[FormatFlag]
SimpleFlexibleLine = object str*: string formats*: seq[SimpleFormatCell]
SimpleFormatCell = object format*: Format pos*: int
Procs
proc `[]`(grid: FixedGrid; i: BackwardsIndex): lent FixedCell {....raises: [], tags: [], forbids: [].}
proc findFormat(line: SimpleFlexibleLine; pos: int): SimpleFormatCell {. ...raises: [], tags: [], forbids: [].}
proc findFormatN(line: SimpleFlexibleLine; pos: int): int {....raises: [], tags: [], forbids: [].}
proc findNextFormat(line: SimpleFlexibleLine; pos: int): SimpleFormatCell {. ...raises: [], tags: [], forbids: [].}
proc initFormat(): Format {....raises: [], tags: [], forbids: [].}
proc initFormat(bgcolor, fgcolor: CellColor; flags: FormatMode): Format {. ...raises: [], tags: [], forbids: [].}
proc newFixedGrid(w, h: int): FixedGrid {....raises: [], tags: [], forbids: [].}
Templates
template excl(format: var Format; flag: FormatFlag)
template flags(format: Format): FormatMode
template flags=(format: var Format; flags: FormatMode)
template incl(format: var Format; flag: FormatFlag)