yaml-language-server 1.19.1-fce910a.0 → 1.20.1-82d8808.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.
Files changed (113) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/Dockerfile +2 -2
  3. package/README.md +3 -3
  4. package/eslint-result.sarif +147 -172
  5. package/l10n/bundle.l10n.de.json +56 -0
  6. package/l10n/bundle.l10n.fr.json +56 -0
  7. package/l10n/bundle.l10n.ja.json +56 -0
  8. package/l10n/bundle.l10n.json +56 -0
  9. package/l10n/bundle.l10n.ko.json +56 -0
  10. package/l10n/bundle.l10n.zh-cn.json +56 -0
  11. package/l10n/bundle.l10n.zh-tw.json +56 -0
  12. package/lib/esm/languageservice/jsonASTTypes.d.ts +2 -2
  13. package/lib/esm/languageservice/jsonSchema.d.ts +1 -1
  14. package/lib/esm/languageservice/parser/ast-converter.d.ts +7 -2
  15. package/lib/esm/languageservice/parser/ast-converter.js +20 -12
  16. package/lib/esm/languageservice/parser/ast-converter.js.map +1 -1
  17. package/lib/esm/languageservice/parser/jsonParser07.js +38 -45
  18. package/lib/esm/languageservice/parser/jsonParser07.js.map +1 -1
  19. package/lib/esm/languageservice/parser/yamlParser07.d.ts +1 -1
  20. package/lib/esm/languageservice/services/validation/unused-anchors.js +3 -2
  21. package/lib/esm/languageservice/services/validation/unused-anchors.js.map +1 -1
  22. package/lib/esm/languageservice/services/validation/yaml-style.js +3 -2
  23. package/lib/esm/languageservice/services/validation/yaml-style.js.map +1 -1
  24. package/lib/esm/languageservice/services/yamlCodeActions.js +8 -7
  25. package/lib/esm/languageservice/services/yamlCodeActions.js.map +1 -1
  26. package/lib/esm/languageservice/services/yamlCompletion.js +40 -38
  27. package/lib/esm/languageservice/services/yamlCompletion.js.map +1 -1
  28. package/lib/esm/languageservice/services/yamlHover.js +11 -4
  29. package/lib/esm/languageservice/services/yamlHover.js.map +1 -1
  30. package/lib/esm/languageservice/services/yamlSchemaService.js +31 -8
  31. package/lib/esm/languageservice/services/yamlSchemaService.js.map +1 -1
  32. package/lib/esm/languageservice/yamlTypes.d.ts +1 -1
  33. package/lib/esm/requestTypes.d.ts +1 -1
  34. package/lib/esm/server.js +0 -3
  35. package/lib/esm/server.js.map +1 -1
  36. package/lib/esm/yamlServerInit.d.ts +2 -1
  37. package/lib/esm/yamlServerInit.js +24 -2
  38. package/lib/esm/yamlServerInit.js.map +1 -1
  39. package/lib/esm/yamlSettings.d.ts +1 -1
  40. package/lib/esm/yamlSettings.js.map +1 -1
  41. package/lib/umd/languageservice/jsonASTTypes.d.ts +2 -2
  42. package/lib/umd/languageservice/jsonSchema.d.ts +1 -1
  43. package/lib/umd/languageservice/parser/ast-converter.d.ts +7 -2
  44. package/lib/umd/languageservice/parser/ast-converter.js +21 -13
  45. package/lib/umd/languageservice/parser/ast-converter.js.map +1 -1
  46. package/lib/umd/languageservice/parser/jsonParser07.js +39 -46
  47. package/lib/umd/languageservice/parser/jsonParser07.js.map +1 -1
  48. package/lib/umd/languageservice/parser/yamlParser07.d.ts +1 -1
  49. package/lib/umd/languageservice/services/validation/unused-anchors.js +4 -3
  50. package/lib/umd/languageservice/services/validation/unused-anchors.js.map +1 -1
  51. package/lib/umd/languageservice/services/validation/yaml-style.js +4 -3
  52. package/lib/umd/languageservice/services/validation/yaml-style.js.map +1 -1
  53. package/lib/umd/languageservice/services/yamlCodeActions.js +9 -8
  54. package/lib/umd/languageservice/services/yamlCodeActions.js.map +1 -1
  55. package/lib/umd/languageservice/services/yamlCompletion.js +41 -39
  56. package/lib/umd/languageservice/services/yamlCompletion.js.map +1 -1
  57. package/lib/umd/languageservice/services/yamlHover.js +12 -5
  58. package/lib/umd/languageservice/services/yamlHover.js.map +1 -1
  59. package/lib/umd/languageservice/services/yamlSchemaService.js +32 -9
  60. package/lib/umd/languageservice/services/yamlSchemaService.js.map +1 -1
  61. package/lib/umd/languageservice/yamlTypes.d.ts +1 -1
  62. package/lib/umd/requestTypes.d.ts +1 -1
  63. package/lib/umd/server.js +1 -4
  64. package/lib/umd/server.js.map +1 -1
  65. package/lib/umd/yamlServerInit.d.ts +2 -1
  66. package/lib/umd/yamlServerInit.js +25 -3
  67. package/lib/umd/yamlServerInit.js.map +1 -1
  68. package/lib/umd/yamlSettings.d.ts +1 -1
  69. package/lib/umd/yamlSettings.js.map +1 -1
  70. package/out/server/src/languageservice/jsonASTTypes.d.ts +2 -2
  71. package/out/server/src/languageservice/jsonSchema.d.ts +1 -1
  72. package/out/server/src/languageservice/parser/ast-converter.d.ts +7 -2
  73. package/out/server/src/languageservice/parser/ast-converter.js +21 -13
  74. package/out/server/src/languageservice/parser/ast-converter.js.map +1 -1
  75. package/out/server/src/languageservice/parser/jsonParser07.js +38 -45
  76. package/out/server/src/languageservice/parser/jsonParser07.js.map +1 -1
  77. package/out/server/src/languageservice/parser/yamlParser07.d.ts +1 -1
  78. package/out/server/src/languageservice/services/validation/unused-anchors.js +3 -2
  79. package/out/server/src/languageservice/services/validation/unused-anchors.js.map +1 -1
  80. package/out/server/src/languageservice/services/validation/yaml-style.js +3 -2
  81. package/out/server/src/languageservice/services/validation/yaml-style.js.map +1 -1
  82. package/out/server/src/languageservice/services/yamlCodeActions.js +8 -7
  83. package/out/server/src/languageservice/services/yamlCodeActions.js.map +1 -1
  84. package/out/server/src/languageservice/services/yamlCompletion.js +40 -38
  85. package/out/server/src/languageservice/services/yamlCompletion.js.map +1 -1
  86. package/out/server/src/languageservice/services/yamlHover.js +11 -4
  87. package/out/server/src/languageservice/services/yamlHover.js.map +1 -1
  88. package/out/server/src/languageservice/services/yamlSchemaService.js +31 -8
  89. package/out/server/src/languageservice/services/yamlSchemaService.js.map +1 -1
  90. package/out/server/src/languageservice/yamlTypes.d.ts +1 -1
  91. package/out/server/src/requestTypes.d.ts +1 -1
  92. package/out/server/src/server.js +0 -3
  93. package/out/server/src/server.js.map +1 -1
  94. package/out/server/src/yamlServerInit.d.ts +2 -1
  95. package/out/server/src/yamlServerInit.js +24 -2
  96. package/out/server/src/yamlServerInit.js.map +1 -1
  97. package/out/server/src/yamlSettings.d.ts +1 -1
  98. package/out/server/src/yamlSettings.js.map +1 -1
  99. package/out/server/test/autoCompletion.test.js +146 -76
  100. package/out/server/test/autoCompletion.test.js.map +1 -1
  101. package/out/server/test/bundlel10n.test.d.ts +1 -0
  102. package/out/server/test/bundlel10n.test.js +72 -0
  103. package/out/server/test/bundlel10n.test.js.map +1 -0
  104. package/out/server/test/hover.test.js +103 -0
  105. package/out/server/test/hover.test.js.map +1 -1
  106. package/out/server/test/utils/testHelper.js +5 -0
  107. package/out/server/test/utils/testHelper.js.map +1 -1
  108. package/out/server/test/utils/verifyError.d.ts +1 -1
  109. package/out/server/test/utils/verifyError.js.map +1 -1
  110. package/out/server/test/yamlParser.test.js +61 -0
  111. package/out/server/test/yamlParser.test.js.map +1 -1
  112. package/out/server/test/yamlSelectionRanges.test.js +1 -1
  113. package/package.json +10 -10
@@ -6,42 +6,40 @@
6
6
  import { isNumber, equals, isString, isDefined, isBoolean, isIterable } from '../utils/objects';
7
7
  import { getSchemaTypeName } from '../utils/schemaUtils';
8
8
  import { ErrorCode } from 'vscode-json-languageservice';
9
- import * as nls from 'vscode-nls';
9
+ import * as l10n from '@vscode/l10n';
10
10
  import { URI } from 'vscode-uri';
11
11
  import { Diagnostic, DiagnosticSeverity, Range } from 'vscode-languageserver-types';
12
12
  import { isArrayEqual } from '../utils/arrUtils';
13
13
  import { safeCreateUnicodeRegExp } from '../utils/strings';
14
14
  import { FilePatternAssociation } from '../services/yamlSchemaService';
15
15
  import { floatSafeRemainder } from '../utils/math';
16
- const localize = nls.loadMessageBundle();
17
- const MSG_PROPERTY_NOT_ALLOWED = 'Property {0} is not allowed.';
18
16
  export const formats = {
19
17
  'color-hex': {
20
- errorMessage: localize('colorHexFormatWarning', 'Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA.'),
18
+ errorMessage: l10n.t('colorHexFormatWarning'),
21
19
  pattern: /^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/,
22
20
  },
23
21
  'date-time': {
24
- errorMessage: localize('dateTimeFormatWarning', 'String is not a RFC3339 date-time.'),
22
+ errorMessage: l10n.t('dateTimeFormatWarning'),
25
23
  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,
26
24
  },
27
25
  date: {
28
- errorMessage: localize('dateFormatWarning', 'String is not a RFC3339 date.'),
26
+ errorMessage: l10n.t('dateFormatWarning'),
29
27
  pattern: /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i,
30
28
  },
31
29
  time: {
32
- errorMessage: localize('timeFormatWarning', 'String is not a RFC3339 time.'),
30
+ errorMessage: l10n.t('timeFormatWarning'),
33
31
  pattern: /^([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,
34
32
  },
35
33
  email: {
36
- errorMessage: localize('emailFormatWarning', 'String is not an e-mail address.'),
34
+ errorMessage: l10n.t('emailFormatWarning'),
37
35
  pattern: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
38
36
  },
39
37
  ipv4: {
40
- errorMessage: localize('ipv4FormatWarning', 'String does not match IPv4 format.'),
38
+ errorMessage: l10n.t('ipv4FormatWarning'),
41
39
  pattern: /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/,
42
40
  },
43
41
  ipv6: {
44
- errorMessage: localize('ipv6FormatWarning', 'String does not match IPv6 format.'),
42
+ errorMessage: l10n.t('ipv6FormatWarning'),
45
43
  pattern: /^([0-9a-f]|:){1,4}(:([0-9a-f]{0,4})*){1,7}$/i,
46
44
  },
47
45
  };
@@ -261,7 +259,7 @@ export class ValidationResult {
261
259
  this.enumValues = this.enumValues.concat(validationResult.enumValues);
262
260
  for (const error of this.problems) {
263
261
  if (error.code === ErrorCode.EnumValueMismatch) {
264
- error.message = localize('enumWarning', 'Value is not accepted. Valid values: {0}.', [...new Set(this.enumValues)]
262
+ error.message = l10n.t('enumWarning', [...new Set(this.enumValues)]
265
263
  .map((v) => {
266
264
  return JSON.stringify(v);
267
265
  })
@@ -518,8 +516,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
518
516
  validationResult.problems.push({
519
517
  location: { offset: node.offset, length: node.length },
520
518
  severity: DiagnosticSeverity.Warning,
521
- message: schema.errorMessage ||
522
- localize('typeArrayMismatchWarning', 'Incorrect type. Expected one of {0}.', schema.type.join(', ')),
519
+ message: schema.errorMessage || l10n.t('typeArrayMismatchWarning', schema.type.join(', ')),
523
520
  source: getSchemaSource(schema, originalSchema),
524
521
  schemaUri: getSchemaUri(schema, originalSchema),
525
522
  });
@@ -554,7 +551,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
554
551
  validationResult.problems.push({
555
552
  location: { offset: node.offset, length: node.length },
556
553
  severity: DiagnosticSeverity.Warning,
557
- message: localize('notSchemaWarning', 'Matches a schema that is not allowed.'),
554
+ message: l10n.t('notSchemaWarning'),
558
555
  source: getSchemaSource(schema, originalSchema),
559
556
  schemaUri: getSchemaUri(schema, originalSchema),
560
557
  });
@@ -603,7 +600,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
603
600
  validationResult.problems.push({
604
601
  location: { offset: node.offset, length: 1 },
605
602
  severity: DiagnosticSeverity.Warning,
606
- message: localize('oneOfWarning', 'Matches multiple schemas when only one must validate.'),
603
+ message: l10n.t('oneOfWarning'),
607
604
  source: getSchemaSource(schema, originalSchema),
608
605
  schemaUri: getSchemaUri(schema, originalSchema),
609
606
  });
@@ -648,7 +645,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
648
645
  subValidationResult.problems.push({
649
646
  location: { offset: node.offset, length: node.length },
650
647
  severity: DiagnosticSeverity.Warning,
651
- message: localize('ifFilePatternAssociation', `filePatternAssociation '${filePatternAssociation}' does not match with doc uri '${options.uri}'.`),
648
+ message: l10n.t('ifFilePatternAssociation', filePatternAssociation, options.uri),
652
649
  source: getSchemaSource(schema, originalSchema),
653
650
  schemaUri: getSchemaUri(schema, originalSchema),
654
651
  });
@@ -686,7 +683,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
686
683
  severity: DiagnosticSeverity.Warning,
687
684
  code: ErrorCode.EnumValueMismatch,
688
685
  message: schema.errorMessage ||
689
- localize('enumWarning', 'Value is not accepted. Valid values: {0}.', schema.enum
686
+ l10n.t('enumWarning', schema.enum
690
687
  .map((v) => {
691
688
  return JSON.stringify(v);
692
689
  })
@@ -735,7 +732,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
735
732
  validationResult.problems.push({
736
733
  location: { offset: node.offset, length: node.length },
737
734
  severity: DiagnosticSeverity.Warning,
738
- message: localize('multipleOfWarning', 'Value is not divisible by {0}.', schema.multipleOf),
735
+ message: l10n.t('multipleOfWarning', schema.multipleOf),
739
736
  source: getSchemaSource(schema, originalSchema),
740
737
  schemaUri: getSchemaUri(schema, originalSchema),
741
738
  });
@@ -761,7 +758,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
761
758
  validationResult.problems.push({
762
759
  location: { offset: node.offset, length: node.length },
763
760
  severity: DiagnosticSeverity.Warning,
764
- message: localize('exclusiveMinimumWarning', 'Value is below the exclusive minimum of {0}.', exclusiveMinimum),
761
+ message: l10n.t('exclusiveMinimumWarning', exclusiveMinimum),
765
762
  source: getSchemaSource(schema, originalSchema),
766
763
  schemaUri: getSchemaUri(schema, originalSchema),
767
764
  });
@@ -771,7 +768,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
771
768
  validationResult.problems.push({
772
769
  location: { offset: node.offset, length: node.length },
773
770
  severity: DiagnosticSeverity.Warning,
774
- message: localize('exclusiveMaximumWarning', 'Value is above the exclusive maximum of {0}.', exclusiveMaximum),
771
+ message: l10n.t('exclusiveMaximumWarning', exclusiveMaximum),
775
772
  source: getSchemaSource(schema, originalSchema),
776
773
  schemaUri: getSchemaUri(schema, originalSchema),
777
774
  });
@@ -781,7 +778,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
781
778
  validationResult.problems.push({
782
779
  location: { offset: node.offset, length: node.length },
783
780
  severity: DiagnosticSeverity.Warning,
784
- message: localize('minimumWarning', 'Value is below the minimum of {0}.', minimum),
781
+ message: l10n.t('minimumWarning', minimum),
785
782
  source: getSchemaSource(schema, originalSchema),
786
783
  schemaUri: getSchemaUri(schema, originalSchema),
787
784
  });
@@ -791,7 +788,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
791
788
  validationResult.problems.push({
792
789
  location: { offset: node.offset, length: node.length },
793
790
  severity: DiagnosticSeverity.Warning,
794
- message: localize('maximumWarning', 'Value is above the maximum of {0}.', maximum),
791
+ message: l10n.t('maximumWarning', maximum),
795
792
  source: getSchemaSource(schema, originalSchema),
796
793
  schemaUri: getSchemaUri(schema, originalSchema),
797
794
  });
@@ -802,7 +799,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
802
799
  validationResult.problems.push({
803
800
  location: { offset: node.offset, length: node.length },
804
801
  severity: DiagnosticSeverity.Warning,
805
- message: localize('minLengthWarning', 'String is shorter than the minimum length of {0}.', schema.minLength),
802
+ message: l10n.t('minLengthWarning', schema.minLength),
806
803
  source: getSchemaSource(schema, originalSchema),
807
804
  schemaUri: getSchemaUri(schema, originalSchema),
808
805
  });
@@ -811,7 +808,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
811
808
  validationResult.problems.push({
812
809
  location: { offset: node.offset, length: node.length },
813
810
  severity: DiagnosticSeverity.Warning,
814
- message: localize('maxLengthWarning', 'String is longer than the maximum length of {0}.', schema.maxLength),
811
+ message: l10n.t('maxLengthWarning', schema.maxLength),
815
812
  source: getSchemaSource(schema, originalSchema),
816
813
  schemaUri: getSchemaUri(schema, originalSchema),
817
814
  });
@@ -822,9 +819,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
822
819
  validationResult.problems.push({
823
820
  location: { offset: node.offset, length: node.length },
824
821
  severity: DiagnosticSeverity.Warning,
825
- message: schema.patternErrorMessage ||
826
- schema.errorMessage ||
827
- localize('patternWarning', 'String does not match the pattern of "{0}".', schema.pattern),
822
+ message: schema.patternErrorMessage || schema.errorMessage || l10n.t('patternWarning', schema.pattern),
828
823
  source: getSchemaSource(schema, originalSchema),
829
824
  schemaUri: getSchemaUri(schema, originalSchema),
830
825
  });
@@ -837,13 +832,13 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
837
832
  {
838
833
  let errorMessage;
839
834
  if (!node.value) {
840
- errorMessage = localize('uriEmpty', 'URI expected.');
835
+ errorMessage = l10n.t('uriEmpty');
841
836
  }
842
837
  else {
843
838
  try {
844
839
  const uri = URI.parse(node.value);
845
840
  if (!uri.scheme && schema.format === 'uri') {
846
- errorMessage = localize('uriSchemeMissing', 'URI with a scheme is expected.');
841
+ errorMessage = l10n.t('uriSchemeMissing');
847
842
  }
848
843
  }
849
844
  catch (e) {
@@ -854,9 +849,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
854
849
  validationResult.problems.push({
855
850
  location: { offset: node.offset, length: node.length },
856
851
  severity: DiagnosticSeverity.Warning,
857
- message: schema.patternErrorMessage ||
858
- schema.errorMessage ||
859
- localize('uriFormatWarning', 'String is not a URI: {0}', errorMessage),
852
+ message: schema.patternErrorMessage || schema.errorMessage || l10n.t('uriFormatWarning', errorMessage),
860
853
  source: getSchemaSource(schema, originalSchema),
861
854
  schemaUri: getSchemaUri(schema, originalSchema),
862
855
  });
@@ -876,7 +869,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
876
869
  validationResult.problems.push({
877
870
  location: { offset: node.offset, length: node.length },
878
871
  severity: DiagnosticSeverity.Warning,
879
- message: schema.patternErrorMessage || schema.errorMessage || format.errorMessage,
872
+ message: schema.patternErrorMessage || schema.errorMessage || l10n.t(format.errorMessage),
880
873
  source: getSchemaSource(schema, originalSchema),
881
874
  schemaUri: getSchemaUri(schema, originalSchema),
882
875
  });
@@ -918,7 +911,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
918
911
  validationResult.problems.push({
919
912
  location: { offset: node.offset, length: node.length },
920
913
  severity: DiagnosticSeverity.Warning,
921
- message: localize('additionalItemsWarning', 'Array has too many items according to schema. Expected {0} or fewer.', subSchemas.length),
914
+ message: l10n.t('additionalItemsWarning', subSchemas.length),
922
915
  source: getSchemaSource(schema, originalSchema),
923
916
  schemaUri: getSchemaUri(schema, originalSchema),
924
917
  });
@@ -958,7 +951,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
958
951
  validationResult.problems.push({
959
952
  location: { offset: node.offset, length: node.length },
960
953
  severity: DiagnosticSeverity.Warning,
961
- message: schema.errorMessage || localize('requiredItemMissingWarning', 'Array does not contain required item.'),
954
+ message: schema.errorMessage || l10n.t('requiredItemMissingWarning'),
962
955
  source: getSchemaSource(schema, originalSchema),
963
956
  schemaUri: getSchemaUri(schema, originalSchema),
964
957
  });
@@ -968,7 +961,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
968
961
  validationResult.problems.push({
969
962
  location: { offset: node.offset, length: node.length },
970
963
  severity: DiagnosticSeverity.Warning,
971
- message: localize('minItemsWarning', 'Array has too few items. Expected {0} or more.', schema.minItems),
964
+ message: l10n.t('minItemsWarning', schema.minItems),
972
965
  source: getSchemaSource(schema, originalSchema),
973
966
  schemaUri: getSchemaUri(schema, originalSchema),
974
967
  });
@@ -977,7 +970,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
977
970
  validationResult.problems.push({
978
971
  location: { offset: node.offset, length: node.length },
979
972
  severity: DiagnosticSeverity.Warning,
980
- message: localize('maxItemsWarning', 'Array has too many items. Expected {0} or fewer.', schema.maxItems),
973
+ message: l10n.t('maxItemsWarning', schema.maxItems),
981
974
  source: getSchemaSource(schema, originalSchema),
982
975
  schemaUri: getSchemaUri(schema, originalSchema),
983
976
  });
@@ -991,7 +984,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
991
984
  validationResult.problems.push({
992
985
  location: { offset: node.offset, length: node.length },
993
986
  severity: DiagnosticSeverity.Warning,
994
- message: localize('uniqueItemsWarning', 'Array has duplicate items.'),
987
+ message: l10n.t('uniqueItemsWarning'),
995
988
  source: getSchemaSource(schema, originalSchema),
996
989
  schemaUri: getSchemaUri(schema, originalSchema),
997
990
  });
@@ -1069,7 +1062,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
1069
1062
  length: propertyNode.keyNode.length,
1070
1063
  },
1071
1064
  severity: DiagnosticSeverity.Warning,
1072
- message: schema.errorMessage || localize('DisallowedExtraPropWarning', MSG_PROPERTY_NOT_ALLOWED, propertyName),
1065
+ message: schema.errorMessage || l10n.t('DisallowedExtraPropWarning', propertyName),
1073
1066
  source: getSchemaSource(schema, originalSchema),
1074
1067
  schemaUri: getSchemaUri(schema, originalSchema),
1075
1068
  });
@@ -1107,7 +1100,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
1107
1100
  length: propertyNode.keyNode.length,
1108
1101
  },
1109
1102
  severity: DiagnosticSeverity.Warning,
1110
- message: schema.errorMessage || localize('DisallowedExtraPropWarning', MSG_PROPERTY_NOT_ALLOWED, propertyName),
1103
+ message: schema.errorMessage || l10n.t('DisallowedExtraPropWarning', propertyName),
1111
1104
  source: getSchemaSource(schema, originalSchema),
1112
1105
  schemaUri: getSchemaUri(schema, originalSchema),
1113
1106
  });
@@ -1177,7 +1170,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
1177
1170
  },
1178
1171
  severity: DiagnosticSeverity.Warning,
1179
1172
  code: ErrorCode.PropertyExpected,
1180
- message: schema.errorMessage || localize('DisallowedExtraPropWarning', MSG_PROPERTY_NOT_ALLOWED, propertyName),
1173
+ message: schema.errorMessage || l10n.t('DisallowedExtraPropWarning', propertyName),
1181
1174
  source: getSchemaSource(schema, originalSchema),
1182
1175
  schemaUri: getSchemaUri(schema, originalSchema),
1183
1176
  };
@@ -1194,7 +1187,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
1194
1187
  validationResult.problems.push({
1195
1188
  location: { offset: node.offset, length: node.length },
1196
1189
  severity: DiagnosticSeverity.Warning,
1197
- message: localize('MaxPropWarning', 'Object has more properties than limit of {0}.', schema.maxProperties),
1190
+ message: l10n.t('MaxPropWarning', schema.maxProperties),
1198
1191
  source: getSchemaSource(schema, originalSchema),
1199
1192
  schemaUri: getSchemaUri(schema, originalSchema),
1200
1193
  });
@@ -1205,7 +1198,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
1205
1198
  validationResult.problems.push({
1206
1199
  location: { offset: node.offset, length: node.length },
1207
1200
  severity: DiagnosticSeverity.Warning,
1208
- message: localize('MinPropWarning', 'Object has fewer properties than the required number of {0}', schema.minProperties),
1201
+ message: l10n.t('MinPropWarning', schema.minProperties),
1209
1202
  source: getSchemaSource(schema, originalSchema),
1210
1203
  schemaUri: getSchemaUri(schema, originalSchema),
1211
1204
  });
@@ -1222,7 +1215,7 @@ function validate(node, schema, originalSchema, validationResult, matchingSchema
1222
1215
  validationResult.problems.push({
1223
1216
  location: { offset: node.offset, length: node.length },
1224
1217
  severity: DiagnosticSeverity.Warning,
1225
- message: localize('RequiredDependentPropWarning', 'Object is missing property {0} required by property {1}.', requiredProp, key),
1218
+ message: l10n.t('RequiredDependentPropWarning', requiredProp, key),
1226
1219
  source: getSchemaSource(schema, originalSchema),
1227
1220
  schemaUri: getSchemaUri(schema, originalSchema),
1228
1221
  });
@@ -1348,7 +1341,7 @@ function getSchemaUri(schema, originalSchema) {
1348
1341
  return uriString ? [uriString] : [];
1349
1342
  }
1350
1343
  function getWarningMessage(problemType, args) {
1351
- return localize(problemType, ProblemTypeMessages[problemType], args.join(' | '));
1344
+ return l10n.t(ProblemTypeMessages[problemType], args.join(' | '));
1352
1345
  }
1353
1346
  /**
1354
1347
  * if callFromAutoComplete than compare value from yaml and value from schema (s.const | s.enum[i])
@@ -1 +1 @@
1
- {"version":3,"file":"jsonParser07.js","sourceRoot":"","sources":["../../../../src/languageservice/parser/jsonParser07.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonParser07.js","sourceRoot":"","sources":["../../../../src/languageservice/parser/jsonParser07.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { YAMLDocument, SingleYAMLDocument } from './yaml-documents';
2
2
  import { TextDocument } from 'vscode-languageserver-textdocument';
3
3
  export { YAMLDocument, SingleYAMLDocument };
4
- export declare type YamlVersion = '1.1' | '1.2';
4
+ export type YamlVersion = '1.1' | '1.2';
5
5
  export interface ParserOptions {
6
6
  customTags: string[];
7
7
  yamlVersion: YamlVersion;
@@ -5,6 +5,7 @@
5
5
  import { Diagnostic, DiagnosticSeverity, DiagnosticTag, Range } from 'vscode-languageserver-types';
6
6
  import { isAlias, isCollection, isNode, isScalar, visit, CST } from 'yaml';
7
7
  import { isCollectionItem } from '../../../languageservice/utils/astUtils';
8
+ import * as l10n from '@vscode/l10n';
8
9
  export class UnusedAnchorsValidator {
9
10
  validate(document, yamlDoc) {
10
11
  const result = [];
@@ -34,7 +35,7 @@ export class UnusedAnchorsValidator {
34
35
  const aToken = this.getAnchorNode(anchorParent.get(anchor), anchor);
35
36
  if (aToken) {
36
37
  const range = Range.create(document.positionAt(aToken.offset), document.positionAt(aToken.offset + aToken.source.length));
37
- const warningDiagnostic = Diagnostic.create(range, `Unused anchor "${aToken.source}"`, DiagnosticSeverity.Information, 0);
38
+ const warningDiagnostic = Diagnostic.create(range, l10n.t('unUsedAnchor', aToken.source), DiagnosticSeverity.Information, 0);
38
39
  warningDiagnostic.tags = [DiagnosticTag.Unnecessary];
39
40
  result.push(warningDiagnostic);
40
41
  }
@@ -46,7 +47,7 @@ export class UnusedAnchorsValidator {
46
47
  const startOffset = nodeRange[0];
47
48
  const endOffset = nodeRange[1];
48
49
  const range = Range.create(document.positionAt(startOffset), document.positionAt(endOffset));
49
- const warningDiagnostic = Diagnostic.create(range, `Unresolved alias "${node}"`, DiagnosticSeverity.Information, 0);
50
+ const warningDiagnostic = Diagnostic.create(range, l10n.t('unUsedAlias', node.toString()), DiagnosticSeverity.Information, 0);
50
51
  warningDiagnostic.tags = [DiagnosticTag.Unnecessary];
51
52
  result.push(warningDiagnostic);
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unused-anchors.js","sourceRoot":"","sources":["../../../../../src/languageservice/services/validation/unused-anchors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unused-anchors.js","sourceRoot":"","sources":["../../../../../src/languageservice/services/validation/unused-anchors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Diagnostic, DiagnosticSeverity, Range } from 'vscode-languageserver-types';
2
2
  import { isMap, isSeq, visit } from 'yaml';
3
+ import * as l10n from '@vscode/l10n';
3
4
  export class YAMLStyleValidator {
4
5
  constructor(settings) {
5
6
  this.forbidMapping = settings.flowMapping === 'forbid';
@@ -9,10 +10,10 @@ export class YAMLStyleValidator {
9
10
  const result = [];
10
11
  visit(yamlDoc.internalDocument, (key, node) => {
11
12
  if (this.forbidMapping && isMap(node) && node.srcToken?.type === 'flow-collection') {
12
- result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), 'Flow style mapping is forbidden', DiagnosticSeverity.Error, 'flowMap'));
13
+ result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), l10n.t('flowStyleMapForbidden', 'Flow style mapping is forbidden'), DiagnosticSeverity.Error, 'flowMap'));
13
14
  }
14
15
  if (this.forbidSequence && isSeq(node) && node.srcToken?.type === 'flow-collection') {
15
- result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), 'Flow style sequence is forbidden', DiagnosticSeverity.Error, 'flowSeq'));
16
+ result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), l10n.t('flowStyleSeqForbidden'), DiagnosticSeverity.Error, 'flowSeq'));
16
17
  }
17
18
  });
18
19
  return result;