yaml-language-server 1.20.1-410cff9.0 → 1.20.1-53d0a34.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/eslint-result.sarif +113 -108
- package/lib/esm/languageserver/handlers/settingsHandlers.js +2 -2
- package/lib/esm/languageserver/handlers/settingsHandlers.js.map +1 -1
- package/lib/esm/languageservice/parser/jsonParser07.js +1 -1
- package/lib/esm/languageservice/parser/jsonParser07.js.map +1 -1
- package/lib/esm/languageservice/services/yamlCodeActions.js +3 -1
- package/lib/esm/languageservice/services/yamlCodeActions.js.map +1 -1
- package/lib/esm/languageservice/services/yamlCompletion.d.ts +0 -2
- package/lib/esm/languageservice/services/yamlCompletion.js +39 -79
- package/lib/esm/languageservice/services/yamlCompletion.js.map +1 -1
- package/lib/esm/languageservice/services/yamlHover.js +3 -4
- package/lib/esm/languageservice/services/yamlHover.js.map +1 -1
- package/lib/esm/languageservice/utils/objects.js +3 -2
- package/lib/esm/languageservice/utils/objects.js.map +1 -1
- package/lib/esm/languageservice/utils/yamlScalar.d.ts +1 -0
- package/lib/esm/languageservice/utils/yamlScalar.js +69 -0
- package/lib/esm/languageservice/utils/yamlScalar.js.map +1 -0
- package/lib/umd/languageserver/handlers/settingsHandlers.js +2 -2
- package/lib/umd/languageserver/handlers/settingsHandlers.js.map +1 -1
- package/lib/umd/languageservice/parser/jsonParser07.js +1 -1
- package/lib/umd/languageservice/parser/jsonParser07.js.map +1 -1
- package/lib/umd/languageservice/services/yamlCodeActions.js +4 -2
- package/lib/umd/languageservice/services/yamlCodeActions.js.map +1 -1
- package/lib/umd/languageservice/services/yamlCompletion.d.ts +0 -2
- package/lib/umd/languageservice/services/yamlCompletion.js +40 -80
- package/lib/umd/languageservice/services/yamlCompletion.js.map +1 -1
- package/lib/umd/languageservice/services/yamlHover.js +4 -5
- package/lib/umd/languageservice/services/yamlHover.js.map +1 -1
- package/lib/umd/languageservice/utils/objects.js +4 -3
- package/lib/umd/languageservice/utils/objects.js.map +1 -1
- package/lib/umd/languageservice/utils/yamlScalar.d.ts +1 -0
- package/lib/umd/languageservice/utils/yamlScalar.js +83 -0
- package/lib/umd/languageservice/utils/yamlScalar.js.map +1 -0
- package/out/server/src/languageserver/handlers/settingsHandlers.js +2 -2
- package/out/server/src/languageserver/handlers/settingsHandlers.js.map +1 -1
- package/out/server/src/languageservice/parser/jsonParser07.js +1 -1
- package/out/server/src/languageservice/parser/jsonParser07.js.map +1 -1
- package/out/server/src/languageservice/services/yamlCodeActions.js +3 -1
- package/out/server/src/languageservice/services/yamlCodeActions.js.map +1 -1
- package/out/server/src/languageservice/services/yamlCompletion.d.ts +0 -2
- package/out/server/src/languageservice/services/yamlCompletion.js +39 -79
- package/out/server/src/languageservice/services/yamlCompletion.js.map +1 -1
- package/out/server/src/languageservice/services/yamlHover.js +3 -4
- package/out/server/src/languageservice/services/yamlHover.js.map +1 -1
- package/out/server/src/languageservice/utils/objects.js +3 -2
- package/out/server/src/languageservice/utils/objects.js.map +1 -1
- package/out/server/src/languageservice/utils/yamlScalar.d.ts +1 -0
- package/out/server/src/languageservice/utils/yamlScalar.js +73 -0
- package/out/server/src/languageservice/utils/yamlScalar.js.map +1 -0
- package/out/server/test/autoCompletion.test.js +45 -4
- package/out/server/test/autoCompletion.test.js.map +1 -1
- package/out/server/test/autoCompletionFix.test.js +120 -18
- package/out/server/test/autoCompletionFix.test.js.map +1 -1
- package/out/server/test/hover.test.js +191 -7
- package/out/server/test/hover.test.js.map +1 -1
- package/out/server/test/schemaValidation.test.js +102 -0
- package/out/server/test/schemaValidation.test.js.map +1 -1
- package/out/server/test/settingsHandlers.test.js +2 -2
- package/out/server/test/settingsHandlers.test.js.map +1 -1
- package/out/server/test/utils/serviceSetup.d.ts +2 -0
- package/out/server/test/utils/serviceSetup.js +4 -0
- package/out/server/test/utils/serviceSetup.js.map +1 -1
- package/out/server/test/yamlCodeActions.test.js +15 -0
- package/out/server/test/yamlCodeActions.test.js.map +1 -1
- package/out/server/test/yamlLanguageService.test.js +1 -1
- package/out/server/test/yamlLanguageService.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../../../src/languageservice/utils/objects.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,iHAAiH;AACjH,SAAgB,MAAM,CAAC,GAAQ,EAAE,KAAU,EAAE,IAAU;IACrD,IAAI,IAAI,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../../../src/languageservice/utils/objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function toYamlStringScalar(s: string, preferSingleQuote?: boolean): string;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) IBM Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.toYamlStringScalar = void 0;
|
|
8
|
+
function toYamlStringScalar(s, preferSingleQuote = false) {
|
|
9
|
+
const quote = preferSingleQuote ? "'" : '"';
|
|
10
|
+
// empty string
|
|
11
|
+
if (s.length === 0) {
|
|
12
|
+
return `${quote}${quote}`;
|
|
13
|
+
}
|
|
14
|
+
// single quote character
|
|
15
|
+
if (s.length === 1 && s === '"') {
|
|
16
|
+
return '"\\""';
|
|
17
|
+
}
|
|
18
|
+
// literal quote strings like "" or ''
|
|
19
|
+
if (s.length === 2 && ((s[0] === '"' && s[1] === '"') || (s[0] === "'" && s[1] === "'"))) {
|
|
20
|
+
return s[0] === '"' ? '"\\"\\""' : `"''"`;
|
|
21
|
+
}
|
|
22
|
+
// check if the string is already a properly quoted YAML string
|
|
23
|
+
if (s.length >= 2) {
|
|
24
|
+
const firstChar = s[0];
|
|
25
|
+
const lastChar = s[s.length - 1];
|
|
26
|
+
if ((firstChar === '"' && lastChar === '"') || (firstChar === "'" && lastChar === "'")) {
|
|
27
|
+
return s;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// strings containing quotes or backslashes
|
|
31
|
+
if (/["\\]/.test(s)) {
|
|
32
|
+
return JSON.stringify(s);
|
|
33
|
+
}
|
|
34
|
+
// support YAML spec 1.1 boolean values and null
|
|
35
|
+
if (/^(?:on|off|true|false|yes|no|null|~)$/i.test(s)) {
|
|
36
|
+
return `${quote}${s}${quote}`;
|
|
37
|
+
}
|
|
38
|
+
// numeric values: integer/float, hex (0x), and octal (0o or YAML 1.1 style 0[0-7]+)
|
|
39
|
+
if (/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/.test(s) ||
|
|
40
|
+
/^0x[0-9a-fA-F]+$/.test(s) ||
|
|
41
|
+
/^0o[0-7]+$/.test(s) ||
|
|
42
|
+
/^0[0-7]+$/.test(s)) {
|
|
43
|
+
return `"${s}"`;
|
|
44
|
+
}
|
|
45
|
+
// leading/trailing whitespaces need quoting
|
|
46
|
+
if (/^\s|\s$/.test(s)) {
|
|
47
|
+
return preferSingleQuote ? `'${s.replace(/'/g, "''")}'` : JSON.stringify(s);
|
|
48
|
+
}
|
|
49
|
+
// comment indicator
|
|
50
|
+
if (/(?:^|\s)#/.test(s)) {
|
|
51
|
+
return preferSingleQuote ? `'${s.replace(/'/g, "''")}'` : JSON.stringify(s);
|
|
52
|
+
}
|
|
53
|
+
// reserved indicators that cannot start a plain scalar
|
|
54
|
+
if (/^[\][{}#&*!|>'"%@`]/.test(s)) {
|
|
55
|
+
return preferSingleQuote ? `'${s.replace(/'/g, "''")}'` : JSON.stringify(s);
|
|
56
|
+
}
|
|
57
|
+
// -, ?, or : followed by space or end
|
|
58
|
+
if (/^[-?:](\s|$)/.test(s)) {
|
|
59
|
+
return preferSingleQuote ? `'${s.replace(/'/g, "''")}'` : JSON.stringify(s);
|
|
60
|
+
}
|
|
61
|
+
// colon in middle (mapping key indicator)
|
|
62
|
+
// e.g. `foo: bar` or `foo : bar` needs quoting, but `foo:bar` does not
|
|
63
|
+
if (/(?:^|[^:]):(?:\s|$)/.test(s)) {
|
|
64
|
+
return preferSingleQuote ? `'${s.replace(/'/g, "''")}'` : JSON.stringify(s);
|
|
65
|
+
}
|
|
66
|
+
// newlines, tabs, or carriage return
|
|
67
|
+
if (/[\n\t\r]/.test(s)) {
|
|
68
|
+
return JSON.stringify(s);
|
|
69
|
+
}
|
|
70
|
+
return s;
|
|
71
|
+
}
|
|
72
|
+
exports.toYamlStringScalar = toYamlStringScalar;
|
|
73
|
+
//# sourceMappingURL=yamlScalar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yamlScalar.js","sourceRoot":"","sources":["../../../../../src/languageservice/utils/yamlScalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1630,7 +1630,7 @@ describe('Auto Completion Tests', () => {
|
|
|
1630
1630
|
const content = 'from: ';
|
|
1631
1631
|
const completion = await parseSetup(content, content.length);
|
|
1632
1632
|
(0, chai_1.expect)(completion.items.length).equal(1);
|
|
1633
|
-
(0, chai_1.expect)(completion.items[0]).to.deep.equal((0, verifyError_1.createExpectedCompletion)('@test', '"@test"', 0, 6, 0, 6, 12, 2, {
|
|
1633
|
+
(0, chai_1.expect)(completion.items[0]).to.deep.equal((0, verifyError_1.createExpectedCompletion)('"@test"', '"@test"', 0, 6, 0, 6, 12, 2, {
|
|
1634
1634
|
documentation: undefined,
|
|
1635
1635
|
}));
|
|
1636
1636
|
});
|
|
@@ -2024,10 +2024,10 @@ describe('Auto Completion Tests', () => {
|
|
|
2024
2024
|
const testItem = completion.items.find((i) => i.label === 'test');
|
|
2025
2025
|
(0, chai_1.expect)(testItem).to.not.undefined;
|
|
2026
2026
|
(0, chai_1.expect)(testItem.textEdit.newText).equal('test');
|
|
2027
|
-
const oneItem = completion.items.find((i) => i.label === '1');
|
|
2027
|
+
const oneItem = completion.items.find((i) => i.label === '"1"');
|
|
2028
2028
|
(0, chai_1.expect)(oneItem).to.not.undefined;
|
|
2029
2029
|
(0, chai_1.expect)(oneItem.textEdit.newText).equal('"1"');
|
|
2030
|
-
const trueItem = completion.items.find((i) => i.label === 'true');
|
|
2030
|
+
const trueItem = completion.items.find((i) => i.label === '"true"');
|
|
2031
2031
|
(0, chai_1.expect)(trueItem).to.not.undefined;
|
|
2032
2032
|
(0, chai_1.expect)(trueItem.textEdit.newText).equal('"true"');
|
|
2033
2033
|
});
|
|
@@ -2267,7 +2267,48 @@ describe('Auto Completion Tests', () => {
|
|
|
2267
2267
|
const completion = await parseSetup(content, 9);
|
|
2268
2268
|
(0, chai_1.expect)(completion.items).lengthOf(2);
|
|
2269
2269
|
(0, chai_1.expect)(completion.items[0]).eql((0, verifyError_1.createExpectedCompletion)('2', '2', 0, 9, 0, 9, 12, vscode_languageserver_types_1.InsertTextFormat.Snippet, { documentation: undefined }));
|
|
2270
|
-
(0, chai_1.expect)(completion.items[1]).eql((0, verifyError_1.createExpectedCompletion)('2.1', '2.1', 0, 9, 0, 9, 12, vscode_languageserver_types_1.InsertTextFormat.Snippet, {
|
|
2270
|
+
(0, chai_1.expect)(completion.items[1]).eql((0, verifyError_1.createExpectedCompletion)('2.1', '2.1', 0, 9, 0, 9, 12, vscode_languageserver_types_1.InsertTextFormat.Snippet, {
|
|
2271
|
+
documentation: undefined,
|
|
2272
|
+
detail: 'Default value',
|
|
2273
|
+
}));
|
|
2274
|
+
});
|
|
2275
|
+
it('required enum property completes with default value', async () => {
|
|
2276
|
+
schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
|
|
2277
|
+
type: 'object',
|
|
2278
|
+
properties: {
|
|
2279
|
+
Mode: {
|
|
2280
|
+
type: 'integer',
|
|
2281
|
+
enum: [0, 1],
|
|
2282
|
+
default: 1,
|
|
2283
|
+
},
|
|
2284
|
+
},
|
|
2285
|
+
required: ['Mode'],
|
|
2286
|
+
});
|
|
2287
|
+
const completion = await parseSetup('', 0);
|
|
2288
|
+
(0, chai_1.expect)(completion.items[0]).eql((0, verifyError_1.createExpectedCompletion)('Mode', 'Mode: 1', 0, 0, 0, 0, 10, vscode_languageserver_types_1.InsertTextFormat.Snippet, { documentation: '' }));
|
|
2289
|
+
});
|
|
2290
|
+
it('enum completion should label the default value', async () => {
|
|
2291
|
+
schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
|
|
2292
|
+
type: 'object',
|
|
2293
|
+
properties: {
|
|
2294
|
+
Mode: {
|
|
2295
|
+
type: 'integer',
|
|
2296
|
+
enum: [0, 1],
|
|
2297
|
+
default: 1,
|
|
2298
|
+
},
|
|
2299
|
+
},
|
|
2300
|
+
});
|
|
2301
|
+
const content = 'Mode: ';
|
|
2302
|
+
const completion = await parseSetup(content, content.length);
|
|
2303
|
+
const zero = completion.items.find((i) => i.label === '0');
|
|
2304
|
+
const one = completion.items.find((i) => i.label === '1');
|
|
2305
|
+
(0, chai_1.expect)(zero, 'Expected enum option 0').to.not.be.undefined;
|
|
2306
|
+
(0, chai_1.expect)(one, 'Expected enum option 1').to.not.be.undefined;
|
|
2307
|
+
(0, chai_1.expect)(zero).eql((0, verifyError_1.createExpectedCompletion)('0', '0', 0, 6, 0, 6, 12, 2, { documentation: undefined }));
|
|
2308
|
+
(0, chai_1.expect)(one).eql((0, verifyError_1.createExpectedCompletion)('1', '1', 0, 6, 0, 6, 12, 2, {
|
|
2309
|
+
documentation: undefined,
|
|
2310
|
+
detail: 'Default value',
|
|
2311
|
+
}));
|
|
2271
2312
|
});
|
|
2272
2313
|
});
|
|
2273
2314
|
describe('Array completion', () => {
|