❄️ Cryo Language — VS Code Extension (v1.1.0)
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
- 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+A for /* */ 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
| |