Usage
vscode
.vscode/settings.json
{ "json.schemas": [ { "fileMatch": [ "mfile" ], "url": "https://schema.gesslar.dev/muddler/v1/mfile.json", }, { "fileMatch": [ "src/**/aliases.json" ], "url": "https://schema.gesslar.dev/muddler/v1/aliases.json", }, { "fileMatch": [ "src/**/keys.json" ], "url": "https://schema.gesslar.dev/muddler/v1/keys.json", }, { "fileMatch": [ "src/**/scripts.json" ], "url": "https://schema.gesslar.dev/muddler/v1/scripts.json", }, { "fileMatch": [ "src/**/timers.json" ], "url": "https://schema.gesslar.dev/muddler/v1/timers.json", }, { "fileMatch": [ "src/**/triggers.json" ], "url": "https://schema.gesslar.dev/muddler/v1/triggers.json", }, ]}intellij
Create or edit jsconfig.json or tsconfig.json in your project root:
{ "compilerOptions": { "moduleResolution": "node" }, "json.schemas": [ { "fileMatch": ["mfile"], "url": "https://schema.gesslar.dev/muddler/v1/mfile.json" }, { "fileMatch": ["src/**/aliases.json"], "url": "https://schema.gesslar.dev/muddler/v1/aliases.json" }, { "fileMatch": ["src/**/keys.json"], "url": "https://schema.gesslar.dev/muddler/v1/keys.json" }, { "fileMatch": ["src/**/scripts.json"], "url": "https://schema.gesslar.dev/muddler/v1/scripts.json" }, { "fileMatch": ["src/**/timers.json"], "url": "https://schema.gesslar.dev/muddler/v1/timers.json" }, { "fileMatch": ["src/**/triggers.json"], "url": "https://schema.gesslar.dev/muddler/v1/triggers.json" } ]}Alternatively, add a $schema property directly in your JSON files:
{ "$schema": "https://schema.gesslar.dev/muddler/v1/aliases.json", "aliases": [ // ... ]}sublime
Install LSP and LSP-json packages, then configure in LSP-json.sublime-settings:
{ "settings": { "json.schemas": [ { "fileMatch": ["**/mfile"], "url": "https://schema.gesslar.dev/muddler/v1/mfile.json" }, { "fileMatch": ["**/src/**/aliases.json"], "url": "https://schema.gesslar.dev/muddler/v1/aliases.json" }, { "fileMatch": ["**/src/**/keys.json"], "url": "https://schema.gesslar.dev/muddler/v1/keys.json" }, { "fileMatch": ["**/src/**/scripts.json"], "url": "https://schema.gesslar.dev/muddler/v1/scripts.json" }, { "fileMatch": ["**/src/**/timers.json"], "url": "https://schema.gesslar.dev/muddler/v1/timers.json" }, { "fileMatch": ["**/src/**/triggers.json"], "url": "https://schema.gesslar.dev/muddler/v1/triggers.json" } ] }}