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