jetbrains-theme-investigation
Investigates JetBrains IntelliJ Platform theme properties by searching source code. Use when user asks about UI theming, icon colors, tab spacing, component styling, or needs to find what properties are themeable vs hardcoded in IntelliJ-based IDEs.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
JetBrains Theme Investigation
Investigate theme properties in the IntelliJ Platform source code to determine what is themeable via JSON vs hardcoded in source.
Prerequisites
IntelliJ Platform source code must be available at:
../../JetBrains/intellij-community
(Relative to current project directory)
If not cloned yet:
cd ~/Projects/github.com/JetBrains
git clone https://github.com/JetBrains/intellij-community
Quick Investigation Workflow
-
Search theme metadata first (what properties exist):
grep -i "PropertyName" ../../JetBrains/intellij-community/platform/platform-resources/src/themes/metadata/*.json -
Check reference themes (how properties are used):
grep -r "PropertyName" ../../JetBrains/intellij-community/platform/platform-resources/src/themes/ --include="*.json" -
Search JBUI.java for programmatic color access:
grep -A3 "namedColor.*PropertyName" ../../JetBrains/intellij-community/platform/util/ui/src/com/intellij/util/ui/JBUI.java -
Search source for hardcoded values if not found above:
grep -rn "propertyName\|PROPERTY_NAME" ../../JetBrains/intellij-community/platform/platform-*/src --include="*.kt" --include="*.java"
Key Directories
| Path | Content |
|---|---|
platform/platform-resources/src/themes/metadata/ |
Available theme properties (IntelliJPlatform.themeMetadata.json, JDK.themeMetadata.json) |
platform/platform-resources/src/themes/ |
Reference themes (expUI, islands, darcula, HighContrast) |
platform/util/ui/src/com/intellij/util/ui/JBUI.java |
CurrentTheme methods mapping to JSON keys |
platform/icons/src/ |
SVG icons (check colors used) |
Detailed References
For specific subsystems, see:
- Icon colors: icon-colors.md - ColorPalette, stroke colors, named keys
- Tab system: tab-system.md - Tab gaps, insets, layouts
- Islands theme: islands-theme.md - Islands-specific properties
- Known limitations: limitations.md - What is NOT themeable
- Theme testing panel: theme-testing-panel.md - Dev-mode UI testing panel
Determining if Themeable
| Found In | Result |
|---|---|
| Theme metadata JSON | Themeable via JSON |
JBUI.java with namedColor/getInt |
Themeable via JSON |
| Source code with hardcoded values | NOT themeable (requires code change) |
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!