Full editor support for the Cryo programming language (.cryo) in Visual Studio Code — syntax highlighting, 60+ code snippets, and intelligent editor features.
✨ Features
🎨 Syntax Highlighting
Complete, precise colorization of the entire Cryo language:
- Keywords:
fn,if,else,while,for,match,switch,struct,enum,trait,impl,pub,skill,schema,try/catch/finally,throw,spawn/await,unsafe/safe,const,new,import,library - Language Variables:
self,this - Types:
int,number,string,bool,void,map<K,V>,future<T>,T?(optionals),fn(T)->R(function types), and user-defined types (uppercase identifiers) - Numeric Literals: decimal, hexadecimal (
0xFF), binary (0b1010), octal (0o77), and underscore separators (1_000_000) - Strings: single and double quotes with escape sequences + string interpolation (
"total: ${x}") - Builtins (80+):
- I/O & Math:
print,input,assert,sqrt,pow,abs,min,max,clamp,sign,gcd,hypot - Collections:
len,has,keys,remove,push,sort,reverse,slice,index_of,concat,count,sum,enumerate,pairs,filter,reduce,find_first,any,all - Strings:
upper,lower,trim,contains,find,replace,substr,split,join,starts_with,ends_with,repeat,pad_start,pad_end - Filesystem & Process:
file_exists,is_dir,list_dir,make_dir,delete_file,file_size,write_file,read_file,env,exec,args,write_bytes - HTTP Server & Net:
http_listen,http_accept,http_respond,http_get,http_post,http_serve,sleep - Time & Random:
now_ms,monotonic_ms,random,random_int,seed - JSON & Serialization:
json_encode,json_decode
- I/O & Math:
- Pyro Runtime Builtins:
pyro_exec,pyro_env,pyro_args,pyro_time,pyro_write_file,pyro_open,pyro_exit - Foreign Blocks:
>C(...),>Go(...),>Node(...)with distinct delimiter colorization - Operators: arithmetic, bitwise, logical, null-coalesce (
??), ternary (? :), range (..,..=), fat arrow (=>), error propagation (?), unwrap (!), compound assignments (+=,<<=, etc.) - Declarations:
fn name(...) -> Type ={,struct,impl,trait,enum(simple + ADT),schema,skill,tool fn,match
✂️ Snippets (60+)
Comprehensive code snippets for every language construct, with smart tab-stops:
| Prefix | Description |
|---|---|
| Functions & Methods | |
fn |
Function declaration with return type |
fnv |
Void function declaration |
impl |
Struct method implementation block (impl StructName { ... }) |
trait |
Trait interface declaration (trait TraitName { ... }) |
implfor |
Trait implementation for a struct (impl Trait for Struct { ... }) |
vfn |
First-class function variable with lambda |
main |
Program template with header comment |
| Control Flow | |
if / ife / ifeif |
If, if-else, and if-else if-else chains |
while / dowhile |
While and do-while loops |
for / foreach |
Classic C-style and for-each loops |
forrange / forrangei |
Range loops: 0 .. n (exclusive) / 1 ..= n (inclusive) |
switch |
Switch / case / default block |
match / matchw |
Pattern matching with exhaustive arms / wildcard |
| Data Structures | |
struct / new |
Struct declaration and initialization |
enum |
Simple enum declaration |
enumd |
Algebraic data type: enum with attached data fields |
arr |
Array declaration |
map |
Map (dictionary) declaration |
| Lambdas & First-Class Functions | |
lambda |
Lambda / arrow function expression |
lambdab |
Lambda with block body and explicit return |
| Error Handling | |
try / tryf |
Try-catch and try-catch-finally blocks |
throw |
Throw an exception |
? |
Error propagation (unwrap Ok or early-return Err) |
unwrap |
Force-unwrap an optional (x!) |
?? |
Null-coalesce operator |
| Variables & Constants | |
vint / vnum / vstr / vbool |
Typed variable declarations |
vopt |
Optional (nullable) variable |
const |
Immutable constant declaration |
| I/O, Networking & Filesystem | |
print / printi |
Print and print with interpolation |
assert |
Assert with error message |
jsonenc / jsondec |
JSON encoding and decoding |
fileio |
Write and read files (write_file / read_file) |
writeb |
Write raw bytes to a file |
httpserver |
Native HTTP server accept loop (http_listen, http_accept, http_respond) |
httpget / httppost |
HTTP GET and POST requests |
sleep |
Sleep for N milliseconds |
| Foreign Blocks & Imports | |
fgo / fc / fnode |
Embedded Go, C, and Node.js foreign blocks |
import |
Enable a foreign language (import >Go<) |
importmod |
Import a Cryo module file (import "utils.cryo") |
library |
Import an external library |
| Security | |
unsafe / safe |
Safety instrumentation control blocks |
| LLM & Agents | |
schema / schemaof |
Schema declaration and compile-time JSON Schema |
skill / skills |
LLM skill declaration and introspection |
tool |
Tool function declaration for LLM agents |
llm |
LLM call with typed structured output |
agent / agentc |
Agent loop and configurable agent |
| Concurrency | |
spawn |
Spawn a concurrent task + await its result |
| Pyro Runtime | |
pexec / ptime / penv / pwrite |
Pyro machine access builtins |
🔧 Language Configuration
- Comment toggling:
Ctrl+/for//line comments,Ctrl+Shift+Afor/* */block comments - Auto-continuation: pressing Enter on a
//comment line auto-inserts// - Auto-closing: parentheses, brackets, braces, angle brackets (for generics), quotes
- Automatic indentation rules for blocks
- Bracket matching and region folding markers (
// #region/// #endregion)
📋 Release Notes & Documentation
See the complete online documentation for full tutorials, language spec, and code examples:
👉 https://victor-477.github.io/Cryo-Pyro-Documentation
🔗 Compatibility
- VS Code 1.75+
- Works with all standard color themes (uses standard TextMate scopes)
- Designed to complement the Burnout Compiler extension for compile-and-run integration