modern-monaco 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1157,7 +1157,7 @@ function format2(documentText, range, options) {
1157
1157
  return format(documentText, range, options);
1158
1158
  }
1159
1159
 
1160
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/objects.js
1160
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/objects.js
1161
1161
  function equals(one, other) {
1162
1162
  if (one === other) {
1163
1163
  return true;
@@ -1222,7 +1222,7 @@ function isObject(val) {
1222
1222
  return typeof val === "object" && val !== null && !Array.isArray(val);
1223
1223
  }
1224
1224
 
1225
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/strings.js
1225
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/strings.js
1226
1226
  function startsWith(haystack, needle) {
1227
1227
  if (haystack.length < needle.length) {
1228
1228
  return false;
@@ -2679,7 +2679,7 @@ function getWellformedEdit(textEdit) {
2679
2679
  return textEdit;
2680
2680
  }
2681
2681
 
2682
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/jsonLanguageTypes.js
2682
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/jsonLanguageTypes.js
2683
2683
  var ErrorCode;
2684
2684
  (function(ErrorCode2) {
2685
2685
  ErrorCode2[ErrorCode2["Undefined"] = 0] = "Undefined";
@@ -3113,7 +3113,7 @@ function format3(template, values) {
3113
3113
  return template.replace(_format2Regexp, (match, group) => values[group] ?? match);
3114
3114
  }
3115
3115
 
3116
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/parser/jsonParser.js
3116
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/parser/jsonParser.js
3117
3117
  var formats = {
3118
3118
  "color-hex": { errorMessage: t("Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA."), pattern: /^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/ },
3119
3119
  "date-time": { errorMessage: t("String is not a RFC3339 date-time."), pattern: /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i },
@@ -4353,7 +4353,7 @@ function parse3(textDocument, config) {
4353
4353
  return new JSONDocument(_root, problems, commentRanges);
4354
4354
  }
4355
4355
 
4356
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/json.js
4356
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/json.js
4357
4357
  function stringifyObject(obj, indent, stringifyLiteral) {
4358
4358
  if (obj !== null && typeof obj === "object") {
4359
4359
  const newIndent = indent + " ";
@@ -4392,7 +4392,7 @@ function stringifyObject(obj, indent, stringifyLiteral) {
4392
4392
  return stringifyLiteral(obj);
4393
4393
  }
4394
4394
 
4395
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonCompletion.js
4395
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonCompletion.js
4396
4396
  var valueCommitCharacters = [",", "}", "]"];
4397
4397
  var propertyCommitCharacters = [":"];
4398
4398
  var JSONCompletion = class {
@@ -4629,6 +4629,11 @@ var JSONCompletion = class {
4629
4629
  propertyNameCompletionItem(schemaPropertyNames.enum[i], enumDescription, enumDetails, enumSortText);
4630
4630
  }
4631
4631
  }
4632
+ if (schemaPropertyNames.examples) {
4633
+ for (let i = 0; i < schemaPropertyNames.examples.length; i++) {
4634
+ propertyNameCompletionItem(schemaPropertyNames.examples[i], void 0, void 0, void 0);
4635
+ }
4636
+ }
4632
4637
  if (schemaPropertyNames.const) {
4633
4638
  propertyNameCompletionItem(schemaPropertyNames.const, void 0, schemaPropertyNames.completionDetail, schemaPropertyNames.suggestSortText);
4634
4639
  }
@@ -5321,7 +5326,7 @@ var JSONCompletion = class {
5321
5326
  }
5322
5327
  };
5323
5328
 
5324
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonHover.js
5329
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonHover.js
5325
5330
  var JSONHover = class {
5326
5331
  constructor(schemaService, contributions = [], promiseConstructor) {
5327
5332
  this.schemaService = schemaService;
@@ -5361,58 +5366,54 @@ var JSONHover = class {
5361
5366
  }
5362
5367
  }
5363
5368
  return this.schemaService.getSchemaForResource(document.uri, doc).then((schema) => {
5364
- if (schema && node) {
5365
- const matchingSchemas = doc.getMatchingSchemas(schema.schema, node.offset);
5366
- let title = void 0;
5367
- let markdownDescription = void 0;
5368
- let markdownEnumValueDescription = void 0, enumValue = void 0;
5369
- matchingSchemas.every((s) => {
5370
- if (s.node === node && !s.inverted && s.schema) {
5371
- title = title || s.schema.title;
5372
- markdownDescription = markdownDescription || s.schema.markdownDescription || toMarkdown(s.schema.description);
5373
- if (s.schema.enum) {
5374
- const idx = s.schema.enum.indexOf(getNodeValue3(node));
5375
- if (s.schema.markdownEnumDescriptions) {
5376
- markdownEnumValueDescription = s.schema.markdownEnumDescriptions[idx];
5377
- } else if (s.schema.enumDescriptions) {
5378
- markdownEnumValueDescription = toMarkdown(s.schema.enumDescriptions[idx]);
5379
- }
5380
- if (markdownEnumValueDescription) {
5381
- enumValue = s.schema.enum[idx];
5382
- if (typeof enumValue !== "string") {
5383
- enumValue = JSON.stringify(enumValue);
5384
- }
5385
- }
5369
+ if (!schema) {
5370
+ return null;
5371
+ }
5372
+ let title = void 0;
5373
+ let markdownDescription = void 0;
5374
+ let markdownEnumValueDescription = void 0, enumValue = void 0;
5375
+ const matchingSchemas = doc.getMatchingSchemas(schema.schema, node.offset).filter((s) => s.node === node && !s.inverted).map((s) => s.schema);
5376
+ for (const schema2 of matchingSchemas) {
5377
+ title = title || schema2.title;
5378
+ markdownDescription = markdownDescription || schema2.markdownDescription || toMarkdown(schema2.description);
5379
+ if (schema2.enum) {
5380
+ const idx = schema2.enum.indexOf(getNodeValue3(node));
5381
+ if (schema2.markdownEnumDescriptions) {
5382
+ markdownEnumValueDescription = schema2.markdownEnumDescriptions[idx];
5383
+ } else if (schema2.enumDescriptions) {
5384
+ markdownEnumValueDescription = toMarkdown(schema2.enumDescriptions[idx]);
5385
+ }
5386
+ if (markdownEnumValueDescription) {
5387
+ enumValue = schema2.enum[idx];
5388
+ if (typeof enumValue !== "string") {
5389
+ enumValue = JSON.stringify(enumValue);
5386
5390
  }
5387
5391
  }
5388
- return true;
5389
- });
5390
- let result = "";
5391
- if (title) {
5392
- result = toMarkdown(title);
5393
5392
  }
5394
- if (markdownDescription) {
5395
- if (result.length > 0) {
5396
- result += "\n\n";
5397
- }
5398
- result += markdownDescription;
5393
+ }
5394
+ let result = "";
5395
+ if (title) {
5396
+ result = toMarkdown(title);
5397
+ }
5398
+ if (markdownDescription) {
5399
+ if (result.length > 0) {
5400
+ result += "\n\n";
5399
5401
  }
5400
- if (markdownEnumValueDescription) {
5401
- if (result.length > 0) {
5402
- result += "\n\n";
5403
- }
5404
- result += `\`${toMarkdownCodeBlock(enumValue)}\`: ${markdownEnumValueDescription}`;
5402
+ result += markdownDescription;
5403
+ }
5404
+ if (markdownEnumValueDescription) {
5405
+ if (result.length > 0) {
5406
+ result += "\n\n";
5405
5407
  }
5406
- return createHover([result]);
5408
+ result += `\`${toMarkdownCodeBlock(enumValue)}\`: ${markdownEnumValueDescription}`;
5407
5409
  }
5408
- return null;
5410
+ return createHover([result]);
5409
5411
  });
5410
5412
  }
5411
5413
  };
5412
5414
  function toMarkdown(plain) {
5413
5415
  if (plain) {
5414
- const res = plain.replace(/([^\n\r])(\r?\n)([^\n\r])/gm, "$1\n\n$3");
5415
- return res.replace(/[\\`*_{}[\]()#+\-.!]/g, "\\$&");
5416
+ return plain.trim().replace(/[\\`*_{}[\]()<>#+\-.!]/g, "\\$&").replace(/([ \t]+)/g, (_match, g1) => "&nbsp;".repeat(g1.length)).replace(/\n/g, "\\\n");
5416
5417
  }
5417
5418
  return void 0;
5418
5419
  }
@@ -5423,7 +5424,7 @@ function toMarkdownCodeBlock(content) {
5423
5424
  return content;
5424
5425
  }
5425
5426
 
5426
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonValidation.js
5427
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonValidation.js
5427
5428
  var JSONValidation = class {
5428
5429
  constructor(jsonSchemaService, promiseConstructor) {
5429
5430
  this.jsonSchemaService = jsonSchemaService;
@@ -5568,7 +5569,7 @@ function toDiagnosticSeverity(severityLevel) {
5568
5569
  return void 0;
5569
5570
  }
5570
5571
 
5571
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/colors.js
5572
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/colors.js
5572
5573
  var Digit0 = 48;
5573
5574
  var Digit9 = 57;
5574
5575
  var A = 65;
@@ -5626,7 +5627,7 @@ function colorFromHex(text) {
5626
5627
  return void 0;
5627
5628
  }
5628
5629
 
5629
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonDocumentSymbols.js
5630
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonDocumentSymbols.js
5630
5631
  var JSONDocumentSymbols = class {
5631
5632
  constructor(schemaService) {
5632
5633
  this.schemaService = schemaService;
@@ -5878,7 +5879,596 @@ function getName(node) {
5878
5879
  return getNodeValue3(node) || t("<empty>");
5879
5880
  }
5880
5881
 
5881
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/configuration.js
5882
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/schemas/draft-2019-09-flat.js
5883
+ var draft_2019_09_flat_default = {
5884
+ $id: "https://json-schema.org/draft/2019-09/schema",
5885
+ $schema: "https://json-schema.org/draft/2019-09/schema",
5886
+ title: "(Flattened static) Core and Validation specifications meta-schema",
5887
+ type: [
5888
+ "object",
5889
+ "boolean"
5890
+ ],
5891
+ properties: {
5892
+ definitions: {
5893
+ $comment: "While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",
5894
+ type: "object",
5895
+ additionalProperties: {
5896
+ $ref: "#"
5897
+ },
5898
+ default: {}
5899
+ },
5900
+ dependencies: {
5901
+ $comment: '"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',
5902
+ type: "object",
5903
+ additionalProperties: {
5904
+ anyOf: [
5905
+ {
5906
+ $ref: "#"
5907
+ },
5908
+ {
5909
+ $ref: "#/$defs/stringArray"
5910
+ }
5911
+ ]
5912
+ }
5913
+ },
5914
+ $id: {
5915
+ type: "string",
5916
+ format: "uri-reference",
5917
+ $comment: "Non-empty fragments not allowed.",
5918
+ pattern: "^[^#]*#?$"
5919
+ },
5920
+ $schema: {
5921
+ type: "string",
5922
+ format: "uri"
5923
+ },
5924
+ $anchor: {
5925
+ type: "string",
5926
+ pattern: "^[A-Za-z][-A-Za-z0-9.:_]*$"
5927
+ },
5928
+ $ref: {
5929
+ type: "string",
5930
+ format: "uri-reference"
5931
+ },
5932
+ $recursiveAnchor: {
5933
+ type: "boolean",
5934
+ default: false
5935
+ },
5936
+ $vocabulary: {
5937
+ type: "object",
5938
+ propertyNames: {
5939
+ type: "string",
5940
+ format: "uri"
5941
+ },
5942
+ additionalProperties: {
5943
+ type: "boolean"
5944
+ }
5945
+ },
5946
+ $comment: {
5947
+ type: "string"
5948
+ },
5949
+ $defs: {
5950
+ type: "object",
5951
+ additionalProperties: {
5952
+ $ref: "#"
5953
+ },
5954
+ default: {}
5955
+ },
5956
+ additionalItems: {
5957
+ $ref: "#"
5958
+ },
5959
+ unevaluatedItems: {
5960
+ $ref: "#"
5961
+ },
5962
+ items: {
5963
+ anyOf: [
5964
+ {
5965
+ $ref: "#"
5966
+ },
5967
+ {
5968
+ $ref: "#/$defs/schemaArray"
5969
+ }
5970
+ ]
5971
+ },
5972
+ contains: {
5973
+ $ref: "#"
5974
+ },
5975
+ additionalProperties: {
5976
+ $ref: "#"
5977
+ },
5978
+ unevaluatedProperties: {
5979
+ $ref: "#"
5980
+ },
5981
+ properties: {
5982
+ type: "object",
5983
+ additionalProperties: {
5984
+ $ref: "#"
5985
+ },
5986
+ default: {}
5987
+ },
5988
+ patternProperties: {
5989
+ type: "object",
5990
+ additionalProperties: {
5991
+ $ref: "#"
5992
+ },
5993
+ propertyNames: {
5994
+ format: "regex"
5995
+ },
5996
+ default: {}
5997
+ },
5998
+ dependentSchemas: {
5999
+ type: "object",
6000
+ additionalProperties: {
6001
+ $ref: "#"
6002
+ }
6003
+ },
6004
+ propertyNames: {
6005
+ $ref: "#"
6006
+ },
6007
+ if: {
6008
+ $ref: "#"
6009
+ },
6010
+ then: {
6011
+ $ref: "#"
6012
+ },
6013
+ else: {
6014
+ $ref: "#"
6015
+ },
6016
+ allOf: {
6017
+ $ref: "#/$defs/schemaArray"
6018
+ },
6019
+ anyOf: {
6020
+ $ref: "#/$defs/schemaArray"
6021
+ },
6022
+ oneOf: {
6023
+ $ref: "#/$defs/schemaArray"
6024
+ },
6025
+ not: {
6026
+ $ref: "#"
6027
+ },
6028
+ multipleOf: {
6029
+ type: "number",
6030
+ exclusiveMinimum: 0
6031
+ },
6032
+ maximum: {
6033
+ type: "number"
6034
+ },
6035
+ exclusiveMaximum: {
6036
+ type: "number"
6037
+ },
6038
+ minimum: {
6039
+ type: "number"
6040
+ },
6041
+ exclusiveMinimum: {
6042
+ type: "number"
6043
+ },
6044
+ maxLength: {
6045
+ $ref: "#/$defs/nonNegativeInteger"
6046
+ },
6047
+ minLength: {
6048
+ $ref: "#/$defs/nonNegativeIntegerDefault0"
6049
+ },
6050
+ pattern: {
6051
+ type: "string",
6052
+ format: "regex"
6053
+ },
6054
+ maxItems: {
6055
+ $ref: "#/$defs/nonNegativeInteger"
6056
+ },
6057
+ minItems: {
6058
+ $ref: "#/$defs/nonNegativeIntegerDefault0"
6059
+ },
6060
+ uniqueItems: {
6061
+ type: "boolean",
6062
+ default: false
6063
+ },
6064
+ maxContains: {
6065
+ $ref: "#/$defs/nonNegativeInteger"
6066
+ },
6067
+ minContains: {
6068
+ $ref: "#/$defs/nonNegativeInteger",
6069
+ default: 1
6070
+ },
6071
+ maxProperties: {
6072
+ $ref: "#/$defs/nonNegativeInteger"
6073
+ },
6074
+ minProperties: {
6075
+ $ref: "#/$defs/nonNegativeIntegerDefault0"
6076
+ },
6077
+ required: {
6078
+ $ref: "#/$defs/stringArray"
6079
+ },
6080
+ dependentRequired: {
6081
+ type: "object",
6082
+ additionalProperties: {
6083
+ $ref: "#/$defs/stringArray"
6084
+ }
6085
+ },
6086
+ const: true,
6087
+ enum: {
6088
+ type: "array",
6089
+ items: true
6090
+ },
6091
+ type: {
6092
+ anyOf: [
6093
+ {
6094
+ $ref: "#/$defs/simpleTypes"
6095
+ },
6096
+ {
6097
+ type: "array",
6098
+ items: {
6099
+ $ref: "#/$defs/simpleTypes"
6100
+ },
6101
+ minItems: 1,
6102
+ uniqueItems: true
6103
+ }
6104
+ ]
6105
+ },
6106
+ title: {
6107
+ type: "string"
6108
+ },
6109
+ description: {
6110
+ type: "string"
6111
+ },
6112
+ default: true,
6113
+ deprecated: {
6114
+ type: "boolean",
6115
+ default: false
6116
+ },
6117
+ readOnly: {
6118
+ type: "boolean",
6119
+ default: false
6120
+ },
6121
+ writeOnly: {
6122
+ type: "boolean",
6123
+ default: false
6124
+ },
6125
+ examples: {
6126
+ type: "array",
6127
+ items: true
6128
+ },
6129
+ format: {
6130
+ type: "string"
6131
+ },
6132
+ contentMediaType: {
6133
+ type: "string"
6134
+ },
6135
+ contentEncoding: {
6136
+ type: "string"
6137
+ },
6138
+ contentSchema: {
6139
+ $ref: "#"
6140
+ }
6141
+ },
6142
+ $defs: {
6143
+ schemaArray: {
6144
+ type: "array",
6145
+ minItems: 1,
6146
+ items: {
6147
+ $ref: "#"
6148
+ }
6149
+ },
6150
+ nonNegativeInteger: {
6151
+ type: "integer",
6152
+ minimum: 0
6153
+ },
6154
+ nonNegativeIntegerDefault0: {
6155
+ $ref: "#/$defs/nonNegativeInteger",
6156
+ default: 0
6157
+ },
6158
+ simpleTypes: {
6159
+ enum: [
6160
+ "array",
6161
+ "boolean",
6162
+ "integer",
6163
+ "null",
6164
+ "number",
6165
+ "object",
6166
+ "string"
6167
+ ]
6168
+ },
6169
+ stringArray: {
6170
+ type: "array",
6171
+ items: {
6172
+ type: "string"
6173
+ },
6174
+ uniqueItems: true,
6175
+ default: []
6176
+ }
6177
+ }
6178
+ };
6179
+
6180
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/schemas/draft-2020-12-flat.js
6181
+ var draft_2020_12_flat_default = {
6182
+ $id: "https://json-schema.org/draft/2020-12/schema",
6183
+ $schema: "https://json-schema.org/draft/2020-12/schema",
6184
+ title: "(Flattened static) Core and Validation specifications meta-schema",
6185
+ type: [
6186
+ "object",
6187
+ "boolean"
6188
+ ],
6189
+ properties: {
6190
+ definitions: {
6191
+ $comment: "While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",
6192
+ type: "object",
6193
+ additionalProperties: {
6194
+ $ref: "#"
6195
+ },
6196
+ default: {}
6197
+ },
6198
+ dependencies: {
6199
+ $comment: '"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',
6200
+ type: "object",
6201
+ additionalProperties: {
6202
+ anyOf: [
6203
+ {
6204
+ $ref: "#"
6205
+ },
6206
+ {
6207
+ $ref: "#/$defs/stringArray"
6208
+ }
6209
+ ]
6210
+ }
6211
+ },
6212
+ $id: {
6213
+ type: "string",
6214
+ format: "uri-reference",
6215
+ $comment: "Non-empty fragments not allowed.",
6216
+ pattern: "^[^#]*#?$"
6217
+ },
6218
+ $schema: {
6219
+ type: "string",
6220
+ format: "uri"
6221
+ },
6222
+ $anchor: {
6223
+ type: "string",
6224
+ pattern: "^[A-Za-z_][-A-Za-z0-9._]*$"
6225
+ },
6226
+ $ref: {
6227
+ type: "string",
6228
+ format: "uri-reference"
6229
+ },
6230
+ $dynamicRef: {
6231
+ type: "string",
6232
+ format: "uri-reference"
6233
+ },
6234
+ $vocabulary: {
6235
+ type: "object",
6236
+ propertyNames: {
6237
+ type: "string",
6238
+ format: "uri"
6239
+ },
6240
+ additionalProperties: {
6241
+ type: "boolean"
6242
+ }
6243
+ },
6244
+ $comment: {
6245
+ type: "string"
6246
+ },
6247
+ $defs: {
6248
+ type: "object",
6249
+ additionalProperties: {
6250
+ $ref: "#"
6251
+ },
6252
+ default: {}
6253
+ },
6254
+ prefixItems: {
6255
+ $ref: "#/$defs/schemaArray"
6256
+ },
6257
+ items: {
6258
+ $ref: "#"
6259
+ },
6260
+ contains: {
6261
+ $ref: "#"
6262
+ },
6263
+ additionalProperties: {
6264
+ $ref: "#"
6265
+ },
6266
+ properties: {
6267
+ type: "object",
6268
+ additionalProperties: {
6269
+ $ref: "#"
6270
+ },
6271
+ default: {}
6272
+ },
6273
+ patternProperties: {
6274
+ type: "object",
6275
+ additionalProperties: {
6276
+ $ref: "#"
6277
+ },
6278
+ propertyNames: {
6279
+ format: "regex"
6280
+ },
6281
+ default: {}
6282
+ },
6283
+ dependentSchemas: {
6284
+ type: "object",
6285
+ additionalProperties: {
6286
+ $ref: "#"
6287
+ }
6288
+ },
6289
+ propertyNames: {
6290
+ $ref: "#"
6291
+ },
6292
+ if: {
6293
+ $ref: "#"
6294
+ },
6295
+ then: {
6296
+ $ref: "#"
6297
+ },
6298
+ else: {
6299
+ $ref: "#"
6300
+ },
6301
+ allOf: {
6302
+ $ref: "#/$defs/schemaArray"
6303
+ },
6304
+ anyOf: {
6305
+ $ref: "#/$defs/schemaArray"
6306
+ },
6307
+ oneOf: {
6308
+ $ref: "#/$defs/schemaArray"
6309
+ },
6310
+ not: {
6311
+ $ref: "#"
6312
+ },
6313
+ unevaluatedItems: {
6314
+ $ref: "#"
6315
+ },
6316
+ unevaluatedProperties: {
6317
+ $ref: "#"
6318
+ },
6319
+ multipleOf: {
6320
+ type: "number",
6321
+ exclusiveMinimum: 0
6322
+ },
6323
+ maximum: {
6324
+ type: "number"
6325
+ },
6326
+ exclusiveMaximum: {
6327
+ type: "number"
6328
+ },
6329
+ minimum: {
6330
+ type: "number"
6331
+ },
6332
+ exclusiveMinimum: {
6333
+ type: "number"
6334
+ },
6335
+ maxLength: {
6336
+ $ref: "#/$defs/nonNegativeInteger"
6337
+ },
6338
+ minLength: {
6339
+ $ref: "#/$defs/nonNegativeIntegerDefault0"
6340
+ },
6341
+ pattern: {
6342
+ type: "string",
6343
+ format: "regex"
6344
+ },
6345
+ maxItems: {
6346
+ $ref: "#/$defs/nonNegativeInteger"
6347
+ },
6348
+ minItems: {
6349
+ $ref: "#/$defs/nonNegativeIntegerDefault0"
6350
+ },
6351
+ uniqueItems: {
6352
+ type: "boolean",
6353
+ default: false
6354
+ },
6355
+ maxContains: {
6356
+ $ref: "#/$defs/nonNegativeInteger"
6357
+ },
6358
+ minContains: {
6359
+ $ref: "#/$defs/nonNegativeInteger",
6360
+ default: 1
6361
+ },
6362
+ maxProperties: {
6363
+ $ref: "#/$defs/nonNegativeInteger"
6364
+ },
6365
+ minProperties: {
6366
+ $ref: "#/$defs/nonNegativeIntegerDefault0"
6367
+ },
6368
+ required: {
6369
+ $ref: "#/$defs/stringArray"
6370
+ },
6371
+ dependentRequired: {
6372
+ type: "object",
6373
+ additionalProperties: {
6374
+ $ref: "#/$defs/stringArray"
6375
+ }
6376
+ },
6377
+ const: true,
6378
+ enum: {
6379
+ type: "array",
6380
+ items: true
6381
+ },
6382
+ type: {
6383
+ anyOf: [
6384
+ {
6385
+ $ref: "#/$defs/simpleTypes"
6386
+ },
6387
+ {
6388
+ type: "array",
6389
+ items: {
6390
+ $ref: "#/$defs/simpleTypes"
6391
+ },
6392
+ minItems: 1,
6393
+ uniqueItems: true
6394
+ }
6395
+ ]
6396
+ },
6397
+ title: {
6398
+ type: "string"
6399
+ },
6400
+ description: {
6401
+ type: "string"
6402
+ },
6403
+ default: true,
6404
+ deprecated: {
6405
+ type: "boolean",
6406
+ default: false
6407
+ },
6408
+ readOnly: {
6409
+ type: "boolean",
6410
+ default: false
6411
+ },
6412
+ writeOnly: {
6413
+ type: "boolean",
6414
+ default: false
6415
+ },
6416
+ examples: {
6417
+ type: "array",
6418
+ items: true
6419
+ },
6420
+ format: {
6421
+ type: "string"
6422
+ },
6423
+ contentMediaType: {
6424
+ type: "string"
6425
+ },
6426
+ contentEncoding: {
6427
+ type: "string"
6428
+ },
6429
+ contentSchema: {
6430
+ $ref: "#"
6431
+ }
6432
+ },
6433
+ $defs: {
6434
+ schemaArray: {
6435
+ type: "array",
6436
+ minItems: 1,
6437
+ items: {
6438
+ $ref: "#"
6439
+ }
6440
+ },
6441
+ nonNegativeInteger: {
6442
+ type: "integer",
6443
+ minimum: 0
6444
+ },
6445
+ nonNegativeIntegerDefault0: {
6446
+ $ref: "#/$defs/nonNegativeInteger",
6447
+ default: 0
6448
+ },
6449
+ simpleTypes: {
6450
+ enum: [
6451
+ "array",
6452
+ "boolean",
6453
+ "integer",
6454
+ "null",
6455
+ "number",
6456
+ "object",
6457
+ "string"
6458
+ ]
6459
+ },
6460
+ stringArray: {
6461
+ type: "array",
6462
+ items: {
6463
+ type: "string"
6464
+ },
6465
+ uniqueItems: true,
6466
+ default: []
6467
+ }
6468
+ }
6469
+ };
6470
+
6471
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/configuration.js
5882
6472
  var schemaContributions = {
5883
6473
  schemaAssociations: [],
5884
6474
  schemas: {
@@ -6329,7 +6919,9 @@ var schemaContributions = {
6329
6919
  "not": { "$ref": "#" }
6330
6920
  },
6331
6921
  "default": true
6332
- }
6922
+ },
6923
+ "https://json-schema.org/draft/2020-12/schema": draft_2020_12_flat_default,
6924
+ "https://json-schema.org/draft/2019-09/schema": draft_2019_09_flat_default
6333
6925
  }
6334
6926
  };
6335
6927
  var descriptions = {
@@ -6394,7 +6986,7 @@ for (const schemaName in schemaContributions.schemas) {
6394
6986
  }
6395
6987
  }
6396
6988
 
6397
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/glob.js
6989
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/glob.js
6398
6990
  function createRegex(glob, opts) {
6399
6991
  if (typeof glob !== "string") {
6400
6992
  throw new TypeError("Expected a string");
@@ -6485,7 +7077,7 @@ function createRegex(glob, opts) {
6485
7077
  return new RegExp(reStr, flags);
6486
7078
  }
6487
7079
 
6488
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonSchemaService.js
7080
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonSchemaService.js
6489
7081
  var BANG = "!";
6490
7082
  var PATH_SEP = "/";
6491
7083
  var FilePatternAssociation = class {
@@ -7046,7 +7638,7 @@ function toDisplayString(url) {
7046
7638
  return url;
7047
7639
  }
7048
7640
 
7049
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonFolding.js
7641
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonFolding.js
7050
7642
  function getFoldingRanges(document, context) {
7051
7643
  const ranges = [];
7052
7644
  const nestingLevels = [];
@@ -7160,7 +7752,7 @@ function getFoldingRanges(document, context) {
7160
7752
  return result;
7161
7753
  }
7162
7754
 
7163
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonSelectionRanges.js
7755
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonSelectionRanges.js
7164
7756
  function getSelectionRanges(document, positions, doc) {
7165
7757
  function getSelectionRange(position) {
7166
7758
  let offset = document.offsetAt(position);
@@ -7220,7 +7812,7 @@ function getSelectionRanges(document, positions, doc) {
7220
7812
  return positions.map(getSelectionRange);
7221
7813
  }
7222
7814
 
7223
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/format.js
7815
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/format.js
7224
7816
  function format4(documentToFormat, formattingOptions, formattingRange) {
7225
7817
  let range = void 0;
7226
7818
  if (formattingRange) {
@@ -7240,7 +7832,7 @@ function format4(documentToFormat, formattingOptions, formattingRange) {
7240
7832
  });
7241
7833
  }
7242
7834
 
7243
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/propertyTree.js
7835
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/propertyTree.js
7244
7836
  var Container;
7245
7837
  (function(Container2) {
7246
7838
  Container2[Container2["Object"] = 0] = "Object";
@@ -7309,7 +7901,7 @@ function binarySearchOnPropertyArray(propertyTreeArray, propertyTree, compare_fn
7309
7901
  return -m - 1;
7310
7902
  }
7311
7903
 
7312
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/utils/sort.js
7904
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/utils/sort.js
7313
7905
  function sort(documentToSort, formattingOptions) {
7314
7906
  const options = {
7315
7907
  ...formattingOptions,
@@ -7575,7 +8167,7 @@ var SortingRange = class {
7575
8167
  }
7576
8168
  };
7577
8169
 
7578
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/services/jsonLinks.js
8170
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/services/jsonLinks.js
7579
8171
  function findLinks(document, doc) {
7580
8172
  const links = [];
7581
8173
  doc.visit((node) => {
@@ -7643,7 +8235,7 @@ function unescape(str) {
7643
8235
  return str.replace(/~1/g, "/").replace(/~0/g, "~");
7644
8236
  }
7645
8237
 
7646
- // node_modules/.pnpm/vscode-json-languageservice@5.6.1/node_modules/vscode-json-languageservice/lib/esm/jsonLanguageService.js
8238
+ // node_modules/.pnpm/vscode-json-languageservice@5.6.3/node_modules/vscode-json-languageservice/lib/esm/jsonLanguageService.js
7647
8239
  function getLanguageService(params) {
7648
8240
  const promise = params.promiseConstructor || Promise;
7649
8241
  const jsonSchemaService = new JSONSchemaService(params.schemaRequestService, params.workspaceContext, promise);
@@ -7682,21 +8274,36 @@ function getLanguageService(params) {
7682
8274
 
7683
8275
  // src/lsp/worker-base.ts
7684
8276
  var WorkerBase = class {
7685
- constructor(_ctx, _createData, _createLanguageDocument) {
7686
- this._ctx = _ctx;
7687
- this._createData = _createData;
7688
- this._createLanguageDocument = _createLanguageDocument;
7689
- }
7690
- #documentCache = /* @__PURE__ */ new Map();
8277
+ #ctx;
7691
8278
  #fs;
8279
+ #documentCache = /* @__PURE__ */ new Map();
8280
+ #createLanguageDocument;
8281
+ constructor(ctx, createData, createLanguageDocument) {
8282
+ this.#ctx = ctx;
8283
+ if (createData.fs) {
8284
+ const dirs = /* @__PURE__ */ new Set(["/"]);
8285
+ this.#fs = new Map(createData.fs.map((path) => {
8286
+ const dir = path.slice(0, path.lastIndexOf("/"));
8287
+ if (dir) {
8288
+ dirs.add(dir);
8289
+ }
8290
+ return ["file://" + path, 1];
8291
+ }));
8292
+ for (const dir of dirs) {
8293
+ this.#fs.set("file://" + dir, 2);
8294
+ }
8295
+ createData.fs.length = 0;
8296
+ }
8297
+ this.#createLanguageDocument = createLanguageDocument;
8298
+ }
7692
8299
  get hasFileSystemProvider() {
7693
- return !!this._createData.workspace;
8300
+ return !!this.#fs;
7694
8301
  }
7695
8302
  get host() {
7696
- return this._ctx.host;
8303
+ return this.#ctx.host;
7697
8304
  }
7698
8305
  getMirrorModels() {
7699
- return this._ctx.getMirrorModels();
8306
+ return this.#ctx.getMirrorModels();
7700
8307
  }
7701
8308
  hasModel(fileName) {
7702
8309
  const models = this.getMirrorModels();
@@ -7737,10 +8344,10 @@ var WorkerBase = class {
7737
8344
  if (cached && cached[0] === version && cached[2]) {
7738
8345
  return cached[2];
7739
8346
  }
7740
- if (!this._createLanguageDocument) {
8347
+ if (!this.#createLanguageDocument) {
7741
8348
  throw new Error("createLanguageDocument is not provided");
7742
8349
  }
7743
- const languageDocument = this._createLanguageDocument(document);
8350
+ const languageDocument = this.#createLanguageDocument(document);
7744
8351
  this.#documentCache.set(uri, [version, document, languageDocument]);
7745
8352
  return languageDocument;
7746
8353
  }
@@ -7751,10 +8358,12 @@ var WorkerBase = class {
7751
8358
  if (path.startsWith(uri)) {
7752
8359
  const name = path.slice(uri.length);
7753
8360
  if (!name.includes("/")) {
7754
- if (type === 2) {
7755
- entries.push([name, 2 /* Directory */]);
7756
- } else if (!extensions || extensions.some((ext) => name.endsWith(ext))) {
7757
- entries.push([name, 1 /* File */]);
8361
+ if (type === 1) {
8362
+ if (!extensions || extensions.some((ext) => name.endsWith(ext))) {
8363
+ entries.push([name, 1]);
8364
+ }
8365
+ } else if (type === 2) {
8366
+ entries.push([name, 2]);
7758
8367
  }
7759
8368
  }
7760
8369
  }
@@ -7763,8 +8372,8 @@ var WorkerBase = class {
7763
8372
  return entries;
7764
8373
  }
7765
8374
  getFileSystemProvider() {
7766
- if (this.hasFileSystemProvider) {
7767
- const host = this._ctx.host;
8375
+ if (this.#fs) {
8376
+ const host = this.#ctx.host;
7768
8377
  return {
7769
8378
  readDirectory: (uri) => {
7770
8379
  return Promise.resolve(this.readDir(uri));
@@ -7781,29 +8390,27 @@ var WorkerBase = class {
7781
8390
  }
7782
8391
  // resolveReference implementes the `DocumentContext` interface
7783
8392
  resolveReference(ref, baseUrl) {
7784
- const url = new URL(ref, baseUrl);
7785
- const href = url.href;
7786
- if (url.protocol === "file:" && url.pathname !== "/" && this.#fs && !this.#fs.has(href.endsWith("/") ? href.slice(0, -1) : href)) {
8393
+ const { protocol, pathname, href } = new URL(ref, baseUrl);
8394
+ if (protocol === "file:" && pathname !== "/" && this.#fs && !this.#fs.has(href.endsWith("/") ? href.slice(0, -1) : href)) {
7787
8395
  return void 0;
7788
8396
  }
7789
8397
  return href;
7790
8398
  }
7791
8399
  // #region methods used by the host
7792
- async removeDocumentCache(uri) {
8400
+ async releaseDocument(uri) {
7793
8401
  this.#documentCache.delete(uri);
7794
8402
  }
7795
8403
  async fsNotify(kind, path, type) {
7796
- const url = "file://" + path;
7797
- const entries = this.#fs ?? (this.#fs = /* @__PURE__ */ new Map());
8404
+ const fs = this.#fs ?? (this.#fs = /* @__PURE__ */ new Map());
7798
8405
  if (kind === "create") {
7799
8406
  if (type) {
7800
- entries.set(url, type);
8407
+ fs.set(path, type);
7801
8408
  }
7802
8409
  } else if (kind === "remove") {
7803
- if (entries.get(url) === 1 /* File */) {
7804
- this.#documentCache.delete(url);
8410
+ if (fs.get(path) === 1) {
8411
+ this.#documentCache.delete(path);
7805
8412
  }
7806
- entries.delete(url);
8413
+ fs.delete(path);
7807
8414
  }
7808
8415
  }
7809
8416
  // #endregion