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

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