v0.2.0
Highlights
satsuma fmt — Opinionated Zero-Config Formatter
One canonical style for all Satsuma files. No settings, no overrides — like gofmt or black.
- CLI:
satsuma fmt [path]with--check(CI mode),--diff, and--stdin - VS Code: Format Document (Shift+Alt+F) and format-on-save via the LSP
- CI enforcement:
satsuma fmt --check examples/runs on every PR
The formatter walks the tree-sitter CST, preserves all comments, and never changes semantics. Field columns are aligned, blank lines normalized, and spacing made consistent — automatically.
VS Code WASM Migration
The LSP server now uses web-tree-sitter (WASM) instead of native bindings, eliminating platform-specific build requirements. The extension works on any platform without compiling C.
VS Code Navigation Enhancements
- Arrow navigation — Ctrl+Click from arrow paths to source/target schema fields
- NL-ref navigation — Ctrl+Click from backtick references inside NL strings to their definitions
- TODO diagnostics —
//!and//?comments surface in the Problems panel - Underlined NL refs — backtick references get underline styling for visual distinction
All Changes
Formatter (satsuma fmt)
- Opinionated, zero-config formatter — one canonical style, no overrides
- CLI command with
--check,--diff,--stdinflags and exit codes 0/1/2 - VS Code
DocumentFormattingProviderusing the same sharedformat()function - Parser-backed CST walk preserving all comments and semantics
- Field column alignment with name/type/metadata caps (24/14 chars)
- Blank line normalization, comment spacing, trailing whitespace removal
- CI step:
satsuma fmt --check examples/on every PR - 81 formatter tests, 16/16 corpus files idempotent and structurally equivalent
VS Code Extension
- Migrated LSP server to web-tree-sitter (WASM) — no native binaries needed
- Arrow and NL-ref go-to-definition navigation
- TODO diagnostics for
//!and//?comments - Underlined backtick references in NL strings
- Fixed WASM runtime packaging in
.vsixartifacts
Site & Documentation
- GitHub Pages site with brand guide, CLI reference, VS Code feature tour, examples gallery
- Dynamic version templating and release notes links
- FAQ section and no-CLI getting-started guide
- Updated CLI docs, AI agent reference, and README for 17 commands
Infrastructure
- Versioned releases via manual
workflow_dispatch - Build artifacts auto-attached to tagged releases
- Shell injection fix in CI workflow inputs
.gitignorefor TypeScript build artifacts in src/ directories
Install
CLI (pick your platform):
# macOS (Apple Silicon)
npm install -g https://github.com/thorbenlouw/satsuma-lang/releases/download/v0.2.0/satsuma-cli-darwin-arm64.tgz
# Linux (x64)
npm install -g https://github.com/thorbenlouw/satsuma-lang/releases/download/v0.2.0/satsuma-cli-linux-x64.tgz
# Windows (x64)
npm install -g https://github.com/thorbenlouw/satsuma-lang/releases/download/v0.2.0/satsuma-cli-win32-x64.tgzVS Code Extension:
Download vscode-satsuma.vsix from the assets below and install:
code --install-extension vscode-satsuma.vsixFull Changelog: v0.1.0...v0.2.0