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.
- package/CHANGELOG.md +27 -0
- package/Dockerfile +2 -2
- package/README.md +3 -3
- package/eslint-result.sarif +147 -172
- package/l10n/bundle.l10n.de.json +56 -0
- package/l10n/bundle.l10n.fr.json +56 -0
- package/l10n/bundle.l10n.ja.json +56 -0
- package/l10n/bundle.l10n.json +56 -0
- package/l10n/bundle.l10n.ko.json +56 -0
- package/l10n/bundle.l10n.zh-cn.json +56 -0
- package/l10n/bundle.l10n.zh-tw.json +56 -0
- package/lib/esm/languageservice/jsonASTTypes.d.ts +2 -2
- package/lib/esm/languageservice/jsonSchema.d.ts +1 -1
- package/lib/esm/languageservice/parser/ast-converter.d.ts +7 -2
- package/lib/esm/languageservice/parser/ast-converter.js +20 -12
- package/lib/esm/languageservice/parser/ast-converter.js.map +1 -1
- package/lib/esm/languageservice/parser/jsonParser07.js +38 -45
- package/lib/esm/languageservice/parser/jsonParser07.js.map +1 -1
- package/lib/esm/languageservice/parser/yamlParser07.d.ts +1 -1
- package/lib/esm/languageservice/services/validation/unused-anchors.js +3 -2
- package/lib/esm/languageservice/services/validation/unused-anchors.js.map +1 -1
- package/lib/esm/languageservice/services/validation/yaml-style.js +3 -2
- package/lib/esm/languageservice/services/validation/yaml-style.js.map +1 -1
- package/lib/esm/languageservice/services/yamlCodeActions.js +8 -7
- package/lib/esm/languageservice/services/yamlCodeActions.js.map +1 -1
- package/lib/esm/languageservice/services/yamlCompletion.js +40 -38
- package/lib/esm/languageservice/services/yamlCompletion.js.map +1 -1
- package/lib/esm/languageservice/services/yamlHover.js +11 -4
- package/lib/esm/languageservice/services/yamlHover.js.map +1 -1
- package/lib/esm/languageservice/services/yamlSchemaService.js +31 -8
- package/lib/esm/languageservice/services/yamlSchemaService.js.map +1 -1
- package/lib/esm/languageservice/yamlTypes.d.ts +1 -1
- package/lib/esm/requestTypes.d.ts +1 -1
- package/lib/esm/server.js +0 -3
- package/lib/esm/server.js.map +1 -1
- package/lib/esm/yamlServerInit.d.ts +2 -1
- package/lib/esm/yamlServerInit.js +24 -2
- package/lib/esm/yamlServerInit.js.map +1 -1
- package/lib/esm/yamlSettings.d.ts +1 -1
- package/lib/esm/yamlSettings.js.map +1 -1
- package/lib/umd/languageservice/jsonASTTypes.d.ts +2 -2
- package/lib/umd/languageservice/jsonSchema.d.ts +1 -1
- package/lib/umd/languageservice/parser/ast-converter.d.ts +7 -2
- package/lib/umd/languageservice/parser/ast-converter.js +21 -13
- package/lib/umd/languageservice/parser/ast-converter.js.map +1 -1
- package/lib/umd/languageservice/parser/jsonParser07.js +39 -46
- package/lib/umd/languageservice/parser/jsonParser07.js.map +1 -1
- package/lib/umd/languageservice/parser/yamlParser07.d.ts +1 -1
- package/lib/umd/languageservice/services/validation/unused-anchors.js +4 -3
- package/lib/umd/languageservice/services/validation/unused-anchors.js.map +1 -1
- package/lib/umd/languageservice/services/validation/yaml-style.js +4 -3
- package/lib/umd/languageservice/services/validation/yaml-style.js.map +1 -1
- package/lib/umd/languageservice/services/yamlCodeActions.js +9 -8
- package/lib/umd/languageservice/services/yamlCodeActions.js.map +1 -1
- package/lib/umd/languageservice/services/yamlCompletion.js +41 -39
- package/lib/umd/languageservice/services/yamlCompletion.js.map +1 -1
- package/lib/umd/languageservice/services/yamlHover.js +12 -5
- package/lib/umd/languageservice/services/yamlHover.js.map +1 -1
- package/lib/umd/languageservice/services/yamlSchemaService.js +32 -9
- package/lib/umd/languageservice/services/yamlSchemaService.js.map +1 -1
- package/lib/umd/languageservice/yamlTypes.d.ts +1 -1
- package/lib/umd/requestTypes.d.ts +1 -1
- package/lib/umd/server.js +1 -4
- package/lib/umd/server.js.map +1 -1
- package/lib/umd/yamlServerInit.d.ts +2 -1
- package/lib/umd/yamlServerInit.js +25 -3
- package/lib/umd/yamlServerInit.js.map +1 -1
- package/lib/umd/yamlSettings.d.ts +1 -1
- package/lib/umd/yamlSettings.js.map +1 -1
- package/out/server/src/languageservice/jsonASTTypes.d.ts +2 -2
- package/out/server/src/languageservice/jsonSchema.d.ts +1 -1
- package/out/server/src/languageservice/parser/ast-converter.d.ts +7 -2
- package/out/server/src/languageservice/parser/ast-converter.js +21 -13
- package/out/server/src/languageservice/parser/ast-converter.js.map +1 -1
- package/out/server/src/languageservice/parser/jsonParser07.js +38 -45
- package/out/server/src/languageservice/parser/jsonParser07.js.map +1 -1
- package/out/server/src/languageservice/parser/yamlParser07.d.ts +1 -1
- package/out/server/src/languageservice/services/validation/unused-anchors.js +3 -2
- package/out/server/src/languageservice/services/validation/unused-anchors.js.map +1 -1
- package/out/server/src/languageservice/services/validation/yaml-style.js +3 -2
- package/out/server/src/languageservice/services/validation/yaml-style.js.map +1 -1
- package/out/server/src/languageservice/services/yamlCodeActions.js +8 -7
- package/out/server/src/languageservice/services/yamlCodeActions.js.map +1 -1
- package/out/server/src/languageservice/services/yamlCompletion.js +40 -38
- package/out/server/src/languageservice/services/yamlCompletion.js.map +1 -1
- package/out/server/src/languageservice/services/yamlHover.js +11 -4
- package/out/server/src/languageservice/services/yamlHover.js.map +1 -1
- package/out/server/src/languageservice/services/yamlSchemaService.js +31 -8
- package/out/server/src/languageservice/services/yamlSchemaService.js.map +1 -1
- package/out/server/src/languageservice/yamlTypes.d.ts +1 -1
- package/out/server/src/requestTypes.d.ts +1 -1
- package/out/server/src/server.js +0 -3
- package/out/server/src/server.js.map +1 -1
- package/out/server/src/yamlServerInit.d.ts +2 -1
- package/out/server/src/yamlServerInit.js +24 -2
- package/out/server/src/yamlServerInit.js.map +1 -1
- package/out/server/src/yamlSettings.d.ts +1 -1
- package/out/server/src/yamlSettings.js.map +1 -1
- package/out/server/test/autoCompletion.test.js +146 -76
- package/out/server/test/autoCompletion.test.js.map +1 -1
- package/out/server/test/bundlel10n.test.d.ts +1 -0
- package/out/server/test/bundlel10n.test.js +72 -0
- package/out/server/test/bundlel10n.test.js.map +1 -0
- package/out/server/test/hover.test.js +103 -0
- package/out/server/test/hover.test.js.map +1 -1
- package/out/server/test/utils/testHelper.js +5 -0
- package/out/server/test/utils/testHelper.js.map +1 -1
- package/out/server/test/utils/verifyError.d.ts +1 -1
- package/out/server/test/utils/verifyError.js.map +1 -1
- package/out/server/test/yamlParser.test.js +61 -0
- package/out/server/test/yamlParser.test.js.map +1 -1
- package/out/server/test/yamlSelectionRanges.test.js +1 -1
- 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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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 =
|
|
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 =
|
|
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:
|
|
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 ||
|
|
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:
|
|
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:
|
|
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:
|
|
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 ||
|
|
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 ||
|
|
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 ||
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAgB,KAAK,EAAoB,GAAG,EAAQ,MAAM,MAAM,CAAC;AAIjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;
|
|
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), '
|
|
16
|
+
result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), l10n.t('flowStyleSeqForbidden'), DiagnosticSeverity.Error, 'flowSeq'));
|
|
16
17
|
}
|
|
17
18
|
});
|
|
18
19
|
return result;
|