Colour Palette
The complete palette, including ANSI terminal colours, lives in src/palette.json — the single source of truth the VS Code theme, its lighter variants, and everything below are generated from at build time.
Installation
Install straight from the Visual Studio Marketplace, or from inside the editor:
- Open the Extensions sidebar in VS Code —
View → Extensions
- Search for
Megadeth (curse you, rust-lang!!!)
- Click Install
Code → Preferences → Color Theme → Rust in Peace — or one of its lighter variants, Hangar 18 (a subtle lift) and Polaris (lighter still), or Dawn Patrol, the light theme
Companion themes
The VS Code theme isn't the only target. src/palette.json is the single source of truth, and matching themes for other tools are generated from it into ports/. Every target ships all four variants — core, Hangar 18, Polaris, and Dawn Patrol (light) — as separate files, except Zed, whose single file is a theme family carrying all four:
Copy the relevant file into your tool's theme directory, then select rust-in-peace (or a variant slug). Run just build-ports to regenerate them all after a palette change.
Herdr has no standalone theme files — its files are config fragments to merge into ~/.config/herdr/config.toml, recolouring the tokyo-night base theme (tokyo-night-day for Dawn Patrol).
To add another target, drop a generator in scripts/targets/ and register it in scripts/build_ports.py; it reuses the shared palette loader and resolver in scripts/palette.py.
Contributing
To work on the theme:
- Clone this repo and open it in VS Code
- Open
View → Run
- Click Launch Extension — this opens a second VS Code window
- Target scopes with the Developer: Inspect Editor Tokens and Scopes command
- Edit
src/rust-in-peace.yml and run npm run build; changes appear live in the window from step 3
Colours live in src/palette.json; src/rust-in-peace.yml maps them onto VS Code keys via {{group.key}} placeholders. Edit the palette to shift a colour everywhere at once.
Please include before & after screenshots of your changes in pull requests.
Maintainer & publishing notes
Recipes
Local tasks run through just — run just to list them all.
| Recipe |
Purpose |
just check |
Run the full code-quality suite (lint, types, tests + coverage, dead code, duplication, secrets) |
just build |
Regenerate the theme JSON from the YAML source |
just build-ports |
Regenerate the companion themes (Helix, Herdr, Zed, Zellij, Ptyxis) |
just install |
Build, package, and install the extension into local VS Code |
just publish-patch |
Bump the patch version, tag, and push to publish |
just publish-minor |
Bump the minor version, tag, and push to publish |
Manual publishing
just publish-patch / just publish-minor cover steps 1–5 below; run them by hand if you'd rather not use just.
- Bump the version in
package.json
git commit -m 'Fire' — commit the changes
git tag v2.0.666 — tag the commit with the version number
git push origin --tags — push the tag
git push — push the changes
- Create a release on GitHub with the same version number
- GitHub Actions publishes the extension to the marketplace
- Profit!