Phaze-branded dark color theme with an optional text-shadow halo
runtime, driven by the phaze.brightness setting.
Theme
Pick it via Command Palette → Color Theme → Phaze Glow.
- Hot pink (
#ff00fb) —.phazefence markers, active tab. - Bright cyan (
#03e6ff) — git-modified, selection, list focus. - Mint/teal (
#09fbd3) — class names, HTML attributes. - Yellow (
#f5d300) — keywords, storage modifiers. - Neon green (
#00ff59) — git-added. - Coral red (
#ff5370) — invalid / errors. - Editor background
#1a1a1a, off-white foreground#eeffff.
Pair with Phaze
for .phaze language support so the fence-marker accents have tokens
to color.
Halo runtime
Phaze Glow ships with an opt-in workbench patcher that adds a
chromatic text-shadow to each accent color, tuned by the
phaze.brightness setting. Same pattern as Synthwave '84 / code-glow.
Enable
- Command Palette →
Phaze: Enable Glow. - VSCode will prompt to reload — accept.
- After reload, VSCode may show "Your installation appears corrupt" — this is expected (every workbench-patching extension triggers it). Pick "Don't show again" on that notification.
Adjust brightness
Set phaze.brightness in your settings (range 0.0–1.0, default
0.45). After changing it, re-run Phaze: Enable Glow to bake
the new value into the workbench script (brightness isn't
hot-reloaded — it's interpolated into the runtime template at
enable-time).
// settings.json
{
"phaze.brightness": 0.65 // brighter halo
}
Skip the per-token glow
Set phaze.disableGlow: true to keep only the editor-chrome glow
(cursor, gutter, bracket match) without the syntax text-shadow.
Useful if the syntax glow is too noisy at any brightness.
Disable
Command Palette → Phaze: Disable Glow, reload when prompted.
This strips the patch from workbench.html and removes the script
file from VSCode's install dir.
How the patcher works
Phaze: Enable Glow does three things:
- Locates VSCode's workbench HTML (handles version drift between
electron-browser/electron-sandbox×workbench.html/workbench.esm.html). - Writes
src/glow/template.js(withphaze.brightnessinterpolated as an alpha hex byte andsrc/glow/chrome.cssembedded) to a siblingphaze-glow.jsin the workbench dir. - Adds
<script src="phaze-glow.js"></script>to the workbench HTML inside<!-- PHAZE GLOW --> … <!-- /PHAZE GLOW -->marker comments.
At workbench-load time, that script runs a MutationObserver for the
.vscode-tokens-styles element, finds each color: #XXXXXX; rule
that matches a Phaze Glow palette color, and rewrites it to include
text-shadow at the configured brightness.
Trade-offs
The same trade-offs every workbench-patching extension carries:
- VSCode auto-updates clobber the patch — re-run
Phaze: Enable Glowafter each VSCode update. - Needs write access to VSCode's install dir. Fine for per-user installs on macOS; system installs may require relaunching VSCode with admin privileges.
- The "installation corrupt" banner appears once and is dismissable.
Install
code --install-extension madenowhere.phaze-glow
Or search "Phaze Glow" by publisher madenowhere in the Extensions view.
Files
| Path | Role |
|---|---|
package.json |
Extension manifest. Contributes the theme, two commands, and two configuration settings. |
themes/phaze-color-theme.json |
The Phaze Glow color theme. |
src/extension.js |
Extension entry — registers the two commands, resolves the workbench HTML, writes the runtime script. |
src/glow/template.js |
Runtime injected into the workbench DOM. Pattern-matches palette colors, adds text-shadow. |
src/glow/chrome.css |
Editor-chrome glow (cursor, gutter, line numbers, bracket match). |