colors
every variant is 16 colors, the base16 slots base00 to base0F. rime gives each slot a color name, and every port, syntax role and shade is built from those names.
| name | slot | rime | glacier | aurora | abyss | frost |
|---|---|---|---|---|---|---|
bg | base00 | #23272e | #2a2f37 | #1c1f25 | #15171c | #eef1f5 |
bg_alt | base01 | #2b3038 | #323841 | #24282f | #1d2026 | #e3e7ee |
bg_sel | base02 | #3a404b | #414854 | #333842 | #2c3039 | #d2d8e2 |
comment | base03 | #6b768c | #737e94 | #6b768c | #6b768c | #7f899b |
muted | base04 | #9aa4b6 | #9aa4b6 | #9aa4b6 | #9aa4b6 | #566073 |
fg | base05 | #c3ccd9 | #c5cedd | #c8d2e2 | #c2cde0 | #363d4a |
fg_bright | base06 | #dce2eb | #dfe5ee | #e0e7f2 | #dde5f2 | #272d37 |
white | base07 | #f0f3f8 | #f3f6fa | #f5f8fc | #f2f6fc | #181c23 |
red | base08 | #d98a9c | #e07a90 | #ff6f91 | #e8879f | #b83d63 |
pink | base09 | #e8a8cc | #f2a7e0 | #ff8fe0 | #d4aaff | #a34396 |
yellow | base0A | #e4d098 | #e3dc9e | #e6f07c | #9cf0dc | #866405 |
green | base0B | #9ad8ac | #88d8a0 | #5ef0a6 | #6fd0a8 | #267b4f |
cyan | base0C | #7cc4d0 | #6fd0d8 | #38dce8 | #4fb4dc | #0f7480 |
blue | base0D | #7aa4e4 | #6eaaf0 | #4fa2ff | #6b9cf4 | #2e62c0 |
violet | base0E | #bb98d6 | #ae94f0 | #9b7dff | #937ff2 | #7650c4 |
steel | base0F | #7987a1 | #788bb0 | #7084b7 | #7182a8 | #5f7090 |
bg_dark | derived | #1d2026 | #22272d | #17191e | #111317 | #f7f8fa |
border | derived | #333842 | #3a404b | #2c3039 | #252830 | #dbe0e8 |
bg_dark and border are derived shades, blends of the color names. bg_dark is the chrome: sidebars and bars. it's darker than bg on the dark variants and lighter on rime frost, so hovers still show.
glacier has a lighter background (bg), and aurora and abyss darker ones. glacier's comment is a little lighter too, so comments stay readable on it.
neovim's on_colors gets the same names, plus more derived shades: colorcolumn, whitespace, search, the diff backgrounds diff_add, diff_change, diff_text and diff_delete, and the diagnostic backgrounds diag_error, diag_warn, diag_info, diag_hint and diag_ok. those extra shades are the plugin's own. bg_dark and border are the only shades the other ports use, and the plugin blends them the same way tools/build.py does, so they match in every port.
terminal colors
the dark variants give terminals these 16 colors:
| slot | color | slot | color |
|---|---|---|---|
| 0 black | selection gray (base02) |
8 bright black | comment gray (base03) |
| 1 red | rose | 9 bright red | lighter rose |
| 2 green | green | 10 bright green | lighter green |
| 3 yellow | yellow (pale aqua in abyss) | 11 bright yellow | lighter yellow |
| 4 blue | blue | 12 bright blue | lighter blue |
| 5 magenta | violet | 13 bright magenta | lighter violet |
| 6 cyan | cyan | 14 bright cyan | lighter cyan |
| 7 white | text (base05) |
15 bright white | base07 |
black is a visible dark gray rather than the background, so programs that print black text stay readable.
rime frost keeps black dark and white light, as most light terminal themes do: black is the text color (base05), white a readable gray (base03), bright black base04 and bright white a lighter gray. its bright accents are darker than the normal ones rather than lighter, so they stand out on the light background.
in your own code
- the css port has every name as a custom property, such as
--rime-blue. - in neovim,
require("rime").colors("glacier")returns them as a table. - the base16 port has the 16 slots for any base16 template.