Phaze for VSCode
Language support for Phaze — .phaze files, the
DSL, and the JSX namespaces (use: / class: / bind: / phaze: / on:).
What you get
.phaze language support — file recognition, syntax highlighting for
the four named fences (---page, ---data, ---state, ---props)
plus the bare --- body-exit, with full TSX coloring inside the
fences via embedded source.tsx. Bracket matching, comment toggling
(⌘/), and snippet expansion all behave like .tsx.
- IntelliSense via the bundled language server —
phaze-language-tools
runs as an LSP child process. You get hover types, completion, go-to-
definition, find-references, and TypeScript diagnostics inside
.phaze files. @global declarations in src/app.phaze are
auto-imported wherever they're referenced — bare names just work.
- Snippet pack —
s / c / watch / watch&& / cblock /
sasync / strigger / is / not / phaze from the DSL;
interval / timeout / cleanup / abortSignal from the core API;
---state / ---props / ---page / ---data fence blocks; @global
reference and declaration forms; use: / class: / bind: JSX
namespaces. Works in .phaze, .tsx, and .jsx files.
Paired extensions
- Phaze Glow
— matching color theme with optional
text-shadow halo runtime.
Install both for the full Phaze visual identity. Either one works
standalone — Phaze (this extension) on any theme, Phaze Glow on any
source language.
Install
code --install-extension madenowhere.phaze-vscode
Or search "Phaze" by publisher madenowhere in the Extensions view.
Documentation
- phaze.build — primer, full API reference, the
per-package tooling stack, the
.phaze format reference, and the
@global auto-import model.
- GitHub source
— extension manifest, the embedded TextMate grammar, the snippet pack.
- Issues — bug reports
and feature requests.
Files in this extension
| File |
Role |
package.json |
Manifest. Contributes the phaze language ID + TextMate grammar, the snippet pack for .phaze / .tsx / .jsx, and the LSP-client activation. |
language-configuration.json |
Brackets, comments, auto-close pairs, indentation — mirrors .tsx. |
syntaxes/phaze.tmLanguage.json |
TextMate grammar — three rules: named fence (---<label>), bare fence (---), TSX-body include for everything else. |
snippets/phaze.code-snippets |
~25 snippet entries covering the DSL idioms, fence forms, and JSX namespaces. |
src/extension.js |
Activation entry — launches phaze-language-server via vscode-languageclient, resolves the workspace's TypeScript SDK, wires the LSP. |
| |