Developer tools for authoring Repeat After Death data files, with schema-driven validation, lightweight linting, and rarity/tag visual cues across YAML, JSON, and .thatsrad files.
What it does
Validates .thatsrad files against the bundled root schema via the Red Hat YAML extension contribution.
Runs custom linting that surfaces YAML parse errors and enforces required pack and type keys at the document root.
Highlights rarities (Common, Uncommon, Rare, Legendary) and tags (Movement, Money, Time, Echo, Defensive, Character, Biome, Revive) with color-coded text decorations in YAML/JSON/JSONC/.thatsrad files.
Recognizes .thatsrad as YAML for language services and formatting.
Project layout
schemas/: JSON Schemas used for validation, with root schema mapped to .thatsrad files.
src/extension.ts: Activation, decoration logic, and .thatsrad diagnostic wiring.
src/lint/index.ts: Custom lint rule set (YAML parse errors plus pack/type requirements).
Usage
Install the extension (Red Hat YAML installs automatically as a dependency).
Open any .thatsrad (or YAML/JSON) data file; schema validation and lint diagnostics appear inline.
Watch rarity and tag values highlight automatically while editing.
Requirements
VS Code 1.107.0 or later.
Red Hat YAML extension (auto-installed via dependency).
Development
Install dependencies: npm install
Build once: npm run compile
Watch mode: npm run watch
Lint: npm run lint
Tests: npm test
Launch an Extension Development Host from VS Code to debug.
Release notes
0.0.1
Initial toolkit: schema-backed .thatsrad validation, basic YAML linting, rarity/tag highlighting, and language association for custom file types.