Skip to content

feat/vscode parity fixes#5

Open
Niki2k1 wants to merge 10 commits into
Codextor:mainfrom
Niki2k1:feat/vscode-parity-fixes
Open

feat/vscode parity fixes#5
Niki2k1 wants to merge 10 commits into
Codextor:mainfrom
Niki2k1:feat/vscode-parity-fixes

Conversation

@Niki2k1
Copy link
Copy Markdown

@Niki2k1 Niki2k1 commented May 20, 2026

Hey, I worked with claude and the vscode extension vsc-material-but-i-wont-sue-you to further improve the material theme for zed so its more aligned to the vscode version.

I though maybe the community can benefit from my changes.

Let me know what you think.

Niki2k1 and others added 10 commits March 24, 2026 12:04
Add 16 new syntax scopes (type, variable, property, boolean, operator,
constant, enum, and more) across all 12 theme variants to bring Zed's
syntax highlighting in line with the VS Code material theme. Also fix
string.escape to use foreground color instead of green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
In VS Code, property access (e.g. client.value, response.attributes)
uses the foreground color, while only property declarations use red.
Zed's property scope covers both, so foreground is the better match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Populate the players array with gold, orchid, and blue colors to match
VS Code's default bracket pair colorization (editorBracketHighlight).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bracket colors in Zed are controlled by the accents array, not players.
Set accents to gold, orchid, and blue to match VS Code defaults. Revert
players back to empty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Zed's TypeScript grammar uses @keyword.declaration for const, let, var,
function, class, etc. Map this to purple to match VS Code's storage
scope, while regular keywords (if, return, try) stay cyan + italic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Warning diagnostic blocks/popovers showed white message text on a
translucent yellow background, since "warning.background" was null and
Zed fell back to the translucent "warning" color as the fill.

Give warnings an explicit faint background tint, a defined border, and
a fully opaque foreground color so message text stays readable while
the warning still reads as yellow. Applied to all 12 variants.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The "players" array was empty and "search.match_background" was null in
every variant, so text selection and search matches fell back to barely
visible Zed defaults.

Define players[0] with an on-brand selection color per variant (teal,
green, blue, or gray to match each theme) plus a bright gold cursor, and
give search matches a distinct gold highlight so they stand out from a
normal selection. Applied to all 12 variants.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Zed uses players[0] for "self" UI accents such as selected toggle
buttons and the active-branch chip in the git picker. The fill was the
theme's light accent color, leaving the light label text (#EEFFFF)
unreadable on top.

Set players[0].background to a medium-dark shade of each theme's accent
(teal/green/blue/gray) so label text keeps ~4.8:1+ contrast. Selection
and cursor colors are unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Zed renders a selected ToggleButton with ButtonStyle::Tinted, which
resolves its background to info.background, its border to info.border,
and its label to colors().text. Both info.background and info.border
were null, so Zed fell back to its default vivid blue and the light
text label sat on it unreadably (e.g. the "Branches"/"Stash" toggle and
the active-branch chip in the git branch picker).

Give info an opaque foreground, a faint tinted background, and a
defined border across all 12 variants, mirroring the earlier warning
fix. Selected toggle buttons now show a subtle tint with a visible
border and readable label text.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mirror the warning/info fix for the remaining TintColor variants. Zed's
ButtonStyle::Tinted resolves error/success buttons to error.background
and success.background, both of which were null (success was undefined
entirely), so those tinted buttons fell back to Zed defaults.

Give error an opaque foreground, a faint tinted background, and a
defined border, and seed success with each theme's green (the darker
#91B859 for the light Lighter variants). Applied to all 12 variants.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant