terminal_style/palettes

Source   Edit  

Immutable, reusable sets of standard and bright terminal colors.

Palettes are explicit values. Importing this module does not select a palette or change the existing color helpers. The curated RGB palettes are designed for true-color terminals and document the background against which their foreground colors were chosen.

import terminal_style/palettes

let colors = defaultDarkPalette
echo foreground(colors.red, "failed")
echo styled(initTerminalStyle(foreground = colors.blue), "information")

Types

TerminalPalette = object
  black*, red*, green*, yellow*: TerminalColor
  blue*, magenta*, cyan*, white*: TerminalColor
  brightBlack*, brightRed*, brightGreen*, brightYellow*: TerminalColor
  brightBlue*, brightMagenta*, brightCyan*, brightWhite*: TerminalColor
A coherent set of colors matching the standard and bright ANSI-16 vocabulary. Fields may contain standard, indexed, or RGB colors. Source   Edit  

Consts

ansiPalette = (black: (kind: tckAnsi16, index: 0'u, red: 0'u, green: 0'u,
                       blue: 0'u), red: (kind: tckAnsi16, index: 1'u, red: 0'u,
    green: 0'u, blue: 0'u), green: (kind: tckAnsi16, index: 2'u, red: 0'u,
                                    green: 0'u, blue: 0'u), yellow: (
    kind: tckAnsi16, index: 3'u, red: 0'u, green: 0'u, blue: 0'u), blue: (
    kind: tckAnsi16, index: 4'u, red: 0'u, green: 0'u, blue: 0'u), magenta: (
    kind: tckAnsi16, index: 5'u, red: 0'u, green: 0'u, blue: 0'u), cyan: (
    kind: tckAnsi16, index: 6'u, red: 0'u, green: 0'u, blue: 0'u), white: (
    kind: tckAnsi16, index: 7'u, red: 0'u, green: 0'u, blue: 0'u), brightBlack: (
    kind: tckAnsi16, index: 8'u, red: 0'u, green: 0'u, blue: 0'u), brightRed: (
    kind: tckAnsi16, index: 9'u, red: 0'u, green: 0'u, blue: 0'u), brightGreen: (
    kind: tckAnsi16, index: 10'u, red: 0'u, green: 0'u, blue: 0'u), brightYellow: (
    kind: tckAnsi16, index: 11'u, red: 0'u, green: 0'u, blue: 0'u), brightBlue: (
    kind: tckAnsi16, index: 12'u, red: 0'u, green: 0'u, blue: 0'u), brightMagenta: (
    kind: tckAnsi16, index: 13'u, red: 0'u, green: 0'u, blue: 0'u), brightCyan: (
    kind: tckAnsi16, index: 14'u, red: 0'u, green: 0'u, blue: 0'u), brightWhite: (
    kind: tckAnsi16, index: 15'u, red: 0'u, green: 0'u, blue: 0'u))
Compatibility palette backed by the terminal-controlled ANSI-16 colors. Source   Edit  
defaultDarkPalette = (black: (kind: tckRgb, index: 0'u, red: 16'u, green: 20'u,
                              blue: 24'u), red: (kind: tckRgb, index: 0'u,
    red: 239'u, green: 102'u, blue: 97'u), green: (kind: tckRgb, index: 0'u,
    red: 70'u, green: 178'u, blue: 80'u), yellow: (kind: tckRgb, index: 0'u,
    red: 185'u, green: 147'u, blue: 5'u), blue: (kind: tckRgb, index: 0'u,
    red: 86'u, green: 150'u, blue: 255'u), magenta: (kind: tckRgb, index: 0'u,
    red: 203'u, green: 111'u, blue: 209'u), cyan: (kind: tckRgb, index: 0'u,
    red: 1'u, green: 172'u, blue: 186'u), white: (kind: tckRgb, index: 0'u,
    red: 213'u, green: 221'u, blue: 229'u), brightBlack: (kind: tckRgb,
    index: 0'u, red: 116'u, green: 129'u, blue: 142'u), brightRed: (
    kind: tckRgb, index: 0'u, red: 255'u, green: 171'u, blue: 163'u), brightGreen: (
    kind: tckRgb, index: 0'u, red: 129'u, green: 221'u, blue: 133'u), brightYellow: (
    kind: tckRgb, index: 0'u, red: 234'u, green: 191'u, blue: 58'u), brightBlue: (
    kind: tckRgb, index: 0'u, red: 162'u, green: 197'u, blue: 255'u), brightMagenta: (
    kind: tckRgb, index: 0'u, red: 245'u, green: 161'u, blue: 249'u), brightCyan: (
    kind: tckRgb, index: 0'u, red: 0'u, green: 221'u, blue: 239'u), brightWhite: (
    kind: tckRgb, index: 0'u, red: 245'u, green: 247'u, blue: 250'u))
Exact RGB colors designed against a #101418 dark background. black is the reference background rather than a readable foreground color. Source   Edit  
defaultLightPalette = (black: (kind: tckRgb, index: 0'u, red: 24'u, green: 32'u,
                               blue: 40'u), red: (kind: tckRgb, index: 0'u,
    red: 124'u, green: 17'u, blue: 23'u), green: (kind: tckRgb, index: 0'u,
    red: 1'u, green: 82'u, blue: 17'u), yellow: (kind: tckRgb, index: 0'u,
    red: 82'u, green: 64'u, blue: 1'u), blue: (kind: tckRgb, index: 0'u,
    red: 11'u, green: 61'u, blue: 139'u), magenta: (kind: tckRgb, index: 0'u,
    red: 101'u, green: 30'u, blue: 106'u), cyan: (kind: tckRgb, index: 0'u,
    red: 2'u, green: 76'u, blue: 82'u), white: (kind: tckRgb, index: 0'u,
    red: 227'u, green: 232'u, blue: 237'u), brightBlack: (kind: tckRgb,
    index: 0'u, red: 77'u, green: 89'u, blue: 102'u), brightRed: (kind: tckRgb,
    index: 0'u, red: 172'u, green: 48'u, blue: 49'u), brightGreen: (
    kind: tckRgb, index: 0'u, red: 1'u, green: 121'u, blue: 30'u), brightYellow: (
    kind: tckRgb, index: 0'u, red: 122'u, green: 96'u, blue: 1'u), brightBlue: (
    kind: tckRgb, index: 0'u, red: 37'u, green: 94'u, blue: 188'u), brightMagenta: (
    kind: tckRgb, index: 0'u, red: 142'u, green: 59'u, blue: 148'u), brightCyan: (
    kind: tckRgb, index: 0'u, red: 2'u, green: 113'u, blue: 122'u), brightWhite: (
    kind: tckRgb, index: 0'u, red: 247'u, green: 248'u, blue: 250'u))
Exact RGB colors designed against a #F7F8FA light background. white and brightWhite are surface colors rather than readable foreground colors. Source   Edit  

Procs

proc initTerminalPalette(black: TerminalColor = colorBlack;
                         red: TerminalColor = colorRed;
                         green: TerminalColor = colorGreen;
                         yellow: TerminalColor = colorYellow;
                         blue: TerminalColor = colorBlue;
                         magenta: TerminalColor = colorMagenta;
                         cyan: TerminalColor = colorCyan;
                         white: TerminalColor = colorWhite;
                         brightBlack: TerminalColor = colorBrightBlack;
                         brightRed: TerminalColor = colorBrightRed;
                         brightGreen: TerminalColor = colorBrightGreen;
                         brightYellow: TerminalColor = colorBrightYellow;
                         brightBlue: TerminalColor = colorBrightBlue;
                         brightMagenta: TerminalColor = colorBrightMagenta;
                         brightCyan: TerminalColor = colorBrightCyan;
                         brightWhite: TerminalColor = colorBrightWhite): TerminalPalette {.
    ...raises: [], tags: [], forbids: [].}
Creates a palette, defaulting each omitted slot to its corresponding terminal-controlled ANSI-16 color. Source   Edit  

Exports

hexColor, termBrightCyan, colorBrightRed, rapidBlink, termDim, termNegative, ==, ansiReset, brightBlue, termBrightMagenta, ansiCode, bgBrightGreen, termBrightGreen, colorBrightWhite, termBgBrightWhite, hidden, onIndexed, style, background, termBgBrightRed, bgCyan, termBgBrightCyan, termBgBlue, termBlack, termConceal, termBrightBlue, bgBrightWhite, ansiCode, termBgCyan, brightWhite, termRapidBlink, termBold, termYellow, AnsiToken, bgBrightBlue, termBgWhite, bgBrightBlack, TerminalStyle, red, termMagenta, bold, brightMagenta, termOverline, TextAttribute, termBgBrightMagenta, termBgBrightYellow, brightGreen, colorBrightBlue, colorMagenta, AnsiTokenKind, termItalic, bgBrightRed, colorBrightGreen, colorGreen, termWhite, applyStyle, indexed, colorCyan, termReverse, termBlink, termGreen, bgBrightCyan, foreground, colorDefault, colorBrightBlack, magenta, cyan, ansiCode, termBgMagenta, colorYellow, termBlue, negative, blink, tokenizeAnsi, yellow, conceal, termUnderline, colorBrightCyan, brightBlack, blue, bgBrightYellow, brightCyan, composeAnsi, green, styled, italic, termHidden, bgGreen, reverse, colorBlack, termRed, overline, bgMagenta, termCyan, style, white, bgBlack, ansi16Color, ColorPlane, strikethrough, bgRed, termBgBrightBlack, termStrikethrough, colorBrightMagenta, initTerminalStyle, black, brightRed, termBgBrightBlue, bgYellow, ansiEscape, dim, underline, indexedColor, colorWhite, TerminalColor, colorRed, bgBlue, rgb, bgBrightMagenta, termBgBrightGreen, termBrightYellow, termBgBlack, termBgYellow, termBrightBlack, colorBlue, rgbColor, termBrightRed, onRgb, bgWhite, stripAnsi, brightYellow, colorBrightYellow, TerminalColorKind, termClear, termBrightWhite, termBgRed, termBgGreen