turbo-editors/turbo-corepublic Fork 0
v1.0.1
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-core.git
git clone ssh://git@rickub.com/turbo-editors/turbo-core.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

2026-09-09-monochrome-light.md · 34 lines · 3.2 KBmarkdown Blame HistoryRaw
🛟 Updated. 28d5985 k33g 13h ago1# Handoff — 2026-09-09 — three new themes, and the alias one of them needed
2
3## State
4
5Eleven themes ship: `monochrome-light`, `darcula` and `intellij-light` are new. `monochrome` is now `monochrome-dark`, `monochrome-light` is new, and the old name still loads through `retiredNames` in `theme/load.go`. All fifteen packages pass; the quality gate passes (run #20).
6
7Working tree uncommitted, here and in the four editors whose documentation was updated.
8
9## The one thing to know before releasing
10
11**The editors' documentation is ahead of their binaries.** All four pin turbo-core `v0.4.2``v0.4.3` is published and none of them has been bumped to it yet — and both ship eight themes; their `reference/themes.md`, `how-to/write-a-theme.md` and tutorials now describe eleven. The order out of that is:
12
131. Tag and publish turbo-core — this is new public behaviour (a theme, and a name-resolution rule), so it wants a **minor** bump. `v0.4.3` is already out, so that is **`v0.5.0`**.
142. Bump each editor's `go.mod` to it.
153. Re-run each editor's suite.
16
17Until step 2, `-list-themes` in a released editor still shows eight and the docs say eleven.
18
19## Next steps
20
211. Commit here and in turbo-go, turbo-rust, turbo-python and turbo-moonbit.
222. Release as above.
23
24## Open questions / blockers
25
26- **Nothing holds the documented theme list to the shipped one.** The count and the names are written out in twelve Markdown files across five repositories, and the only thing that noticed they were stale this time was a person adding a theme. A test in each editor that reads `theme.Available("")` and checks every name appears in its own `reference/themes.md` would be about twenty lines, and would have caught the pre-existing staleness in `theme/README.md` too — that file had been missing both Catppuccin themes since they were added.
27- **`TestTheReleaseScriptTagsAndPushesForReal` fails in this sandbox**, on a clean tree as well as a dirty one: the `git clone` it makes into a temp directory produces NUL-padded files, and `make check` in the clone then fails with `unexpected NUL in input`. It is environmental, not a regression — confirmed by stashing every change and re-running. It will need re-checking somewhere else before the release.
28
29## Watch out for
30
31- **The two JetBrains themes are "after", not faithful.** Three values moved for readability rules — both comments and Darcula's caret row — and each is marked in its file with the measurement and the next value that would have failed. Do not "restore" them to JetBrains' originals without also removing the rules; two of the mutation tests do exactly that restoration and both fail.
32- **`syntax.comment` is the binding constraint on any light theme**, not the eye. On `#eeeeee` a comment must be `#6c6c6c` or darker to clear 4.5:1, and `#6c6c6c` only makes it by 0.03. `#626262` was chosen for margin.
33- **A theme with only `fg` takes its `bg` from `default`** through the key hierarchy, which is why the syntax block sets no backgrounds and the contrast tests still see the page colour.
34- **The retired-name tests read the aliases back through `Load`, not from the map**, because the map is unexported — deliberately, so a caller cannot add one.