Skip to content
living-code-themePublic

Repository files navigation

Living Code [lc] mark

💘 Living Code for Crush

Calm slate. Living color.
Living Code for Crush: complete native palette files with UI surfaces, status colors, review diffs and all sixteen ANSI colors.

teal #00a692 mint #52d7c1 aqua #9ae0dd steel #80b6d3 moss #8acb83 amber #f0be6d copper #e18c5f flare #e96560 orchid #bf91cd rose #ddaec3

Living Code: 4 flavors GitHub stars Open issues Last commit

Installation · Flavors · Configuration · All ports

Previews

Night
Dark · full palette

Crush running Living Code Night
Frost
Dark · softer chroma

Crush running Living Code Frost
Paper
Light · near-white slate

Crush running Living Code Paper
Signal
Dark · teal accent

Crush running Living Code Signal

Select any preview to view the image at full size.

Installation

flavor=night # night, frost, paper, or signal
theme_dir="${CRUSH_GLOBAL_CONFIG:-${XDG_CONFIG_HOME:-$HOME/.config}/crush}/themes"
curl -fsSL --create-dirs -o "$theme_dir/living-code-$flavor.json" "https://raw.githubusercontent.com/living-code-theme/crush/main/themes/living-code-$flavor.json"

Open Crush, press Ctrl+P, choose Themes, and select living-code-night or the flavor you downloaded. CRUSH_GLOBAL_CONFIG is a directory, not a config filename; its themes/ subdirectory is used when set. On other platforms, place themes/ inside Crush’s global config directory. Existing config is not replaced.

Flavors

Expand a flavor for its full-size preview and activation instructions.

Night · Dark · full palette

Crush running Living Code Night

Choose living-code-night in Ctrl+P → Themes.

Frost · Dark · softer chroma

Crush running Living Code Frost

Choose living-code-frost in Ctrl+P → Themes.

Paper · Light · near-white slate

Crush running Living Code Paper

Choose living-code-paper in Ctrl+P → Themes.

Signal · Dark · teal accent

Crush running Living Code Signal

Choose living-code-signal in Ctrl+P → Themes.

Configuration

For a persistent config selection, merge the following into your existing Crush config:

{ "options": { "tui": { "active_theme": "living-code-night" } } }

The files specify every public Palette field and do not rely on an unrelated base theme. Diff code and gutter backgrounds have independent tints, and raw terminal output gets all sixteen Living Code ANSI colors.

Compatibility

Requires a Crush release supporting standalone JSON theme files and options.tui.active_theme. This API was verified against the source revision recorded in test/fixtures/upstream.json; older builds without custom themes need an update. The field contract is extracted from Crush’s own palette implementation. No custom providers or credentials are installed.

Syntax limitation: Crush derives Chroma styles from shared UI palette fields in internal/ui/styles/quickstyle.go, rather than accepting independent code roles. In particular, strings and punctuation share warningSubtle, while numbers use success. Neovim assigns those roles different colors, so a stock Crush palette cannot reproduce all its syntax mappings without breaking other roles. The current port supplies Living Code colors but does not claim exact Neovim syntax parity. Exact parity needs an upstream syntax-style API.

Previews are captured programmatically from the actual application in an isolated profile. See capture/app.py for the app-owned recipe and images/capture.json for runtime, palette and image provenance. No mock interface is drawn. The conversation is a labeled, repository-owned local demo, not a private session or a live model response. Recapturing needs no account, subscription or paid API call.

Contributing

Found a problem? Open an issue with the app version, the flavor and a screenshot. Want Living Code somewhere else? Request a port.

Pull requests are welcome. Keep this README, port.json and images/ in sync, and use real screenshots of the app, never mockups.

🦎 One chameleon, many habitats. Part of Living Code.

License

MIT license

© Elliot Luque

Releases

Packages

Used by

Contributors

Languages