extending-language-services-configure-json-defaults.html 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <!DOCTYPE html>
  2. <!-- THIS IS A GENERATED FILE VIA gulp generate-test-samples -->
  3. <html>
  4. <head>
  5. <base href="..">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  7. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  8. </head>
  9. <body>
  10. <style>
  11. /*----------------------------------------SAMPLE CSS START*/
  12. /*----------------------------------------SAMPLE CSS END*/
  13. </style>
  14. <a class="loading-opts" href="playground.generated/index.html">[&lt;&lt; BACK]</a> <br/>
  15. THIS IS A GENERATED FILE VIA gulp generate-test-samples
  16. <div id="bar" style="margin-bottom: 6px;"></div>
  17. <div style="clear:both"></div>
  18. <div id="outer-container" style="width:800px;height:450px;border: 1px solid grey">
  19. <!-- ----------------------------------------SAMPLE HTML START-->
  20. <div id="container" style="height:100%;"></div>
  21. <!-- ----------------------------------------SAMPLE HTML END-->
  22. </div>
  23. <div style="clear:both"></div>
  24. <script src="../metadata.js"></script>
  25. <script src="dev-setup.js"></script>
  26. <script>
  27. loadEditor(function() {
  28. /*----------------------------------------SAMPLE JS START*/
  29. // Configures two JSON schemas, with references.
  30. var jsonCode = [
  31. '{',
  32. ' "p1": "v3",',
  33. ' "p2": false',
  34. "}"
  35. ].join('\n');
  36. var modelUri = monaco.Uri.parse("a://b/foo.json"); // a made up unique URI for our model
  37. var model = monaco.editor.createModel(jsonCode, "json", modelUri);
  38. // configure the JSON language support with schemas and schema associations
  39. monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
  40. validate: true,
  41. schemas: [{
  42. uri: "http://myserver/foo-schema.json", // id of the first schema
  43. fileMatch: [modelUri.toString()], // associate with our model
  44. schema: {
  45. type: "object",
  46. properties: {
  47. p1: {
  48. enum: ["v1", "v2"]
  49. },
  50. p2: {
  51. $ref: "http://myserver/bar-schema.json" // reference the second schema
  52. }
  53. }
  54. }
  55. }, {
  56. uri: "http://myserver/bar-schema.json", // id of the first schema
  57. schema: {
  58. type: "object",
  59. properties: {
  60. q1: {
  61. enum: ["x1", "x2"]
  62. }
  63. }
  64. }
  65. }]
  66. });
  67. monaco.editor.create(document.getElementById("container"), {
  68. model: model
  69. });
  70. /*----------------------------------------SAMPLE JS END*/
  71. });
  72. </script>
  73. </body>
  74. </html>