A fancy and sophisticated designer theme for lich, with due regards to aesthetics, contrast and readability. There is a light and dark variant.
This is a port of uloco/bluloco.nvim by Umut Topuzoğlu, itself a port of the Visual Studio Code themes Bluloco Light and Bluloco Dark.
Bluloco is Umut's work, and keeping it updated takes a lot of their time. If you like it, please consider supporting them directly:
| Theme | id |
scheme |
|---|---|---|
| Bluloco Dark | bluloco-dark |
dark |
| Bluloco Light | bluloco-light |
light |
lich installs a theme repository from its URL — nothing to download or copy by hand:
- Open lich and go to Settings → Appearance.
- Next to Theme, click Import.
- Paste
https://github.com/lichdotdev/bluloco-lichand click Install. - Pick Bluloco Dark or Bluloco Light in the theme picker. The terminal picker defaults to Match app theme, so one pick dresses the interface and the terminal panes alike.
Later releases are taken with Update on the theme's row.
An absolute path is an accepted remote, so a clone installs the same way:
git clone https://github.com/lichdotdev/bluloco-lich.gitThen paste the absolute path of the clone into Settings → Appearance → Import.
The app tokens take the colors upstream uses for the same roles in
lua/lush_theme/bluloco.lua;
the derived greys are upstream's shade/grey steps resolved to hex.
| Role | Dark | Light | Upstream |
|---|---|---|---|
background / foreground |
#282c34 / #abb2bf |
#f9f9f9 / #383a42 |
Normal |
sidebar, popover |
#21242d |
#ecedee |
bgFloat (NormalFloat, NvimTreeNormal) |
card |
#23272f |
#ececec |
the tab bar of the kitty port |
accent |
#354052 |
#d8e2e8 |
CursorLine (grey7) |
primary |
#3691ff |
#275fe4 |
tag blue |
ring |
#10b1fe |
#0099e1 |
keyword blue, kept off primary |
muted-foreground |
#8f9aae |
#676a77 |
terminal bright black — comment is too faint for 12px meta text |
destructive |
#ff2e3f |
#d52753 |
error / type red |
The terminal palette is the upstream kitty port verbatim, cursor and selection included.
tone-pass and tone-wait are what lich 0.53.0 reads for "passed" and "waiting
on you", set at 12px where WCAG asks 4.5:1. Where the palette value did not
clear that against the card, its lightness was moved and its hue kept.
| Variant | tone-pass |
tone-wait |
|---|---|---|
| Bluloco Dark | #3fc56b (method green) |
#f9c859 (string yellow) |
| Bluloco Light | #1d7b3d (method green, darkened) |
#b24d00 (warning orange, darkened) |
- Umut Topuzoğlu (uloco) — Bluloco, the original palette and bluloco.nvim. Buy them a coffee!
- omartelo — lich port
Each variant is one lich theme file — bluloco-dark.json, bluloco-light.json
— beside the lich-theme.json manifest that carries the pack's version. There is
no generator: colors are edited directly in the theme files.
- Fork the repo.
- Edit the relevant variant file.
- Validate the whole directory — a repository installs all or nothing:
node validate.mjs .(ships with the lichthemeskill). - Bump
versioninlich-theme.jsonin the same commit. An unbumped version ships nothing: Update compares only that number. - Open a PR.
LGPL-3.0, the same as bluloco.nvim.
