-
Notifications
You must be signed in to change notification settings - Fork 4
Add "Dracula Soft" #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughAdded a new "Dracula Soft" theme object to Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
themes/dracula.json (1)
1616-1640
: Minor consistency nit: hex formats vary across themesHere,
terminal.ansi.bright_white
uses 8-digit with a leading#
(#ffffffff
), while the earlier themes mixffffffff
(no#
) and#RRGGBB
. Zed accepts both, but keeping a single convention within the file improves readability and reduces churn in future diffs. No functional impact.If you want to standardize, I recommend
#RRGGBBAA
throughout for clarity.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
themes/dracula.json
(1 hunks)
🔇 Additional comments (1)
themes/dracula.json (1)
1227-1228
: Comma after the previous theme entry: LGTMGood catch adding the comma to separate array items before appending the new theme.
themes/dracula.json
Outdated
"tab.inactive_foreground": "#7b7f8bff", | ||
"tab.active_foreground": "#f6f6f4ff", | ||
"list.activeSelectionForeground": "#f6f6f4ff", | ||
"list.inactiveSelectionForeground": "#f6f6f4ff", | ||
"list.hoverForeground": "#f6f6f4ff", | ||
"search.match_background": "#44475a66", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Potentially unsupported VS Code-specific tokens included
The following keys look like VS Code theme tokens, not Zed’s: list.activeSelectionForeground
, list.inactiveSelectionForeground
, list.hoverForeground
. If they’re not in Zed’s schema, they’ll be silently ignored. Consider removing or mapping to closest Zed equivalents (e.g., list/panel/tab text tokens) once confirmed.
Run this quick check locally to catch foreign/camelCase list keys and verify against the schema:
If you’d like, I can provide a schema-validation script (Python + jsonschema) to validate the file against https://zed.dev/schema/themes/v0.2.0.json.
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# 1) Flag nested .style.style (should output nothing if fixed)
jq -r '.themes[] | select(.style.style != null) | .name' themes/dracula.json
# 2) Surface suspicious list.* keys (camelCase segments)
jq -r '
.themes[]
| {name, keys: (.style | to_entries | map(.key))}
| [ .keys[] | select(test("^list\\.")) ] as $listKeys
| select($listKeys|length>0)
| "\(.name):\n" + ( $listKeys[] )
' themes/dracula.json
Length of output: 330
Remove nested style.style
and unsupported list.*
tokens in your theme JSON
Your themes/dracula.json
still contains two issues that will cause Zed to ignore your color tokens:
• Nested .style.style
object
– Theme “Dracula Soft” defines a second-level style
block under .style.style
, so none of those nested tokens (including your tab.*
and list.*
entries) will be applied.
– Flatten the file by moving every key from .style.style
up into .style
, then remove the .style.style
object entirely.
• VS Code–specific list.*
tokens
– The keys
• list.activeSelectionForeground
• list.inactiveSelectionForeground
• list.hoverForeground
are not part of Zed’s v0.2.0 theme schema and will be silently ignored. Either remove them or map them to the closest Zed tokens (e.g., panel/tab text colors).
Problem locations:
- File:
themes/dracula.json
- At the “Dracula Soft” theme entry:
.style.style
object (nested under.style
)- Nested keys:
tab.inactive_foreground
,tab.active_foreground
,list.activeSelectionForeground
,list.inactiveSelectionForeground
,list.hoverForeground
, etc.
- At the “Dracula Soft” theme entry:
You can re-run your jq checks to verify:
# 1) Nested .style.style should return no names once fixed
jq -r '.themes[] | select(.style.style != null) | .name' themes/dracula.json
# 2) Should catch any remaining list.* keys under .style
jq -r '
.themes[]
| {name, keys: (.style | to_entries | map(.key))}
| [ .keys[] | select(test("^list\\.")) ] as $listKeys
| select($listKeys|length>0)
| "\(.name): " + ($listKeys | join(", "))
' themes/dracula.json
If you’d like a full schema-validation script against https://zed.dev/schema/themes/v0.2.0.json, let me know.
🤖 Prompt for AI Agents
themes/dracula.json around lines 1282-1287: The "Dracula Soft" theme contains a
nested .style.style object so its tokens (e.g., tab.inactive_foreground,
tab.active_foreground and the list.* entries) are ignored; flatten the theme by
moving every key from .style.style up into .style and then remove the
.style.style object entirely, and also remove or remap VS Code–specific list.*
keys (list.activeSelectionForeground, list.inactiveSelectionForeground,
list.hoverForeground) to the appropriate Zed v0.2.0 tokens (or delete them) so
the theme conforms to Zed’s schema.
Hey @danerwilliams 👋 Thanks for the PR. I'll take a look at this soon, just very busy at the moment. Sorry for not looking at this sooner. |
Ports "Dracula Soft" from the VS Code theme.
