mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 05:50:11 +01:00
42 lines
1 KiB
JavaScript
42 lines
1 KiB
JavaScript
// Configures two JSON schemas, with references.
|
|
|
|
var jsonCode = ['{', ' "p1": "v3",', ' "p2": false', '}'].join('\n');
|
|
var modelUri = monaco.Uri.parse('a://b/foo.json'); // a made up unique URI for our model
|
|
var model = monaco.editor.createModel(jsonCode, 'json', modelUri);
|
|
|
|
// configure the JSON language support with schemas and schema associations
|
|
monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
validate: true,
|
|
schemas: [
|
|
{
|
|
uri: 'http://myserver/foo-schema.json', // id of the first schema
|
|
fileMatch: [modelUri.toString()], // associate with our model
|
|
schema: {
|
|
type: 'object',
|
|
properties: {
|
|
p1: {
|
|
enum: ['v1', 'v2']
|
|
},
|
|
p2: {
|
|
$ref: 'http://myserver/bar-schema.json' // reference the second schema
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
uri: 'http://myserver/bar-schema.json', // id of the second schema
|
|
schema: {
|
|
type: 'object',
|
|
properties: {
|
|
q1: {
|
|
enum: ['x1', 'x2']
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
});
|
|
|
|
monaco.editor.create(document.getElementById('container'), {
|
|
model: model
|
|
});
|