|
|
|
@ -1,12 +1,20 @@
|
|
|
|
|
// Configures two JSON schemas, with references.
|
|
|
|
|
|
|
|
|
|
var id = "foo.json";
|
|
|
|
|
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",
|
|
|
|
|
fileMatch: [id],
|
|
|
|
|
uri: "http://myserver/foo-schema.json", // id of the first schema
|
|
|
|
|
fileMatch: [modelUri.toString()], // associate with our model
|
|
|
|
|
schema: {
|
|
|
|
|
type: "object",
|
|
|
|
|
properties: {
|
|
|
|
@ -14,13 +22,12 @@ monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
|
|
|
enum: ["v1", "v2"]
|
|
|
|
|
},
|
|
|
|
|
p2: {
|
|
|
|
|
$ref: "http://myserver/bar-schema.json"
|
|
|
|
|
$ref: "http://myserver/bar-schema.json" // reference the second schema
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}, {
|
|
|
|
|
uri: "http://myserver/bar-schema.json",
|
|
|
|
|
fileMatch: [id],
|
|
|
|
|
uri: "http://myserver/bar-schema.json", // id of the first schema
|
|
|
|
|
schema: {
|
|
|
|
|
type: "object",
|
|
|
|
|
properties: {
|
|
|
|
@ -32,16 +39,6 @@ monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var jsonCode = [
|
|
|
|
|
'{',
|
|
|
|
|
' "p1": "v3",',
|
|
|
|
|
' "p2": false',
|
|
|
|
|
"}"
|
|
|
|
|
].join('\n');
|
|
|
|
|
|
|
|
|
|
var model = monaco.editor.createModel(jsonCode, "json", id);
|
|
|
|
|
|
|
|
|
|
monaco.editor.create(document.getElementById("container"), {
|
|
|
|
|
model: model
|
|
|
|
|
});
|