the source of truth
One palette.
Nothing else.
Every theme in the repo is generated from palette/bigface.json. 26 of these 33 colours are byte-for-byte from the 2018 JetBrains scheme — each one labelled with the exact OPTION#FIELD it came from, checked against the original XML by a test. The remaining 7 are blends the scheme has no equivalent for; they sit in their own block near the bottom instead of being mixed in.
// main.ts — colours, not a screenshot.import { greet } from "./hello"; type User = { id: number; name: string }; const ENDPOINT = "https://api.example.com/users"; export async function main(ids: number[]): Promise<void> { const res = await fetch(ENDPOINT); if (!res.ok) throw new Error(`users: ${res.status}`); const all: User[] = await res.json(); const picked = all.filter((u) => ids.includes(u.id)); picked.forEach((u) => greet(u.name));}Surfaces 6
Text 4
Accents 14
Search tints 2
Added for tools 7
The 2018 scheme has no equivalent for these 7 values, so they were blended by hand: a panel step and a deeper step around #252925, a muted ink, and four 8–10% tints of an accent over the background. They are the only colours in the repo that did not come out of Bigface.original.xml — everything above is byte-for-byte from it.
Terminal (ANSI) 16
Syntax roles 12
| Role | Colour | Hex |
|---|---|---|
| comment | comment | #75715e |
| keyword | blue | #00b0ff |
| function | lime | #c6ff00 |
| variable | green | #00c853 |
| string | yellow | #e5e500 |
| number | burntOrange | #fc5d23 |
| type | cyan | #66d9ef |
| operator | brightYellow | #ffeb3b |
| punctuation | fg | #d9d9d4 |
| constant | purple | #ae81ff |
| tag | lightBlue | #40c4ff |
| parameter | paleBlue | #b3e5fc |
Contrast
Informational only. The colours are kept as designed, so a few roles (fgDim,comment) sit below the WCAG 4.5:1 body-text guideline by intent.
| Colour | Hex | Ratio on background | WCAG |
|---|---|---|---|
| fg | #d9d9d4 | 10.4 : 1 | AAA |
| fgMuted | #9c9a8f | 5.2 : 1 | AA |
| fgDim | #6e6b68 | 2.8 : 1 | below 3 |
| comment | #75715e | 3.0 : 1 | large text |
| blue | #00b0ff | 6.1 : 1 | AA |
| skyBlue | #81d4fa | 8.9 : 1 | AAA |
| lightBlue | #40c4ff | 7.4 : 1 | AAA |
| paleBlue | #b3e5fc | 10.9 : 1 | AAA |
| cyan | #66d9ef | 9.0 : 1 | AAA |
| green | #00c853 | 6.6 : 1 | AA |
| limeGreen | #8bc34a | 7.0 : 1 | AAA |
| lime | #c6ff00 | 12.4 : 1 | AAA |
| yellow | #e5e500 | 10.9 : 1 | AAA |
| brightYellow | #ffeb3b | 12.1 : 1 | AAA |
| orange | #ff9800 | 6.8 : 1 | AA |
| burntOrange | #fc5d23 | 4.7 : 1 | AA |
| pink | #f52670 | 3.8 : 1 | large text |
| purple | #ae81ff | 5.2 : 1 | AA |
| ansi.black | #494848 | 1.6 : 1 | below 3 |
| ansi.red | #f44336 | 4.0 : 1 | large text |
| ansi.green | #8bc34a | 7.0 : 1 | AAA |
| ansi.yellow | #ffeb3b | 12.1 : 1 | AAA |
| ansi.blue | #81d4fa | 8.9 : 1 | AAA |
| ansi.magenta | #e91e63 | 3.4 : 1 | large text |
| ansi.cyan | #00bcd4 | 6.4 : 1 | AA |
| ansi.white | #9e9e9e | 5.5 : 1 | AA |
| ansi.brightBlack | #6e6b68 | 2.8 : 1 | below 3 |
| ansi.brightRed | #ff0000 | 3.7 : 1 | large text |
| ansi.brightGreen | #00ff00 | 10.8 : 1 | AAA |
| ansi.brightYellow | #ccff90 | 12.8 : 1 | AAA |
| ansi.brightBlue | #40c4ff | 7.4 : 1 | AAA |
| ansi.brightMagenta | #7e57c2 | 2.8 : 1 | below 3 |
| ansi.brightCyan | #00ffff | 11.8 : 1 | AAA |
| ansi.brightWhite | #ffffff | 14.8 : 1 | AAA |
Raw file:palette/bigface.json ·generator targets · Click any swatch to copy its hex.