Pure-logic tokenizer
A dependency-free C-family lexer produces tokens with positions for JavaScript, Rust, and JSON. No I/O in the core, so it is fully unit-testable.
Rust-powered analysis
An in-browser playground on the Monaco editor. Type code and a Rust backend tokenizes it live — metrics, diagnostics, and formatting.
Playground
About
Every keystroke settles for a moment, then the editor sends the buffer to a Rust service. A dependency-free, C-family tokenizer turns it into a token stream, and an analysis pass reports metrics and diagnostics with exact line and column positions.
The lexer is pure logic with no I/O, so it is fully testable in isolation. The HTTP layer is a thin wrapper around it, and a conservative formatter re-indents brace-delimited code on request.
Features
A dependency-free C-family lexer produces tokens with positions for JavaScript, Rust, and JSON. No I/O in the core, so it is fully unit-testable.
Keystrokes are debounced and sent to the backend; out-of-order responses are dropped with a monotonic request id so the readout never flickers backward.
Delimiter balance with mismatch and unclosed detection, unterminated strings and block comments, and TODO/FIXME markers, each with a line and column.
A conservative normalizer re-indents by net delimiter depth, ignoring brackets inside strings and comments and leaving multi-line literals untouched.
The engine behind VS Code, integrated via a client-only dynamic import with the theme wired to the site's light and dark modes.
Requests time out instead of hanging, and a clear banner appears when the analyzer is unreachable rather than silently showing stale data.