CoMPhy Color Theme Collection



Two flagship dark themes based on Gruvbox, built for long coding sessions in Python, C, and LaTeX.
Acknowledgment
This theme collection is based on the excellent Gruvbox Theme by jdinhify. The Pop variant draws inspiration from the Cursor Dark Anysphere and Dracula palettes.
Theme Variants
CoMPhy Gruvbox Classic
Traditional Gruvbox dark with #1d2021 background. Warm, familiar palette optimized for readability with properly differentiated terminal bright colors and WCAG-aware comment contrast.
CoMPhy Gruvbox Pop
Pure black (#000000) background with a vibrant Dracula-inspired syntax palette. Designed for maximum visual impact and all-day comfort:
- Warm off-white foreground (
#e8e0d4) to reduce halation
- Hot pink functions, bright green strings, pale yellow keywords
- Purple/cyan type system, muted blue-gray comments
- Subtle line highlighting visible on pure black
Features
- Dedicated C/C++ syntax scopes (preprocessor, macros, structs, pointers, sizeof)
- Markdown heading hierarchy (H1-H6 warm-to-cool color gradient)
- Enhanced Shell scripting (pipes, redirects, heredocs, builtins)
- CSS/SCSS support (IDs, pseudo-classes, variables, units, !important)
- Python enhancements (docstrings, exceptions, logical operators)
- Regex highlighting (patterns, character classes, quantifiers, anchors)
- ~30 semantic token definitions including Python-specific tokens
- Comprehensive LaTeX support (math mode, citations, sections)
- UI polish: sticky scroll, breadcrumbs, notifications, diff editor, inlay hints
Installation
From VSCode Marketplace
- Open VSCode
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for "CoMPhy Color Theme Collection"
- Click Install
From Source (VSIX)
- Clone the repository:
git clone https://github.com/VatsalSy/comphy-vscode-theme.git
- Build the VSIX package:
./scripts/build.sh --package
- Open VSCode
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Click "Install from VSIX..."
- Select the generated
.vsix file from the repository root
Building from Source
Prerequisites
- Node.js (v14 or higher)
- npm (comes with Node.js)
Build Process
Clone the repository:
git clone https://github.com/VatsalSy/comphy-vscode-theme.git
cd comphy-vscode-theme
Run the build script:
./scripts/build.sh
This will:
- Check for required dependencies
- Generate theme JSON files from base configurations
- List all generated themes
To create a .vsix package for distribution:
./scripts/build.sh --package
This will additionally:
- Package the extension into a
.vsix file
- Display the package size and filename
Manual Build Steps
If you prefer to run the build steps manually:
Generate theme files:
npm run build
# or
node scripts/build-themes.js
Package the extension (requires VSCE):
npm install -g @vscode/vsce
npx @vscode/vsce package
Development
To test your changes locally:
- Open the project in VSCode
- Press
F5 to launch the Extension Development Host
- The extension will be loaded in a new VSCode window for testing
Color Palettes
Classic (Gruvbox)
- Background: #1d2021 (Dark0 Hard)
- Foreground: #ebdbb2 (Light1)
- Red: #fb4934, Green: #b8bb26, Yellow: #fabd2f
- Blue: #83a598, Purple: #d3869b, Aqua: #8ec07c, Orange: #fe8019
Pop (Dracula-inspired)
- Background: #000000, Foreground: #e8e0d4
- Functions: #ff79c6, Strings: #50fa7b, Keywords: #f1fa8c
- Numbers: #bd93f9, Types: #8be9fd, Comments: #7887ab, Operators: #ffb86c
Language Support
Enhanced syntax highlighting for:
- Python (including docstrings, exceptions, decorators, type annotations)
- C/C++ (preprocessor directives, macros, structs, pointers, sizeof)
- LaTeX/TeX (math mode, environments, citations, references, sections)
- JavaScript/TypeScript (classes, modules, interfaces, enums)
- Shell scripts (pipes, redirects, heredocs, builtins, command substitution)
- CSS/SCSS (IDs, pseudo-classes, variables, units, property values)
- Markdown (H1-H6 heading hierarchy, blockquotes, lists, code blocks)
- Regex (patterns, character classes, quantifiers, anchors)
- HTML/JSX, Go, Rust, JSON, YAML
Customization
To customize the theme, you can override settings in your settings.json:
{
"workbench.colorCustomizations": {
"[CoMPhy Gruvbox Classic]": {
// Add your customizations here
},
"[CoMPhy Gruvbox Pop]": {
// Add your customizations here
}
}
}
Changelog
For the complete changelog with detailed version history, see CHANGELOG.md.
Contributing
Feel free to open issues or submit pull requests on GitHub.
Color Palette Reference
For the full palettes and contrast guidelines, see docs/color-palette.md.
License
MIT License - see LICENSE file for details.
| |