Vipr Theme
The companion color theme and file icon theme for the
Vipr VS Code extension
and
Vipr desktop app.
Nine color variants. One icon theme. Free.
Why Vipr Theme?
Built from the same design system that powers the Vipr desktop app and Vipr VS Code extension, this theme gives your editor the same visual language you see across the entire Vipr toolkit.
- Built for TypeScript and React. Semantic token scopes tuned for
.ts, .tsx, JSX tags, interfaces, enums, decorators, and CSS — not just generic syntax groups.
- Nine color variants. Dark, light, high contrast, warm, cool, minimal, and violet-tinted options. Whatever your environment or mood, there's a Vipr variant for it.
- File icons included. 100+ icon definitions covering 100+ file extensions, 110+ config file names, 50 language IDs, and 65 folder names. No second extension needed.
- Semantic highlighting enabled. Goes beyond TextMate scopes. VS Code's language server drives the coloring, so types, parameters, and constants each get their own treatment.
- Generated from a typed token system. Every color traces back to a named design token. No magic hex values, no drift between variants.
Table of Contents
Variants
| Theme |
Mode |
Description |
| Vipr Dark |
vs-dark |
Flagship dark theme. Cool blue-gray backgrounds with violet accents. |
| Vipr Light |
vs |
Clean white background with saturated token colors for bright environments. |
| Vipr Dark High Contrast |
hc-black |
Pure black background, AAA contrast ratios, visible borders on every widget. |
| Vipr Light High Contrast |
hc-light |
White background with maximum contrast. Meets WCAG AAA requirements. |
| Vipr Dark Warm |
vs-dark |
Warm brown/amber undertones. Cream-tinted foreground for cozy evening sessions. |
| Vipr Dark Cool |
vs-dark |
Blue/teal-shifted backgrounds. Crisper foregrounds for a clean, futuristic feel. |
| Vipr Minimal |
vs-dark |
Monochromatic. Near-zero accent color. Borders replaced by background layering. |
| Vipr Dark Violet |
vs-dark |
Subtle violet-tinted backgrounds. The entire IDE glows with a cohesive violet wash. |
| Vipr Light Violet |
vs |
Soft lavender backgrounds instead of clinical white. The light counterpart to Dark Violet. |
| Vipr Icons |
Icon theme |
100+ file type icons with tech brand SVGs and color-coded categories. |
Previews
Vipr Dark — Flagship dark theme with violet accents
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Use Ctrl/Cmd+K Ctrl/Cmd+T and select Vipr Dark to preview.
Vipr Light — Clean light theme with saturated tokens
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Use Ctrl/Cmd+K Ctrl/Cmd+T and select Vipr Light to preview.
Vipr Dark High Contrast — Accessible dark variant (AAA)
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Vipr Light High Contrast — Accessible light variant (AAA)
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Vipr Dark Warm — Cozy warm-shifted dark theme
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Brown/amber undertones with cream-tinted foreground. Designed for evening coding sessions.
Vipr Dark Cool — Blue/teal-shifted futuristic dark theme
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Blue-shifted backgrounds with crisper foregrounds. Clean and focused.
Vipr Minimal — Maximum focus mode
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Monochromatic, near-zero accents. Borders replaced by background layering for distraction-free coding.
Vipr Dark Violet — Violet-washed dark theme
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Subtle violet-tinted backgrounds throughout the IDE that complement the violet syntax accents.
Vipr Light Violet — Soft lavender light theme
Screenshot placeholder — replace with a .tsx file screenshot before publishing.
Warm lavender backgrounds instead of clinical white. The light-mode counterpart to Dark Violet.
Vipr Icons — File icon theme
Screenshot placeholder — replace with a file explorer screenshot showing icons before publishing.
Installation
From the Marketplace
- Open VS Code
- Press
Ctrl+P / Cmd+P to open Quick Open
- Paste:
ext install vipr.vipr-vscode-theme
- Press Enter
Or search for "Vipr Theme" in the Extensions sidebar.
From VSIX
code --install-extension vipr-vscode-theme-0.1.0.vsix
Or use the command palette: Extensions: Install from VSIX...
Activating
- Color theme:
Ctrl/Cmd+K Ctrl/Cmd+T and select any Vipr variant
- Icon theme: Open the command palette > Preferences: File Icon Theme > Vipr Icons
Language Support
Vipr Theme provides optimized syntax highlighting for the following languages, with semantic token support where VS Code's language server provides it:
| Language |
TextMate Scopes |
Semantic Tokens |
Notes |
| TypeScript |
Yes |
Yes |
Full coverage: types, interfaces, enums, generics, decorators |
| TypeScript React (TSX) |
Yes |
Yes |
JSX tags, attributes, component names |
| JavaScript |
Yes |
Yes |
Functions, classes, variables, constants |
| JavaScript React (JSX) |
Yes |
Yes |
JSX tags and attributes |
| CSS / SCSS / SASS |
Yes |
-- |
Selectors, properties, values, units |
| HTML |
Yes |
-- |
Tags, attributes, embedded content |
| Markdown |
Yes |
-- |
Headings, bold, italic, code blocks, links, lists |
| JSON / JSONC |
Yes |
-- |
Key/value distinction, nested objects |
| YAML |
Yes |
-- |
Keys, scalars, sequences |
| TOML |
Yes |
-- |
Keys, strings, numbers |
| GraphQL |
Yes |
-- |
Types, fields, directives |
| Shell / Bash |
Yes |
-- |
Keywords, variables, strings |
| Python |
Yes |
Yes |
Classes, functions, decorators, parameters |
| Rust |
Yes |
Yes |
Types, lifetimes, macros |
| Go |
Yes |
Yes |
Types, functions, packages |
| C / C++ |
Yes |
Yes |
Types, functions, preprocessor |
| C# |
Yes |
Yes |
Classes, interfaces, properties |
| Java / Kotlin |
Yes |
Yes |
Classes, methods, annotations |
| Ruby |
Yes |
Yes |
Classes, methods, blocks |
| PHP |
Yes |
Yes |
Classes, functions, namespaces |
| Swift |
Yes |
Yes |
Types, protocols, optionals |
| Dart |
Yes |
Yes |
Classes, mixins, extensions |
| Vue / Svelte / Astro |
Yes |
-- |
Component files with framework-specific scopes |
| SQL |
Yes |
-- |
Keywords, functions, identifiers |
| Regular Expressions |
Yes |
-- |
Character classes, quantifiers, assertions |
Features
Semantic Highlighting
All nine color themes ship with semanticHighlighting: true. When VS Code's language server is active, you get precise coloring for:
- Types vs. interfaces vs. enums — each gets a distinct shade
- Functions vs. methods — async variants are italicized
- Constants vs. mutable variables — constants use warm yellow
- Readonly properties — styled distinctly from mutable properties
- Decorators — highlighted in yellow for visibility
- Abstract classes — italicized to distinguish from concrete classes
- Deprecated symbols — struck through automatically
- Declaration sites — parameter declarations are italicized
Terminal Colors
All 16 ANSI colors are mapped in every variant. Terminal output stays legible whether you're reading test results, git diffs, or log streams. Each variant's terminal palette harmonizes with its editor colors.
Bracket Pair Colorization
Six distinct bracket colors cycle through violet, sky, yellow, green, red, and light violet — so deeply nested JSX and TypeScript generics stay parseable at a glance. Active bracket pair guides are highlighted, inactive guides stay subtle.
Diff and Merge Views
Insertions, deletions, and merge conflict regions use dedicated background tints calibrated to be visible without overwhelming the content. Gutter indicators and overview ruler colors are included.
Inlay Hints
Type and parameter inlay hints are styled to be noticeably muted relative to real code — they're annotations, not code. Type hints and parameter hints each have their own subtle color treatment.
Chat and AI Panel
Inline chat, slash commands, and AI panel elements are themed to blend naturally with the editor while remaining distinct.
Editor, sidebar, panel, and peek view sticky scroll headers use a frosted-glass appearance that blends with the underlying surface.
Accessibility
Both high contrast variants go beyond the basics:
- Visible
contrastBorder on every widget, panel, and input
- Text contrast pushed to AAA (7:1) ratios against the editor background
- Focus indicators are amplified for keyboard navigation
- Built for developers who need it, not as an afterthought
File Icon Theme
100+ icons covering a wide range of file types, frameworks, and tools:
| Category |
File Types |
| TypeScript / JavaScript |
.ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts |
| Styles |
.css, .scss, .sass, .less |
| Markup |
.html, .md, .mdx |
| Data |
.json, .jsonc, .yaml, .yml, .toml, .xml, .sql, .graphql |
| Images |
.png, .jpg, .jpeg, .gif, .webp, .svg, .ico |
| Web Frameworks |
.vue, .svelte, .astro + config files for Next.js, Nuxt, Angular, Gatsby, SolidJS, Qwik |
| Languages |
C, C++, C#, Java, Kotlin, Swift, Dart, Ruby, PHP, Python, Rust, Go, Scala, Elixir, Haskell, and more |
| Config / Tooling |
Vite, ESLint, Tailwind, PostCSS, Babel, Webpack, Rollup, Jest, Cypress, Storybook, Terraform |
| Infrastructure |
Dockerfile, Kubernetes, Nginx, Ansible |
| Databases |
PostgreSQL, MongoDB, Redis, SQLite, MySQL |
| Lock files |
package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lockb, Gemfile.lock, go.sum, mix.lock |
| Environment |
.env, .env.local, .env.production, .env.example |
| Shell |
.sh, .bash, .zsh, .fish |
| Special files |
Dockerfile, README.md, LICENSE, CHANGELOG.md, CONTRIBUTING.md, Makefile, Taskfile |
| Folders |
65 named folders: src, components, hooks, api, .github, node_modules, and more |
Recommended Font Setup
Vipr Theme works with any monospace font. For the best experience with ligatures, we recommend:
Add to your VS Code settings (Ctrl/Cmd+,):
{
"editor.fontFamily": "JetBrains Mono, Fira Code, Cascadia Code, monospace",
"editor.fontLigatures": true,
"editor.fontSize": 14
}
Customization
Override theme colors
You can fine-tune any color in your VS Code settings.json:
{
"workbench.colorCustomizations": {
"[Vipr Dark]": {
"editor.background": "#0a0c12",
"statusBar.background": "#1c1357"
}
}
}
Override token colors
{
"editor.tokenColorCustomizations": {
"[Vipr Dark]": {
"comments": "#636e7b",
"textMateRules": [
{
"scope": "keyword",
"settings": {
"foreground": "#b7acff"
}
}
]
}
}
}
Override semantic token colors
{
"editor.semanticTokenColorCustomizations": {
"[Vipr Dark]": {
"rules": {
"type": "#7bc8ff",
"interface": "#a0d7ff"
}
}
}
}
Part of the Vipr Ecosystem
Vipr Theme is free and always will be. It pairs naturally with the rest of the Vipr toolkit:
- Vipr VS Code Extension — Inline code quality diagnostics, complexity CodeLens, and a project health dashboard for TypeScript and React. Free tier included.
- Vipr Desktop App — Deep static analysis, file-level metrics, and historical snapshots for React and TypeScript projects.
You don't need either to use this theme. But if you care about code quality, they're worth a look.
Visit vipr.dev to learn more.
Contributing
Theme files are generated from TypeScript token definitions — not hand-authored. See THEMING.md (in this package) for the full architecture, variant matrix, and how to add new variants.
git clone https://github.com/glorioustephan/vipr.git
cd vipr
pnpm install
pnpm --filter vipr-vscode-theme build
The palette in src/tokens.ts is the single source of truth. To preview changes, press F5 in the clients/vscode-theme/ folder to launch the Extension Development Host, then select any Vipr variant with Cmd+K Cmd+T.
To package and install locally:
pnpm --filter vipr-vscode-theme package
code --install-extension clients/vscode-theme/vipr-vscode-theme-*.vsix
Found a bug? Contact us.
License
MIT © Vipr
| |