fix: keyword.control and storage.modifier colors in 2026 Dark#315356
Open
albcantero wants to merge 2 commits into
Open
fix: keyword.control and storage.modifier colors in 2026 Dark#315356albcantero wants to merge 2 commits into
albcantero wants to merge 2 commits into
Conversation
2026 Dark sets `keyword` and `storage` to #ff7b72, but dark_modern.json (included via `include`) already defines more specific rules for `keyword.control` (#C586C0) and `storage.modifier` (#569CD6). More specific scopes win, so `return`, `if`, `else` render purple instead of red, and `async`, `private`, `readonly` render blue instead of red. This also causes a visual inconsistency: `return` (#C586C0) and function names like `getUser()` (#d2a8ff, set explicitly via `entity.name.function`) end up as two slightly different purples with no semantic reason to differ. Added explicit entries for `keyword.control` and `storage.modifier` in 2026-dark.json so they are no longer inherited from the base theme.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the built-in 2026 Dark theme’s TextMate token colors to ensure control keywords and storage modifiers render consistently with the theme’s intended red styling, rather than inheriting more-specific colors from the included dark_modern.json.
Changes:
- Add an explicit
keyword.controlrule in2026-dark.jsonto override the base theme’s purple control-keyword styling. - Add an explicit
storage.modifierrule in2026-dark.jsonto override the base theme’s blue modifier styling.
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.
Problem
2026-dark.jsonsetskeywordandstorageto#ff7b72, intending all keywords and storage types to render red. However,dark_modern.json(included via"include") defines more specific rules:keyword.control→#C586C0(purple)storage.modifier→#569CD6(blue)Since more specific scopes take precedence,
return,if,elserender purple instead of red, andasync,private,readonlyrender blue instead of red.This also causes a visual inconsistency:
return(#C586C0) and function names likegetUser()(#d2a8ff, set explicitly viaentity.name.function) end up as two slightly different purples with no semantic reason to differ.Fix
Added explicit
keyword.controlandstorage.modifierentries in2026-dark.jsonso they are no longer inherited from the base theme.Before / After
return,if,else#C586C0purple#ff7b72redasync,private,readonly#569CD6blue#ff7b72red