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
@@ -16,7 +16,8 @@ export declare class YAMLServerInit {
16
16
  validationHandler: ValidationHandler;
17
17
  settingsHandler: SettingsHandler;
18
18
  constructor(connection: Connection, yamlSettings: SettingsState, workspaceContext: WorkspaceContextService, schemaRequestService: SchemaRequestService, telemetry: Telemetry);
19
- connectionInitialized(params: InitializeParams): InitializeResult;
19
+ setupl10nBundle(params: InitializeParams): Promise<void>;
20
+ connectionInitialized(params: InitializeParams): Promise<InitializeResult>;
20
21
  private registerHandlers;
21
22
  start(): void;
22
23
  }
@@ -14,6 +14,9 @@ const commands_1 = require("./commands");
14
14
  const workspaceHandlers_1 = require("./languageserver/handlers/workspaceHandlers");
15
15
  const commandExecutor_1 = require("./languageserver/commandExecutor");
16
16
  const yamlCommands_1 = require("./languageservice/services/yamlCommands");
17
+ const l10n = require("@vscode/l10n");
18
+ const path = require("path");
19
+ const fs = require("fs");
17
20
  class YAMLServerInit {
18
21
  constructor(connection, yamlSettings, workspaceContext, schemaRequestService, telemetry) {
19
22
  this.connection = connection;
@@ -26,7 +29,7 @@ class YAMLServerInit {
26
29
  * Run when the client connects to the server after it is activated.
27
30
  * The server receives the root path(s) of the workspace and the client capabilities.
28
31
  */
29
- this.connection.onInitialize((params) => {
32
+ this.connection.onInitialize(async (params) => {
30
33
  return this.connectionInitialized(params);
31
34
  });
32
35
  this.connection.onInitialized(() => {
@@ -40,8 +43,26 @@ class YAMLServerInit {
40
43
  this.settingsHandler.pullConfiguration();
41
44
  });
42
45
  }
46
+ async setupl10nBundle(params) {
47
+ const __dirname = path.dirname(__filename);
48
+ const l10nPath = params.initializationOptions?.l10nPath || path.join(__dirname, '../../../l10n');
49
+ const locale = params.locale || 'en';
50
+ if (l10nPath) {
51
+ const bundleFile = !fs.existsSync(path.join(l10nPath, `bundle.l10n.${locale}.json`))
52
+ ? `bundle.l10n.json`
53
+ : `bundle.l10n.${locale}.json`;
54
+ const baseBundleFile = path.join(l10nPath, bundleFile);
55
+ process.env.VSCODE_NLS_CONFIG = JSON.stringify({
56
+ locale,
57
+ _languagePackSupport: true,
58
+ });
59
+ await l10n.config({
60
+ uri: vscode_uri_1.URI.file(baseBundleFile).toString(),
61
+ });
62
+ }
63
+ }
43
64
  // public for test setup
44
- connectionInitialized(params) {
65
+ async connectionInitialized(params) {
45
66
  this.yamlSettings.capabilities = params.capabilities;
46
67
  this.languageService = (0, yamlLanguageService_1.getLanguageService)({
47
68
  schemaRequestService: this.schemaRequestService,
@@ -70,6 +91,7 @@ class YAMLServerInit {
70
91
  this.yamlSettings.capabilities.workspace.didChangeWatchedFiles.dynamicRegistration);
71
92
  this.registerHandlers();
72
93
  (0, yamlCommands_1.registerCommands)(commandExecutor_1.commandExecutor, this.connection);
94
+ await this.setupl10nBundle(params);
73
95
  return {
74
96
  capabilities: {
75
97
  textDocumentSync: vscode_languageserver_1.TextDocumentSyncKind.Incremental,
@@ -1 +1 @@
1
- {"version":3,"file":"yamlServerInit.js","sourceRoot":"","sources":["../../../src/yamlServerInit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlServerInit.js","sourceRoot":"","sources":["../../../src/yamlServerInit.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export declare class SettingsState {
79
79
  keyOrdering: boolean;
80
80
  maxItemsComputed: number;
81
81
  pendingValidationRequests: {
82
- [uri: string]: NodeJS.Timer;
82
+ [uri: string]: NodeJS.Timeout;
83
83
  };
84
84
  validationDelayMs: number;
85
85
  documents: TextDocuments<TextDocument> | TextDocumentTestManager;
@@ -1 +1 @@
1
- {"version":3,"file":"yamlSettings.js","sourceRoot":"","sources":["../../../src/yamlSettings.ts"],"names":[],"mappings":";;;AAAA,iEAAuG;AAKvG,2FAAkE;AAClE,mEAA0E;AAoD1E,0DAA0D;AAC1D,MAAa,aAAa;IAA1B;QACE,8BAAyB,GAAyB,SAAS,CAAC;QAC5D,uBAAkB,GAA4D,SAAS,CAAC;QACxF,0BAAqB,GAA4B,IAAI,CAAC;QACtD,2BAAsB,GAAG,EAAE,CAAC;QAC5B,gCAA2B,GAAG,EAAE,CAAC;QACjC,uBAAkB,GAAG,IAAI,CAAC;QAC1B,0BAAqB,GAAG;YACtB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,UAAU;YACrB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;SACa,CAAC;QAC5B,oBAAe,GAAG,IAAI,CAAC;QACvB,yBAAoB,GAAG,IAAI,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QACzB,eAAU,GAAG,EAAE,CAAC;QAChB,uBAAkB,GAAG,IAAI,CAAC;QAC1B,mBAAc,GAAG,iCAAoB,CAAC;QACtC,gBAAW,GAAuB,SAAS,CAAC;QAC5C,gCAA2B,GAAG,KAAK,CAAC;QACpC,6BAAwB,GAAG,KAAK,CAAC;QACjC,YAAO,GAAG;YACR,2BAA2B,EAAE,KAAK;SACnC,CAAC;QAKF,gBAAW,GAAG,KAAK,CAAC;QACpB,qBAAgB,GAAG,IAAI,CAAC;QAExB,0BAA0B;QAC1B,8BAAyB,GAAoC,EAAE,CAAC;QAChE,sBAAiB,GAAG,GAAG,CAAC;QAExB,mEAAmE;QACnE,mCAAmC;QACnC,cAAS,GAA0D,IAAI,qCAAa,CAAC,iDAAY,CAAC,CAAC;QAInG,kBAAa,GAAQ,IAAI,CAAC;QAC1B,qBAAgB,GAAsB,EAAE,CAAC;QACzC,iCAA4B,GAAG,KAAK,CAAC;QACrC,sCAAiC,GAAG,KAAK,CAAC;QAC1C,iCAA4B,GAAG,KAAK,CAAC;QACrC,+BAA0B,GAAG,KAAK,CAAC;QACnC,4BAAuB,GAAG,KAAK,CAAC;QAChC,gBAAW,GAAgB,KAAK,CAAC;QACjC,+BAA0B,GAAG,KAAK,CAAC;QACnC,8CAAyC,GAAG,KAAK,CAAC;QAClD,mBAAc,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CAAA;AAvDD,sCAuDC;AAED,MAAa,uBAAwB,SAAQ,qCAA2B;IAGtE;QACE,KAAK,CAAC,iDAAY,CAAC,CAAC;QAHtB,sBAAiB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAIpD,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,YAA0B;QAC5B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;CACF;AAdD,0DAcC"}
1
+ {"version":3,"file":"yamlSettings.js","sourceRoot":"","sources":["../../../src/yamlSettings.ts"],"names":[],"mappings":";;;AAAA,iEAAuG;AAKvG,2FAAkE;AAClE,mEAA0E;AAoD1E,0DAA0D;AAC1D,MAAa,aAAa;IAA1B;QACE,8BAAyB,GAAyB,SAAS,CAAC;QAC5D,uBAAkB,GAA4D,SAAS,CAAC;QACxF,0BAAqB,GAA4B,IAAI,CAAC;QACtD,2BAAsB,GAAG,EAAE,CAAC;QAC5B,gCAA2B,GAAG,EAAE,CAAC;QACjC,uBAAkB,GAAG,IAAI,CAAC;QAC1B,0BAAqB,GAAG;YACtB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,UAAU;YACrB,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,IAAI;SACa,CAAC;QAC5B,oBAAe,GAAG,IAAI,CAAC;QACvB,yBAAoB,GAAG,IAAI,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QACzB,eAAU,GAAG,EAAE,CAAC;QAChB,uBAAkB,GAAG,IAAI,CAAC;QAC1B,mBAAc,GAAG,iCAAoB,CAAC;QACtC,gBAAW,GAAuB,SAAS,CAAC;QAC5C,gCAA2B,GAAG,KAAK,CAAC;QACpC,6BAAwB,GAAG,KAAK,CAAC;QACjC,YAAO,GAAG;YACR,2BAA2B,EAAE,KAAK;SACnC,CAAC;QAKF,gBAAW,GAAG,KAAK,CAAC;QACpB,qBAAgB,GAAG,IAAI,CAAC;QAExB,0BAA0B;QAC1B,8BAAyB,GAAsC,EAAE,CAAC;QAClE,sBAAiB,GAAG,GAAG,CAAC;QAExB,mEAAmE;QACnE,mCAAmC;QACnC,cAAS,GAA0D,IAAI,qCAAa,CAAC,iDAAY,CAAC,CAAC;QAInG,kBAAa,GAAQ,IAAI,CAAC;QAC1B,qBAAgB,GAAsB,EAAE,CAAC;QACzC,iCAA4B,GAAG,KAAK,CAAC;QACrC,sCAAiC,GAAG,KAAK,CAAC;QAC1C,iCAA4B,GAAG,KAAK,CAAC;QACrC,+BAA0B,GAAG,KAAK,CAAC;QACnC,4BAAuB,GAAG,KAAK,CAAC;QAChC,gBAAW,GAAgB,KAAK,CAAC;QACjC,+BAA0B,GAAG,KAAK,CAAC;QACnC,8CAAyC,GAAG,KAAK,CAAC;QAClD,mBAAc,GAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CAAA;AAvDD,sCAuDC;AAED,MAAa,uBAAwB,SAAQ,qCAA2B;IAGtE;QACE,KAAK,CAAC,iDAAY,CAAC,CAAC;QAHtB,sBAAiB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAIpD,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,YAA0B;QAC5B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;CACF;AAdD,0DAcC"}
@@ -1313,104 +1313,174 @@ describe('Auto Completion Tests', () => {
1313
1313
  const completion = await parseSetup(content, 29);
1314
1314
  (0, chai_1.expect)(completion.items[0]).deep.eq((0, verifyError_1.createExpectedCompletion)('ownerReferences', 'ownerReferences:\n - apiVersion: $1\n kind: $2\n name: $3\n uid: $4', 1, 4, 1, 19, 10, 2, { documentation: '' }));
1315
1315
  });
1316
- });
1317
- it('Array of objects autocomplete with 2 space indentation check', async () => {
1318
- const languageSettingsSetup = new serviceSetup_1.ServiceSetup().withCompletion().withIndentation(' ');
1319
- languageService.configure(languageSettingsSetup.languageSettings);
1320
- schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
1321
- type: 'object',
1322
- properties: {
1323
- metadata: {
1324
- type: 'object',
1325
- properties: {
1326
- ownerReferences: {
1327
- type: 'array',
1328
- items: {
1329
- type: 'object',
1330
- properties: {
1331
- apiVersion: {
1332
- type: 'string',
1333
- },
1334
- kind: {
1335
- type: 'string',
1336
- },
1337
- name: {
1338
- type: 'string',
1316
+ it('Array of const autocomplete', async () => {
1317
+ schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
1318
+ type: 'object',
1319
+ properties: {
1320
+ test: {
1321
+ type: 'array',
1322
+ items: {
1323
+ anyOf: [
1324
+ {
1325
+ const: 'value1',
1326
+ description: 'desc1',
1327
+ },
1328
+ {
1329
+ const: 'value2',
1330
+ description: 'desc2',
1331
+ },
1332
+ ],
1333
+ },
1334
+ },
1335
+ },
1336
+ });
1337
+ const content = 'test:\n - ';
1338
+ const result = await parseSetup(content, content.length);
1339
+ (0, chai_1.expect)(result.items.length).to.be.equal(2);
1340
+ assert.deepEqual(result.items[0], (0, verifyError_1.createExpectedCompletion)('value1', 'value1', 1, 4, 1, 4, vscode_languageserver_types_1.CompletionItemKind.Value, 2, {
1341
+ documentation: 'desc1',
1342
+ }));
1343
+ assert.deepEqual(result.items[1], (0, verifyError_1.createExpectedCompletion)('value2', 'value2', 1, 4, 1, 4, vscode_languageserver_types_1.CompletionItemKind.Value, 2, {
1344
+ documentation: 'desc2',
1345
+ }));
1346
+ });
1347
+ it('Array of objects autocomplete with 2 space indentation check', async () => {
1348
+ const languageSettingsSetup = new serviceSetup_1.ServiceSetup().withCompletion().withIndentation(' ');
1349
+ languageService.configure(languageSettingsSetup.languageSettings);
1350
+ schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
1351
+ type: 'object',
1352
+ properties: {
1353
+ metadata: {
1354
+ type: 'object',
1355
+ properties: {
1356
+ ownerReferences: {
1357
+ type: 'array',
1358
+ items: {
1359
+ type: 'object',
1360
+ properties: {
1361
+ apiVersion: {
1362
+ type: 'string',
1363
+ },
1364
+ kind: {
1365
+ type: 'string',
1366
+ },
1367
+ name: {
1368
+ type: 'string',
1369
+ },
1370
+ uid: {
1371
+ type: 'string',
1372
+ },
1339
1373
  },
1340
- uid: {
1341
- type: 'string',
1374
+ required: ['apiVersion', 'kind', 'name', 'uid'],
1375
+ },
1376
+ },
1377
+ },
1378
+ },
1379
+ },
1380
+ });
1381
+ const content = 'metadata:\n ownerReferences'; // len: 27
1382
+ const completion = await parseSetup(content, 27);
1383
+ (0, chai_1.expect)(completion.items[0]).deep.eq((0, verifyError_1.createExpectedCompletion)('ownerReferences', 'ownerReferences:\n - apiVersion: $1\n kind: $2\n name: $3\n uid: $4', 1, 2, 1, 17, 10, 2, { documentation: '' }));
1384
+ });
1385
+ it('Array of objects autocomplete with 3 space indentation check', async () => {
1386
+ const languageSettingsSetup = new serviceSetup_1.ServiceSetup().withCompletion().withIndentation(' ');
1387
+ languageService.configure(languageSettingsSetup.languageSettings);
1388
+ schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
1389
+ type: 'object',
1390
+ properties: {
1391
+ metadata: {
1392
+ type: 'object',
1393
+ properties: {
1394
+ ownerReferences: {
1395
+ type: 'array',
1396
+ items: {
1397
+ type: 'object',
1398
+ properties: {
1399
+ apiVersion: {
1400
+ type: 'string',
1401
+ },
1402
+ kind: {
1403
+ type: 'string',
1404
+ },
1405
+ name: {
1406
+ type: 'string',
1407
+ },
1408
+ uid: {
1409
+ type: 'string',
1410
+ },
1342
1411
  },
1412
+ required: ['apiVersion', 'kind', 'name', 'uid'],
1343
1413
  },
1344
- required: ['apiVersion', 'kind', 'name', 'uid'],
1345
1414
  },
1346
1415
  },
1347
1416
  },
1348
1417
  },
1349
- },
1418
+ });
1419
+ const content = 'metadata:\n ownerReference|s|'; // len: 28, pos: 27
1420
+ const completion = await parseSetup(content);
1421
+ (0, chai_1.expect)(completion.items[0]).deep.eq((0, verifyError_1.createExpectedCompletion)('ownerReferences', 'ownerReferences:\n - apiVersion: $1\n kind: $2\n name: $3\n uid: $4', 1, 3, 1, 18, 10, 2, { documentation: '' }));
1350
1422
  });
1351
- const content = 'metadata:\n ownerReferences'; // len: 27
1352
- const completion = await parseSetup(content, 27);
1353
- (0, chai_1.expect)(completion.items[0]).deep.eq((0, verifyError_1.createExpectedCompletion)('ownerReferences', 'ownerReferences:\n - apiVersion: $1\n kind: $2\n name: $3\n uid: $4', 1, 2, 1, 17, 10, 2, { documentation: '' }));
1354
- });
1355
- it('Array of objects autocomplete with 3 space indentation check', async () => {
1356
- const languageSettingsSetup = new serviceSetup_1.ServiceSetup().withCompletion().withIndentation(' ');
1357
- languageService.configure(languageSettingsSetup.languageSettings);
1358
- schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
1359
- type: 'object',
1360
- properties: {
1361
- metadata: {
1423
+ describe('Map const in the next line', async () => {
1424
+ beforeEach(() => {
1425
+ schemaProvider.addSchema(testHelper_1.SCHEMA_ID, {
1362
1426
  type: 'object',
1363
1427
  properties: {
1364
- ownerReferences: {
1428
+ test: {
1365
1429
  type: 'array',
1366
1430
  items: {
1367
1431
  type: 'object',
1368
1432
  properties: {
1369
- apiVersion: {
1370
- type: 'string',
1371
- },
1372
- kind: {
1373
- type: 'string',
1374
- },
1375
- name: {
1376
- type: 'string',
1377
- },
1378
- uid: {
1433
+ constProp: {
1379
1434
  type: 'string',
1435
+ const: 'const1',
1436
+ description: 'test desc',
1380
1437
  },
1381
1438
  },
1382
- required: ['apiVersion', 'kind', 'name', 'uid'],
1383
1439
  },
1384
1440
  },
1385
1441
  },
1386
- },
1387
- },
1388
- });
1389
- const content = 'metadata:\n ownerReference|s|'; // len: 28, pos: 27
1390
- const completion = await parseSetup(content);
1391
- (0, chai_1.expect)(completion.items[0]).deep.eq((0, verifyError_1.createExpectedCompletion)('ownerReferences', 'ownerReferences:\n - apiVersion: $1\n kind: $2\n name: $3\n uid: $4', 1, 3, 1, 18, 10, 2, { documentation: '' }));
1392
- });
1393
- it('Array completion - should not suggest const', async () => {
1394
- languageService.addSchema(testHelper_1.SCHEMA_ID, {
1395
- type: 'object',
1396
- properties: {
1397
- test: {
1398
- type: 'array',
1399
- items: {
1400
- type: 'object',
1401
- properties: {
1402
- constProp: {
1403
- type: 'string',
1404
- const: 'const1',
1405
- },
1406
- },
1442
+ });
1443
+ });
1444
+ it('Next line const with :', async () => {
1445
+ const content = 'test:\n - constProp:\n ';
1446
+ const result = await parseSetup(content, content.length);
1447
+ (0, chai_1.expect)(result.items.length).to.be.equal(0);
1448
+ });
1449
+ // For some reason, this gets inserted at the cursor (char 4)
1450
+ // It should be inserted at char 2
1451
+ xit('Next line const no :', async () => {
1452
+ const content = 'test:\n - constProp\n ';
1453
+ const result = await parseSetup(content, content.length);
1454
+ (0, chai_1.expect)(result.items.length).to.be.equal(1);
1455
+ assert.deepEqual(result.items[0], (0, verifyError_1.createExpectedCompletion)('- (array item) object', '- ', 2, 2, 2, 2, vscode_languageserver_types_1.CompletionItemKind.Module, vscode_languageserver_types_1.InsertTextFormat.Snippet));
1456
+ });
1457
+ it('Next line const with |-', async () => {
1458
+ const content = 'test:\n - constProp: |-\n ';
1459
+ const result = await parseSetup(content, content.length);
1460
+ (0, chai_1.expect)(result.items.length).to.be.equal(1);
1461
+ assert.deepEqual(result.items[0], (0, verifyError_1.createExpectedCompletion)('const1', 'const1', 2, 6, 2, 6, vscode_languageserver_types_1.CompletionItemKind.Value, vscode_languageserver_types_1.InsertTextFormat.Snippet, {
1462
+ documentation: 'test desc',
1463
+ }));
1464
+ });
1465
+ it('Next line const with : but array level completion', async () => {
1466
+ const content = 'test:\n - constProp:\n ';
1467
+ const result = await parseSetup(content, content.length);
1468
+ (0, chai_1.expect)(result.items.length).to.be.equal(0);
1469
+ });
1470
+ it('Next line const with : & |- but array level completion', async () => {
1471
+ const content = 'test:\n - constProp: |-\n ';
1472
+ const result = await parseSetup(content, content.length);
1473
+ (0, chai_1.expect)(result.items.length).to.be.equal(1);
1474
+ (0, chai_1.expect)(result.items[0]).contain;
1475
+ // TODO: Ideally, this would not be a deep equal, it'd be does real contain expected
1476
+ assert.deepEqual(result.items[0], (0, verifyError_1.createExpectedCompletion)('- (array item) object', '- ', 2, 2, 2, 2, vscode_languageserver_types_1.CompletionItemKind.Module, vscode_languageserver_types_1.InsertTextFormat.Snippet, {
1477
+ documentation: {
1478
+ kind: 'markdown',
1479
+ value: 'Create an item of an array type `object`\n ```\n- \n```',
1407
1480
  },
1408
- },
1409
- },
1481
+ }));
1482
+ });
1410
1483
  });
1411
- const content = 'test:\n - constProp:\n ';
1412
- const result = await parseSetup(content, content.length);
1413
- (0, chai_1.expect)(result.items.length).to.be.equal(0);
1414
1484
  });
1415
1485
  it('Object in array with 4 space indentation check', async () => {
1416
1486
  const languageSettingsSetup = new serviceSetup_1.ServiceSetup().withCompletion().withIndentation(' ');