Phaze Glow
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) — .phaze fence 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 (with phaze.brightness interpolated
as an alpha hex byte and src/glow/chrome.css embedded) to a
sibling phaze-glow.js in 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 Glow after 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). |