Usage
- VS Code
- IntelliJ IDEA / WebStorm
- Sublime Text
.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",
},
]
}
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": [
// ...
]
}
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"
}
]
}
}