yaml-language-server 1.20.1-1758417.0 → 1.20.1-1dc7e48.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 (60) hide show
  1. package/bin/yaml-language-server +24 -0
  2. package/eslint-result.sarif +93 -88
  3. package/lib/esm/languageservice/services/yamlCodeActions.js +3 -1
  4. package/lib/esm/languageservice/services/yamlCodeActions.js.map +1 -1
  5. package/lib/esm/languageservice/services/yamlCompletion.d.ts +1 -2
  6. package/lib/esm/languageservice/services/yamlCompletion.js +79 -74
  7. package/lib/esm/languageservice/services/yamlCompletion.js.map +1 -1
  8. package/lib/esm/languageservice/services/yamlHover.js +3 -4
  9. package/lib/esm/languageservice/services/yamlHover.js.map +1 -1
  10. package/lib/esm/languageservice/utils/objects.js +3 -2
  11. package/lib/esm/languageservice/utils/objects.js.map +1 -1
  12. package/lib/esm/languageservice/utils/yamlScalar.d.ts +1 -0
  13. package/lib/esm/languageservice/utils/yamlScalar.js +69 -0
  14. package/lib/esm/languageservice/utils/yamlScalar.js.map +1 -0
  15. package/lib/esm/yamlServerInit.js +4 -0
  16. package/lib/esm/yamlServerInit.js.map +1 -1
  17. package/lib/umd/languageservice/services/yamlCodeActions.js +4 -2
  18. package/lib/umd/languageservice/services/yamlCodeActions.js.map +1 -1
  19. package/lib/umd/languageservice/services/yamlCompletion.d.ts +1 -2
  20. package/lib/umd/languageservice/services/yamlCompletion.js +80 -75
  21. package/lib/umd/languageservice/services/yamlCompletion.js.map +1 -1
  22. package/lib/umd/languageservice/services/yamlHover.js +4 -5
  23. package/lib/umd/languageservice/services/yamlHover.js.map +1 -1
  24. package/lib/umd/languageservice/utils/objects.js +4 -3
  25. package/lib/umd/languageservice/utils/objects.js.map +1 -1
  26. package/lib/umd/languageservice/utils/yamlScalar.d.ts +1 -0
  27. package/lib/umd/languageservice/utils/yamlScalar.js +83 -0
  28. package/lib/umd/languageservice/utils/yamlScalar.js.map +1 -0
  29. package/lib/umd/yamlServerInit.js +4 -0
  30. package/lib/umd/yamlServerInit.js.map +1 -1
  31. package/out/server/src/languageservice/services/yamlCodeActions.js +3 -1
  32. package/out/server/src/languageservice/services/yamlCodeActions.js.map +1 -1
  33. package/out/server/src/languageservice/services/yamlCompletion.d.ts +1 -2
  34. package/out/server/src/languageservice/services/yamlCompletion.js +79 -74
  35. package/out/server/src/languageservice/services/yamlCompletion.js.map +1 -1
  36. package/out/server/src/languageservice/services/yamlHover.js +3 -4
  37. package/out/server/src/languageservice/services/yamlHover.js.map +1 -1
  38. package/out/server/src/languageservice/utils/objects.js +3 -2
  39. package/out/server/src/languageservice/utils/objects.js.map +1 -1
  40. package/out/server/src/languageservice/utils/yamlScalar.d.ts +1 -0
  41. package/out/server/src/languageservice/utils/yamlScalar.js +73 -0
  42. package/out/server/src/languageservice/utils/yamlScalar.js.map +1 -0
  43. package/out/server/src/yamlServerInit.js +4 -0
  44. package/out/server/src/yamlServerInit.js.map +1 -1
  45. package/out/server/test/autoCompletion.test.js +3 -3
  46. package/out/server/test/autoCompletion.test.js.map +1 -1
  47. package/out/server/test/autoCompletionFix.test.js +206 -14
  48. package/out/server/test/autoCompletionFix.test.js.map +1 -1
  49. package/out/server/test/hover.test.js +191 -7
  50. package/out/server/test/hover.test.js.map +1 -1
  51. package/out/server/test/schemaValidation.test.js +62 -0
  52. package/out/server/test/schemaValidation.test.js.map +1 -1
  53. package/out/server/test/utils/serviceSetup.d.ts +2 -0
  54. package/out/server/test/utils/serviceSetup.js +4 -0
  55. package/out/server/test/utils/serviceSetup.js.map +1 -1
  56. package/out/server/test/yamlCodeActions.test.js +15 -0
  57. package/out/server/test/yamlCodeActions.test.js.map +1 -1
  58. package/out/server/test/yamlLanguageService.test.js +1 -1
  59. package/out/server/test/yamlLanguageService.test.js.map +1 -1
  60. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { CodeAction, CodeActionKind, Command, Position, Range, TextEdit, } from
6
6
  import { YamlCommands } from '../../commands';
7
7
  import * as path from 'path';
8
8
  import { TextBuffer } from '../utils/textBuffer';
9
+ import { toYamlStringScalar } from '../utils/yamlScalar';
9
10
  import { YAML_SOURCE } from '../parser/jsonParser07';
10
11
  import { getFirstNonWhitespaceCharacterAfterOffset } from '../utils/strings';
11
12
  import { matchOffsetToDocument } from '../utils/arrUtils';
@@ -264,7 +265,8 @@ export class YamlCodeActions {
264
265
  continue;
265
266
  }
266
267
  for (const value of values) {
267
- results.push(CodeAction.create(String(value), createWorkspaceEdit(document.uri, [TextEdit.replace(diagnostic.range, String(value))]), CodeActionKind.QuickFix));
268
+ const scalar = typeof value === 'string' ? toYamlStringScalar(value) : String(value);
269
+ results.push(CodeAction.create(scalar, createWorkspaceEdit(document.uri, [TextEdit.replace(diagnostic.range, scalar)]), CodeActionKind.QuickFix));
268
270
  }
269
271
  }
270
272
  return results;
@@ -1 +1 @@
1
- {"version":3,"file":"yamlCodeActions.js","sourceRoot":"","sources":["../../../../src/languageservice/services/yamlCodeActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlCodeActions.js","sourceRoot":"","sources":["../../../../src/languageservice/services/yamlCodeActions.ts"],"names":[],"mappings":"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"}
@@ -66,8 +66,7 @@ export declare class YamlCompletion {
66
66
  private fromMarkup;
67
67
  private doesSupportMarkdown;
68
68
  private findItemAtOffset;
69
- isNumberExp: RegExp;
70
- convertToStringValue(param: unknown): string;
69
+ private getPropertyNamesCandidates;
71
70
  getQuote(): string;
72
71
  /**
73
72
  * simplify `{$1:value}` to `value`
@@ -14,8 +14,8 @@ import { asSchema } from '../parser/jsonParser07';
14
14
  import { indexOf, isInComment, isMapContainsEmptyPair } from '../utils/astUtils';
15
15
  import { isModeline } from './modelineUtil';
16
16
  import { getSchemaTypeName, isAnyOfAllOfOneOfType, isPrimitiveType } from '../utils/schemaUtils';
17
+ import { toYamlStringScalar } from '../utils/yamlScalar';
17
18
  import * as l10n from '@vscode/l10n';
18
- const doubleQuotesEscapeRegExp = /[\\]+"/g;
19
19
  const parentCompletionKind = CompletionItemKind.Class;
20
20
  const existingProposeItem = '__';
21
21
  export class YamlCompletion {
@@ -26,7 +26,6 @@ export class YamlCompletion {
26
26
  this.telemetry = telemetry;
27
27
  this.completionEnabled = true;
28
28
  this.arrayPrefixIndentation = '';
29
- this.isNumberExp = /^\d+$/;
30
29
  }
31
30
  configure(languageSettings, yamlSettings) {
32
31
  if (languageSettings) {
@@ -159,7 +158,7 @@ export class YamlCompletion {
159
158
  if (!isString(label)) {
160
159
  label = String(label);
161
160
  }
162
- label = label.replace(/[\n]/g, '↵');
161
+ label = label.replace(/\n|\\n/g, '↵');
163
162
  if (label.length > 60) {
164
163
  const shortendedLabel = label.substr(0, 57).trim() + '...';
165
164
  if (!proposed[shortendedLabel]) {
@@ -175,13 +174,13 @@ export class YamlCompletion {
175
174
  completionItem.textEdit = TextEdit.replace(overwriteRange, label);
176
175
  }
177
176
  else {
178
- let mdText = completionItem.insertText.replace(/\${[0-9]+[:|](.*)}/g, (s, arg) => arg).replace(/\$([0-9]+)/g, '');
179
- const splitMDText = mdText.split(':');
180
- let value = splitMDText.length > 1 ? splitMDText[1].trim() : mdText;
181
- if (value && /^(['\\"\\])$/.test(value)) {
182
- value = `${this.getQuote()}\\${value}${this.getQuote()}`;
183
- mdText = splitMDText.length > 1 ? splitMDText[0] + ': ' + value : value;
184
- completionItem.insertText = mdText;
177
+ const mdText = completionItem.insertText.replace(/\${[0-9]+[:|](.*)}/g, (s, arg) => arg).replace(/\$([0-9]+)/g, '');
178
+ // handle single special characters that need escaping: ', ", \
179
+ const singleCharMatch = mdText.match(/^([^:"]+):\s*(['\\"\\])$/);
180
+ if (singleCharMatch) {
181
+ const key = singleCharMatch[1];
182
+ const char = singleCharMatch[2];
183
+ completionItem.insertText = `${key}: ${this.getQuote()}\\${char}${this.getQuote()}`;
185
184
  }
186
185
  // trim $1 from end of completion
187
186
  if (completionItem.insertText.endsWith('$1') && !isForParentCompletion) {
@@ -700,17 +699,36 @@ export class YamlCompletion {
700
699
  if (nodeParent && isSeq(nodeParent) && isPrimitiveType(schema.schema)) {
701
700
  this.addSchemaValueCompletions(schema.schema, separatorAfter, collector, {}, ignoreScalars);
702
701
  }
703
- if (schema.schema.propertyNames && schema.schema.additionalProperties && schema.schema.type === 'object') {
702
+ if (schema.schema.type === 'object' && schema.schema.propertyNames && schema.schema.additionalProperties !== false) {
704
703
  const propertyNameSchema = asSchema(schema.schema.propertyNames);
705
704
  if (!propertyNameSchema.deprecationMessage && !propertyNameSchema.doNotSuggest) {
706
- const label = propertyNameSchema.title || 'property';
707
- collector.add({
708
- kind: CompletionItemKind.Property,
709
- label,
710
- insertText: '$' + `{1:${label}}: `,
711
- insertTextFormat: InsertTextFormat.Snippet,
712
- documentation: this.fromMarkup(propertyNameSchema.markdownDescription) || propertyNameSchema.description || '',
713
- });
705
+ const doc = this.fromMarkup((propertyNameSchema.markdownDescription || propertyNameSchema.description || '') +
706
+ (propertyNameSchema.pattern ? `\n\n**Pattern:** \`${propertyNameSchema.pattern}\`` : ''));
707
+ const { candidates, impossible } = this.getPropertyNamesCandidates(propertyNameSchema);
708
+ if (impossible) {
709
+ // suggest nothing
710
+ }
711
+ else if (candidates.length) {
712
+ for (const key of candidates) {
713
+ collector.add({
714
+ kind: CompletionItemKind.Property,
715
+ label: key,
716
+ insertText: `${key}: `,
717
+ insertTextFormat: InsertTextFormat.PlainText,
718
+ documentation: doc,
719
+ });
720
+ }
721
+ }
722
+ else {
723
+ const label = propertyNameSchema.title || 'property';
724
+ collector.add({
725
+ kind: CompletionItemKind.Property,
726
+ label,
727
+ insertText: '$' + `{1:${label}}: `,
728
+ insertTextFormat: InsertTextFormat.Snippet,
729
+ documentation: doc,
730
+ });
731
+ }
714
732
  }
715
733
  }
716
734
  }
@@ -852,7 +870,7 @@ export class YamlCompletion {
852
870
  }
853
871
  nValueProposals += propertySchema.enum.length;
854
872
  }
855
- if (propertySchema.const) {
873
+ if (isDefined(propertySchema.const)) {
856
874
  if (!value) {
857
875
  value = this.getInsertTextForGuessedValue(propertySchema.const, '', type);
858
876
  value = this.evaluateTab1Symbol(value); // prevent const being selected after snippet insert
@@ -942,7 +960,7 @@ export class YamlCompletion {
942
960
  let value = propertySchema.default || propertySchema.const;
943
961
  if (value) {
944
962
  if (type === 'string') {
945
- value = this.convertToStringValue(value);
963
+ value = toYamlStringScalar(value);
946
964
  }
947
965
  insertText += `${indent}${key}: \${${insertIndex++}:${value}}\n`;
948
966
  }
@@ -986,7 +1004,7 @@ export class YamlCompletion {
986
1004
  key === 'null' ? this.getInsertTextForValue(key, '', 'string') : key}: \${${insertIndex++}:${propertySchema.default}}\n`;
987
1005
  break;
988
1006
  case 'string':
989
- insertText += `${indent}${key}: \${${insertIndex++}:${this.convertToStringValue(propertySchema.default)}}\n`;
1007
+ insertText += `${indent}${key}: \${${insertIndex++}:${toYamlStringScalar(propertySchema.default)}}\n`;
990
1008
  break;
991
1009
  case 'array':
992
1010
  case 'object':
@@ -1047,12 +1065,10 @@ export class YamlCompletion {
1047
1065
  }
1048
1066
  return this.getInsertTextForValue(value, separatorAfter, type);
1049
1067
  case 'string': {
1050
- let snippetValue = JSON.stringify(value);
1051
- snippetValue = snippetValue.substr(1, snippetValue.length - 2); // remove quotes
1052
- snippetValue = this.getInsertTextForPlainText(snippetValue); // escape \ and }
1053
- if (type === 'string') {
1054
- snippetValue = this.convertToStringValue(snippetValue);
1068
+ if (type === 'number' || type === 'integer') {
1069
+ return '${1:' + value + '}' + separatorAfter;
1055
1070
  }
1071
+ const snippetValue = this.getInsertTextForPlainText(toYamlStringScalar(value));
1056
1072
  return '${1:' + snippetValue + '}' + separatorAfter;
1057
1073
  }
1058
1074
  case 'number':
@@ -1062,7 +1078,7 @@ export class YamlCompletion {
1062
1078
  return this.getInsertTextForValue(value, separatorAfter, type);
1063
1079
  }
1064
1080
  getInsertTextForPlainText(text) {
1065
- return text.replace(/[\\$}]/g, '\\$&'); // escape $, \ and }
1081
+ return text.replace(/\\(?=[$}\\])/g, '\\\\').replace(/[$}]/g, '\\$&');
1066
1082
  }
1067
1083
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1068
1084
  getInsertTextForValue(value, separatorAfter, type) {
@@ -1080,7 +1096,7 @@ export class YamlCompletion {
1080
1096
  }
1081
1097
  type = Array.isArray(type) ? type[0] : type;
1082
1098
  if (type === 'string') {
1083
- value = this.convertToStringValue(value);
1099
+ value = toYamlStringScalar(String(value), this.isSingleQuote);
1084
1100
  }
1085
1101
  return this.getInsertTextForPlainText(value + separatorAfter);
1086
1102
  }
@@ -1161,11 +1177,11 @@ export class YamlCompletion {
1161
1177
  type = 'array';
1162
1178
  }
1163
1179
  let label;
1164
- if (typeof value == 'object') {
1180
+ if (typeof value === 'object') {
1165
1181
  label = l10n.t('Default Value');
1166
1182
  }
1167
1183
  else {
1168
- label = value.toString().replace(doubleQuotesEscapeRegExp, '"');
1184
+ label = this.getLabelForValue(value);
1169
1185
  }
1170
1186
  collector.add({
1171
1187
  kind: this.getSuggestionKind(type),
@@ -1243,7 +1259,10 @@ export class YamlCompletion {
1243
1259
  if (Array.isArray(value)) {
1244
1260
  return JSON.stringify(value);
1245
1261
  }
1246
- return '' + value;
1262
+ if (typeof value === 'string') {
1263
+ return toYamlStringScalar(value, this.isSingleQuote);
1264
+ }
1265
+ return String(value);
1247
1266
  }
1248
1267
  collectDefaultSnippets(schema, separatorAfter, collector, settings, arrayDepth = 0) {
1249
1268
  if (Array.isArray(schema.defaultSnippets)) {
@@ -1432,50 +1451,36 @@ export class YamlCompletion {
1432
1451
  }
1433
1452
  return 0;
1434
1453
  }
1435
- convertToStringValue(param) {
1436
- let value;
1437
- if (typeof param === 'string') {
1438
- //support YAML spec 1.1 boolean values
1439
- value = ['on', 'off', 'true', 'false', 'yes', 'no'].includes(param.toLowerCase())
1440
- ? `${this.getQuote()}${param}${this.getQuote()}`
1441
- : param;
1442
- }
1443
- else {
1444
- value = '' + param;
1445
- }
1446
- if (value.length === 0) {
1447
- return value;
1448
- }
1449
- if (value === 'true' || value === 'false' || value === 'null' || this.isNumberExp.test(value)) {
1450
- return `"${value}"`;
1451
- }
1452
- if (value.indexOf('"') !== -1) {
1453
- value = value.replace(doubleQuotesEscapeRegExp, '"');
1454
- }
1455
- let doQuote = !isNaN(parseInt(value)) || value.charAt(0) === '@';
1456
- if (!doQuote) {
1457
- // need to quote value if in `foo: bar`, `foo : bar` (mapping) or `foo:` (partial map) format
1458
- // but `foo:bar` and `:bar` (colon without white-space after it) are just plain string
1459
- let idx = value.indexOf(':', 0);
1460
- for (; idx > 0 && idx < value.length; idx = value.indexOf(':', idx + 1)) {
1461
- if (idx === value.length - 1) {
1462
- // `foo:` (partial map) format
1463
- doQuote = true;
1464
- break;
1465
- }
1466
- // there are only two valid kinds of white-space in yaml: space or tab
1467
- // ref: https://yaml.org/spec/1.2.1/#id2775170
1468
- const nextChar = value.charAt(idx + 1);
1469
- if (nextChar === '\t' || nextChar === ' ') {
1470
- doQuote = true;
1471
- break;
1454
+ getPropertyNamesCandidates(schema) {
1455
+ let impossible = false;
1456
+ const collect = (node) => {
1457
+ if (!node || typeof node !== 'object')
1458
+ return null;
1459
+ if (Array.isArray(node.allOf) && node.allOf.length) {
1460
+ let intersection = null;
1461
+ for (const part of node.allOf) {
1462
+ const partSet = collect(part);
1463
+ if (!partSet)
1464
+ continue;
1465
+ intersection = intersection ? new Set([...intersection].filter((v) => partSet.has(v))) : new Set(partSet);
1466
+ if (intersection.size === 0) {
1467
+ impossible = true;
1468
+ return new Set();
1469
+ }
1472
1470
  }
1471
+ if (intersection)
1472
+ return intersection;
1473
1473
  }
1474
- }
1475
- if (doQuote) {
1476
- value = `"${value}"`;
1477
- }
1478
- return value;
1474
+ const result = new Set();
1475
+ if (typeof node.const === 'string')
1476
+ result.add(node.const);
1477
+ node.enum?.forEach((val) => typeof val === 'string' && result.add(val));
1478
+ node.anyOf?.forEach((branch) => collect(branch)?.forEach((val) => result.add(val)));
1479
+ node.oneOf?.forEach((branch) => collect(branch)?.forEach((val) => result.add(val)));
1480
+ return result.size ? result : null;
1481
+ };
1482
+ const set = collect(schema);
1483
+ return { candidates: set ? [...set] : [], impossible };
1479
1484
  }
1480
1485
  getQuote() {
1481
1486
  return this.isSingleQuote ? `'` : `"`;