Add Cyberpunk Noir theme#163
Open
4nrry wants to merge 1 commit into
Open
Conversation
A neon theme with a deliberately coherent ANSI palette: every slot is the colour its name claims, and each bright is a hotter version of its normal rather than a different hue or a gray. Tools that pick colours by name (prompts, status lines, syntax highlighting) therefore stay legible instead of rendering an arbitrary hue. bright.black is held at roughly 5:1 against the background, since it is the slot most tools reach for when they want dim-but-readable text. Regenerating previews also picks up three soft_tactile_warp_* rows and a zenburn sort order that were missing from standard/README.md on main.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Discord username (optional)
4nrry
(Discord dropped the
#XXXXdiscriminator, so this is the full modern username.)Name of theme
Cyberpunk Noir (
standard/cyberpunk_noir.yaml)A neon theme built around one constraint: every ANSI slot is the colour its name claims, and each
brightis a hotter version of itsnormalrather than a different hue or a gray.That constraint is the reason the theme exists. Several existing neon/cyberpunk themes in this repo were auto-generated from Alacritty collections, and the conversion mapped tones onto ANSI slots by position rather than by hue, so the slot names no longer describe their colours. A few examples from the repo as it stands:
base16/base16_papercolor_dark.yaml:normal.blueis#ff5faf(pink),normal.cyanis#ffaf00(orange),bright.yellowis#5faf00(green).standard/cyberpunk-night_city.yamlandstandard/cyberpunk-v.yaml: the entirebrightrow is grayscale, e.g.bright.blue#b8b8b8,bright.magenta#e8e8e8.Anything that requests a colour by name (shell prompts, status lines, syntax highlighting) gets an arbitrary hue back on those themes. Cyberpunk Noir keeps the mapping honest so the neon actually lands where a tool asks for it.
One other deliberate choice:
bright.blackis a slate violet at roughly 5:1 contrast against the background, not a near-black. It is the slot most tools reach for when they want dim-but-readable text (comments, secondary metadata), and pushing it toward the background is what makes that text unreadable.How Has This Been Tested?
Yes, ran
python3 ./scripts/gen_theme_previews.py standardas directed.One thing worth flagging: regenerating the previews produced changes beyond my own row.
standard/README.mdonmainwas missing rows forsoft_tactile_warp_cream,soft_tactile_warp_darkandsoft_tactile_warp_light(the yaml and svg files are already committed, only the README rows were absent), and it hadzenburn_colorblind_high_contrastsorted beforezenburn_colorblind. The script's output corrects both. I left those in rather than hand-trimming the file, so that the committed README matches exactly what the script generates. Happy to strip them into a separate PR if you would rather keep this one to a single theme.No custom background image, so no licensing or binary-size concerns.
Notes
Every other preview SVG regenerated byte-identical, so the diff is limited to the new theme, its preview, and the README rows above.