Burnout Compiler — VS Code Extension
Burnout compiler tools inside the editor: compile and run the Cryo language on any backend (Go, Pyro, Node.js, C, x86-64), audit, disassemble bytecode, and inspect tokens/AST — without leaving VS Code.
📚 Official Documentation & Examples
Visit the complete interactive documentation, language specification, and code examples at:
👉 https://victor-477.github.io/Cryo-Pyro-Documentation
Commands
Available in the Command Palette (Ctrl+Shift+P), the context menu of .cryo files, and the Explorer:
| Command |
What it does |
| Burnout: Compile and run |
Compiles on the default backend and executes (Ctrl+Alt+R) |
| Burnout: Compile (choose backend) |
QuickPick menu with options: Go / Pyro / Node.js / C / x86-64 |
| Burnout: Compile to Pyro (bytecode) and run |
--backend pyro --run |
| Burnout: Compile to Go and run |
--backend go --run |
| Burnout: Compile to Node.js and run |
--backend node --run |
| Burnout: Compile to C |
--backend c |
| Burnout: Compile to x86-64 (asm) |
--backend asm |
| Burnout: Security Audit |
--audit (security scan report displayed in Burnout panel) |
| Burnout: Disassemble bytecode (--dis) |
Readable listing disassembly of the generated .pyro file |
| Burnout: Show AST / tokens |
Inspection of frontend AST and token stream |
Diagnostics & Language Server
- Inline Error Squiggles: Lexical, syntax, type, and code generation errors appear as red squiggly lines at the correct line/column.
- Language Server Protocol (LSP): Integrated stdlib LSP server (
burnout/lsp.py) providing hover information, diagnostics on type, and symbol outline.
Tasks (tasks.json)
There is a burnout task provider. Example:
{
"version" : "1.0.0",
"tasks": [
{
"type": "burnout",
"file": "cryo/examples/example_bytecode.cryo",
"backend": "pyro",
"run": true,
"problemMatcher": "$burnout",
"label": "Cryo: run example"
}
]
}
Settings
| Setting |
Default |
Description |
burnout.pythonPath |
python |
Python executable used to invoke the compiler. |
burnout.compilerEntry |
(empty) |
Path to burnout/cryoc.py. Empty = searches the workspace; otherwise uses python -m burnout. |
burnout.defaultBackend |
go |
Default backend for "Compile and run" (go, pyro, node, c, asm). |
burnout.safeMode |
true |
Safe mode; uncheck to compile with --unsafe. |
burnout.lsp.enabled |
true |
Enables the Cryo Language Server (hover, diagnostics, outline). |
How the compiler is located: if burnout.compilerEntry is empty, the extension searches for burnout/cryoc.py (or Burnout/cryoc.py) in the workspace folders; if not found, it falls back to python -m burnout — which works when the package is installed (pip install -e . in the burnout folder).
Combine with the Cryo Lang extension (syntax highlighting/snippets for .cryo) and Pyro Bytecode (disassembly for .pyro).