@actions/languageserver 0.3.28 → 0.3.29
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/dist/cli.bundle.cjs +169 -46
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +8 -2
- package/dist/connection.js.map +1 -1
- package/package.json +4 -4
package/dist/cli.bundle.cjs
CHANGED
|
@@ -4326,15 +4326,15 @@ var require_main2 = __commonJS({
|
|
|
4326
4326
|
}
|
|
4327
4327
|
InlineValueContext2.is = is;
|
|
4328
4328
|
})(InlineValueContext = exports3.InlineValueContext || (exports3.InlineValueContext = {}));
|
|
4329
|
-
var
|
|
4330
|
-
(function(
|
|
4331
|
-
|
|
4332
|
-
|
|
4329
|
+
var InlayHintKind2;
|
|
4330
|
+
(function(InlayHintKind3) {
|
|
4331
|
+
InlayHintKind3.Type = 1;
|
|
4332
|
+
InlayHintKind3.Parameter = 2;
|
|
4333
4333
|
function is(value) {
|
|
4334
4334
|
return value === 1 || value === 2;
|
|
4335
4335
|
}
|
|
4336
|
-
|
|
4337
|
-
})(
|
|
4336
|
+
InlayHintKind3.is = is;
|
|
4337
|
+
})(InlayHintKind2 = exports3.InlayHintKind || (exports3.InlayHintKind = {}));
|
|
4338
4338
|
var InlayHintLabelPart;
|
|
4339
4339
|
(function(InlayHintLabelPart2) {
|
|
4340
4340
|
function create(value) {
|
|
@@ -4347,8 +4347,8 @@ var require_main2 = __commonJS({
|
|
|
4347
4347
|
}
|
|
4348
4348
|
InlayHintLabelPart2.is = is;
|
|
4349
4349
|
})(InlayHintLabelPart = exports3.InlayHintLabelPart || (exports3.InlayHintLabelPart = {}));
|
|
4350
|
-
var
|
|
4351
|
-
(function(
|
|
4350
|
+
var InlayHint2;
|
|
4351
|
+
(function(InlayHint3) {
|
|
4352
4352
|
function create(position, label, kind) {
|
|
4353
4353
|
var result = { position, label };
|
|
4354
4354
|
if (kind !== void 0) {
|
|
@@ -4356,13 +4356,13 @@ var require_main2 = __commonJS({
|
|
|
4356
4356
|
}
|
|
4357
4357
|
return result;
|
|
4358
4358
|
}
|
|
4359
|
-
|
|
4359
|
+
InlayHint3.create = create;
|
|
4360
4360
|
function is(value) {
|
|
4361
4361
|
var candidate = value;
|
|
4362
|
-
return Is.objectLiteral(candidate) && Position.is(candidate.position) && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is)) && (candidate.kind === void 0 ||
|
|
4362
|
+
return Is.objectLiteral(candidate) && Position.is(candidate.position) && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is)) && (candidate.kind === void 0 || InlayHintKind2.is(candidate.kind)) && candidate.textEdits === void 0 || Is.typedArray(candidate.textEdits, TextEdit2.is) && (candidate.tooltip === void 0 || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip)) && (candidate.paddingLeft === void 0 || Is.boolean(candidate.paddingLeft)) && (candidate.paddingRight === void 0 || Is.boolean(candidate.paddingRight));
|
|
4363
4363
|
}
|
|
4364
|
-
|
|
4365
|
-
})(
|
|
4364
|
+
InlayHint3.is = is;
|
|
4365
|
+
})(InlayHint2 = exports3.InlayHint || (exports3.InlayHint = {}));
|
|
4366
4366
|
var WorkspaceFolder;
|
|
4367
4367
|
(function(WorkspaceFolder2) {
|
|
4368
4368
|
function is(value) {
|
|
@@ -24553,6 +24553,12 @@ function oneOfValues(oneOfDefinition, definitions, indentation, mode, tokenStruc
|
|
|
24553
24553
|
continue;
|
|
24554
24554
|
}
|
|
24555
24555
|
}
|
|
24556
|
+
if (!tokenStructure && mode === DefinitionValueMode.Key) {
|
|
24557
|
+
const variantBucket = getStructuralBucket(variantDef.definitionType);
|
|
24558
|
+
if (variantBucket !== "scalar") {
|
|
24559
|
+
continue;
|
|
24560
|
+
}
|
|
24561
|
+
}
|
|
24556
24562
|
values.push(...definitionValues(variantDef, indentation, mode, tokenStructure));
|
|
24557
24563
|
}
|
|
24558
24564
|
return distinctValues(values);
|
|
@@ -24560,7 +24566,8 @@ function oneOfValues(oneOfDefinition, definitions, indentation, mode, tokenStruc
|
|
|
24560
24566
|
function distinctValues(values) {
|
|
24561
24567
|
const map = /* @__PURE__ */ new Map();
|
|
24562
24568
|
for (const value of values) {
|
|
24563
|
-
|
|
24569
|
+
const key = value.detail ? `${value.label}\0${value.detail}` : value.label;
|
|
24570
|
+
map.set(key, value);
|
|
24564
24571
|
}
|
|
24565
24572
|
return Array.from(map.values());
|
|
24566
24573
|
}
|
|
@@ -24610,10 +24617,10 @@ ${indentation}${key}:
|
|
|
24610
24617
|
${indentation}${indentation}- ` : `${key}:
|
|
24611
24618
|
${indentation}- `;
|
|
24612
24619
|
results.push({
|
|
24613
|
-
label:
|
|
24620
|
+
label: key,
|
|
24614
24621
|
description,
|
|
24622
|
+
detail: needsQualifier ? "list" : void 0,
|
|
24615
24623
|
insertText,
|
|
24616
|
-
filterText: needsQualifier ? key : void 0,
|
|
24617
24624
|
sortText: needsQualifier ? `${key} 1` : void 0
|
|
24618
24625
|
});
|
|
24619
24626
|
}
|
|
@@ -24623,10 +24630,10 @@ ${indentation}${key}:
|
|
|
24623
24630
|
${indentation}${indentation}` : `${key}:
|
|
24624
24631
|
${indentation}`;
|
|
24625
24632
|
results.push({
|
|
24626
|
-
label:
|
|
24633
|
+
label: key,
|
|
24627
24634
|
description,
|
|
24635
|
+
detail: needsQualifier ? "full syntax" : void 0,
|
|
24628
24636
|
insertText,
|
|
24629
|
-
filterText: needsQualifier ? key : void 0,
|
|
24630
24637
|
sortText: needsQualifier ? `${key} 2` : void 0
|
|
24631
24638
|
});
|
|
24632
24639
|
}
|
|
@@ -24676,6 +24683,8 @@ async function complete2(textDocument, position, config) {
|
|
|
24676
24683
|
const indentation = guessIndentation(newDoc, 2, true);
|
|
24677
24684
|
const indentString = " ".repeat(indentation.tabSize);
|
|
24678
24685
|
const values = await getValues(token, keyToken, parent, config?.valueProviderConfig, workflowContext, indentString);
|
|
24686
|
+
const escapeHatches = getEscapeHatchCompletions(token, keyToken, indentString, newPos);
|
|
24687
|
+
values.push(...escapeHatches);
|
|
24679
24688
|
let replaceRange;
|
|
24680
24689
|
if (token?.range) {
|
|
24681
24690
|
replaceRange = mapRange(token.range);
|
|
@@ -24694,8 +24703,17 @@ async function complete2(textDocument, position, config) {
|
|
|
24694
24703
|
}
|
|
24695
24704
|
return values.map((value) => {
|
|
24696
24705
|
const newText = value.insertText || value.label;
|
|
24706
|
+
let textEdit;
|
|
24707
|
+
if (value.textEdit) {
|
|
24708
|
+
textEdit = import_vscode_languageserver_types.TextEdit.replace(value.textEdit.range, value.textEdit.newText);
|
|
24709
|
+
} else if (replaceRange) {
|
|
24710
|
+
textEdit = import_vscode_languageserver_types.TextEdit.replace(replaceRange, newText);
|
|
24711
|
+
} else {
|
|
24712
|
+
textEdit = import_vscode_languageserver_types.TextEdit.insert(position, newText);
|
|
24713
|
+
}
|
|
24697
24714
|
const item = {
|
|
24698
24715
|
label: value.label,
|
|
24716
|
+
detail: value.detail,
|
|
24699
24717
|
filterText: value.filterText,
|
|
24700
24718
|
sortText: value.sortText,
|
|
24701
24719
|
documentation: value.description && {
|
|
@@ -24703,7 +24721,7 @@ async function complete2(textDocument, position, config) {
|
|
|
24703
24721
|
value: value.description
|
|
24704
24722
|
},
|
|
24705
24723
|
tags: value.deprecated ? [import_vscode_languageserver_types.CompletionItemTag.Deprecated] : void 0,
|
|
24706
|
-
textEdit
|
|
24724
|
+
textEdit
|
|
24707
24725
|
};
|
|
24708
24726
|
return item;
|
|
24709
24727
|
});
|
|
@@ -24759,6 +24777,80 @@ function getTokenStructure(token) {
|
|
|
24759
24777
|
return void 0;
|
|
24760
24778
|
}
|
|
24761
24779
|
}
|
|
24780
|
+
function getEscapeHatchCompletions(token, keyToken, indentation, position) {
|
|
24781
|
+
const tokenStructure = getTokenStructure(token);
|
|
24782
|
+
if (tokenStructure !== void 0) {
|
|
24783
|
+
return [];
|
|
24784
|
+
}
|
|
24785
|
+
if (!keyToken?.definition) {
|
|
24786
|
+
return [];
|
|
24787
|
+
}
|
|
24788
|
+
const def = keyToken.definition;
|
|
24789
|
+
const schema2 = getWorkflowSchema();
|
|
24790
|
+
const buckets = {
|
|
24791
|
+
sequence: false,
|
|
24792
|
+
mapping: false
|
|
24793
|
+
};
|
|
24794
|
+
if (def instanceof OneOfDefinition) {
|
|
24795
|
+
for (const variantKey of def.oneOf) {
|
|
24796
|
+
const variantDef = schema2.definitions[variantKey];
|
|
24797
|
+
if (variantDef) {
|
|
24798
|
+
switch (variantDef.definitionType) {
|
|
24799
|
+
case DefinitionType.Sequence:
|
|
24800
|
+
buckets.sequence = true;
|
|
24801
|
+
break;
|
|
24802
|
+
case DefinitionType.Mapping:
|
|
24803
|
+
buckets.mapping = true;
|
|
24804
|
+
break;
|
|
24805
|
+
}
|
|
24806
|
+
}
|
|
24807
|
+
}
|
|
24808
|
+
} else {
|
|
24809
|
+
switch (def.definitionType) {
|
|
24810
|
+
case DefinitionType.Sequence:
|
|
24811
|
+
buckets.sequence = true;
|
|
24812
|
+
break;
|
|
24813
|
+
case DefinitionType.Mapping:
|
|
24814
|
+
buckets.mapping = true;
|
|
24815
|
+
break;
|
|
24816
|
+
}
|
|
24817
|
+
}
|
|
24818
|
+
const results = [];
|
|
24819
|
+
const keyName = isString(keyToken) ? keyToken.value : "";
|
|
24820
|
+
const keyRange = keyToken.range;
|
|
24821
|
+
if (!keyRange || !keyName) {
|
|
24822
|
+
return [];
|
|
24823
|
+
}
|
|
24824
|
+
const editRange = {
|
|
24825
|
+
start: { line: keyRange.start.line - 1, character: keyRange.start.column - 1 },
|
|
24826
|
+
end: { line: position.line, character: position.character }
|
|
24827
|
+
};
|
|
24828
|
+
if (buckets.sequence) {
|
|
24829
|
+
results.push({
|
|
24830
|
+
label: "(switch to list)",
|
|
24831
|
+
sortText: "zzz_switch_1",
|
|
24832
|
+
filterText: keyName,
|
|
24833
|
+
textEdit: {
|
|
24834
|
+
range: editRange,
|
|
24835
|
+
newText: `${keyName}:
|
|
24836
|
+
${indentation}- `
|
|
24837
|
+
}
|
|
24838
|
+
});
|
|
24839
|
+
}
|
|
24840
|
+
if (buckets.mapping) {
|
|
24841
|
+
results.push({
|
|
24842
|
+
label: "(switch to mapping)",
|
|
24843
|
+
sortText: "zzz_switch_2",
|
|
24844
|
+
filterText: keyName,
|
|
24845
|
+
textEdit: {
|
|
24846
|
+
range: editRange,
|
|
24847
|
+
newText: `${keyName}:
|
|
24848
|
+
${indentation}`
|
|
24849
|
+
}
|
|
24850
|
+
});
|
|
24851
|
+
}
|
|
24852
|
+
return results;
|
|
24853
|
+
}
|
|
24762
24854
|
function getExistingValues(token, parent) {
|
|
24763
24855
|
if (token) {
|
|
24764
24856
|
if (!isString(token)) {
|
|
@@ -25575,8 +25667,43 @@ function expressionHover(exprPos, context, namedContexts, functions) {
|
|
|
25575
25667
|
}
|
|
25576
25668
|
}
|
|
25577
25669
|
|
|
25670
|
+
// ../languageservice/dist/inlay-hints.js
|
|
25671
|
+
var import_vscode_languageserver_types2 = __toESM(require_main2(), 1);
|
|
25672
|
+
function getInlayHints(document) {
|
|
25673
|
+
const file = {
|
|
25674
|
+
name: document.uri,
|
|
25675
|
+
content: document.getText()
|
|
25676
|
+
};
|
|
25677
|
+
const result = fetchOrParseWorkflow(file, document.uri);
|
|
25678
|
+
if (!result?.value) {
|
|
25679
|
+
return [];
|
|
25680
|
+
}
|
|
25681
|
+
const hints = [];
|
|
25682
|
+
for (const [parent, token, key] of TemplateToken.traverse(result.value)) {
|
|
25683
|
+
const validationToken = key || parent || token;
|
|
25684
|
+
const validationDefinition = validationToken.definition;
|
|
25685
|
+
if (isString(token) && token.range && validationDefinition?.key === "cron-pattern") {
|
|
25686
|
+
const cronValue = token.value;
|
|
25687
|
+
const description = getCronDescription(cronValue);
|
|
25688
|
+
if (description) {
|
|
25689
|
+
hints.push({
|
|
25690
|
+
position: {
|
|
25691
|
+
line: token.range.end.line - 1,
|
|
25692
|
+
character: token.range.end.column - 1
|
|
25693
|
+
// Convert from 1-based to 0-based
|
|
25694
|
+
},
|
|
25695
|
+
label: `\u2192 ${description}`,
|
|
25696
|
+
kind: import_vscode_languageserver_types2.InlayHintKind.Parameter,
|
|
25697
|
+
paddingLeft: true
|
|
25698
|
+
});
|
|
25699
|
+
}
|
|
25700
|
+
}
|
|
25701
|
+
}
|
|
25702
|
+
return hints;
|
|
25703
|
+
}
|
|
25704
|
+
|
|
25578
25705
|
// ../languageservice/dist/validate.js
|
|
25579
|
-
var
|
|
25706
|
+
var import_vscode_languageserver_types4 = __toESM(require_main2(), 1);
|
|
25580
25707
|
|
|
25581
25708
|
// ../languageservice/dist/expression-validation/error-dictionary.js
|
|
25582
25709
|
var AccessError = class extends Error {
|
|
@@ -25655,7 +25782,7 @@ var ValidationEvaluator = class extends Evaluator {
|
|
|
25655
25782
|
};
|
|
25656
25783
|
|
|
25657
25784
|
// ../languageservice/dist/validate-action.js
|
|
25658
|
-
var
|
|
25785
|
+
var import_vscode_languageserver_types3 = __toESM(require_main2(), 1);
|
|
25659
25786
|
async function validateAction(diagnostics, stepToken, step, config) {
|
|
25660
25787
|
if (!isMapping(stepToken) || !step || !isActionStep(step) || !config?.actionsMetadataProvider) {
|
|
25661
25788
|
return;
|
|
@@ -25667,7 +25794,7 @@ async function validateAction(diagnostics, stepToken, step, config) {
|
|
|
25667
25794
|
const actionMetadata = await config.actionsMetadataProvider.fetchActionMetadata(action);
|
|
25668
25795
|
if (actionMetadata === void 0) {
|
|
25669
25796
|
diagnostics.push({
|
|
25670
|
-
severity:
|
|
25797
|
+
severity: import_vscode_languageserver_types3.DiagnosticSeverity.Error,
|
|
25671
25798
|
range: mapRange(step.uses.range),
|
|
25672
25799
|
message: `Unable to resolve action \`${step.uses.value}\`, repository or version not found`
|
|
25673
25800
|
});
|
|
@@ -25695,7 +25822,7 @@ async function validateAction(diagnostics, stepToken, step, config) {
|
|
|
25695
25822
|
for (const [input, inputToken] of stepInputs) {
|
|
25696
25823
|
if (!actionInputs[input]) {
|
|
25697
25824
|
diagnostics.push({
|
|
25698
|
-
severity:
|
|
25825
|
+
severity: import_vscode_languageserver_types3.DiagnosticSeverity.Error,
|
|
25699
25826
|
range: mapRange(inputToken.range),
|
|
25700
25827
|
message: `Invalid action input '${input}'`
|
|
25701
25828
|
});
|
|
@@ -25703,7 +25830,7 @@ async function validateAction(diagnostics, stepToken, step, config) {
|
|
|
25703
25830
|
const deprecationMessage = actionInputs[input]?.deprecationMessage;
|
|
25704
25831
|
if (deprecationMessage) {
|
|
25705
25832
|
diagnostics.push({
|
|
25706
|
-
severity:
|
|
25833
|
+
severity: import_vscode_languageserver_types3.DiagnosticSeverity.Warning,
|
|
25707
25834
|
range: mapRange(inputToken.range),
|
|
25708
25835
|
message: deprecationMessage
|
|
25709
25836
|
});
|
|
@@ -25713,7 +25840,7 @@ async function validateAction(diagnostics, stepToken, step, config) {
|
|
|
25713
25840
|
if (missingRequiredInputs.length > 0) {
|
|
25714
25841
|
const message = missingRequiredInputs.length === 1 ? `Missing required input \`${missingRequiredInputs[0][0]}\`` : `Missing required inputs: ${missingRequiredInputs.map((input) => `\`${input[0]}\``).join(", ")}`;
|
|
25715
25842
|
diagnostics.push({
|
|
25716
|
-
severity:
|
|
25843
|
+
severity: import_vscode_languageserver_types3.DiagnosticSeverity.Error,
|
|
25717
25844
|
range: mapRange((withKey || stepToken).range),
|
|
25718
25845
|
message
|
|
25719
25846
|
});
|
|
@@ -25812,7 +25939,7 @@ function invalidValue(diagnostics, token, kind) {
|
|
|
25812
25939
|
case ValueProviderKind.AllowedValues:
|
|
25813
25940
|
diagnostics.push({
|
|
25814
25941
|
message: `Value '${token.value}' is not valid`,
|
|
25815
|
-
severity:
|
|
25942
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
|
|
25816
25943
|
range: mapRange(token.range)
|
|
25817
25944
|
});
|
|
25818
25945
|
break;
|
|
@@ -25831,17 +25958,7 @@ function validateCronExpression(diagnostics, token) {
|
|
|
25831
25958
|
diagnostics.push({
|
|
25832
25959
|
message: `Actions schedules run at most every 5 minutes. "${cronValue}" (${description.toLowerCase()}) will not run as frequently as specified.`,
|
|
25833
25960
|
range: mapRange(token.range),
|
|
25834
|
-
severity:
|
|
25835
|
-
code: "on-schedule",
|
|
25836
|
-
codeDescription: {
|
|
25837
|
-
href: CRON_SCHEDULE_DOCS_URL
|
|
25838
|
-
}
|
|
25839
|
-
});
|
|
25840
|
-
} else {
|
|
25841
|
-
diagnostics.push({
|
|
25842
|
-
message: description,
|
|
25843
|
-
range: mapRange(token.range),
|
|
25844
|
-
severity: import_vscode_languageserver_types3.DiagnosticSeverity.Information,
|
|
25961
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Warning,
|
|
25845
25962
|
code: "on-schedule",
|
|
25846
25963
|
codeDescription: {
|
|
25847
25964
|
href: CRON_SCHEDULE_DOCS_URL
|
|
@@ -25855,7 +25972,7 @@ function warnIfShortSha(diagnostics, token, ref) {
|
|
|
25855
25972
|
if (SHORT_SHA_PATTERN.test(ref)) {
|
|
25856
25973
|
diagnostics.push({
|
|
25857
25974
|
message: `The provided ref '${ref}' may be a shortened commit SHA. If so, please use the full 40-character commit SHA instead, as short SHAs are not supported.`,
|
|
25858
|
-
severity:
|
|
25975
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Warning,
|
|
25859
25976
|
range: mapRange(token.range),
|
|
25860
25977
|
code: "short-sha-ref",
|
|
25861
25978
|
codeDescription: {
|
|
@@ -25871,7 +25988,7 @@ function validateStepUsesFormat(diagnostics, token) {
|
|
|
25871
25988
|
if (!uses) {
|
|
25872
25989
|
diagnostics.push({
|
|
25873
25990
|
message: "`uses' value in action cannot be blank",
|
|
25874
|
-
severity:
|
|
25991
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
|
|
25875
25992
|
range: mapRange(token.range),
|
|
25876
25993
|
code: "invalid-uses-format"
|
|
25877
25994
|
});
|
|
@@ -25901,7 +26018,7 @@ function validateStepUsesFormat(diagnostics, token) {
|
|
|
25901
26018
|
if (pathSegments.length >= 4 && pathSegments[2] === ".github" && pathSegments[3] === "workflows") {
|
|
25902
26019
|
diagnostics.push({
|
|
25903
26020
|
message: "Reusable workflows should be referenced at the top-level `jobs.<job_id>.uses` key, not within steps",
|
|
25904
|
-
severity:
|
|
26021
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
|
|
25905
26022
|
range: mapRange(token.range),
|
|
25906
26023
|
code: "invalid-uses-format"
|
|
25907
26024
|
});
|
|
@@ -25912,7 +26029,7 @@ function validateStepUsesFormat(diagnostics, token) {
|
|
|
25912
26029
|
function addStepUsesFormatError(diagnostics, token) {
|
|
25913
26030
|
diagnostics.push({
|
|
25914
26031
|
message: `Expected format {owner}/{repo}[/path]@{ref}. Actual '${token.value}'`,
|
|
25915
|
-
severity:
|
|
26032
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
|
|
25916
26033
|
range: mapRange(token.range),
|
|
25917
26034
|
code: "invalid-uses-format"
|
|
25918
26035
|
});
|
|
@@ -26001,7 +26118,7 @@ function validateWorkflowUsesFormat(diagnostics, token) {
|
|
|
26001
26118
|
function addWorkflowUsesFormatError(diagnostics, token, reason) {
|
|
26002
26119
|
diagnostics.push({
|
|
26003
26120
|
message: `Invalid workflow reference '${token.value}': ${reason}`,
|
|
26004
|
-
severity:
|
|
26121
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
|
|
26005
26122
|
range: mapRange(token.range),
|
|
26006
26123
|
code: "invalid-workflow-uses-format"
|
|
26007
26124
|
});
|
|
@@ -26097,7 +26214,7 @@ async function validateExpression(diagnostics, token, allowedContext, contextPro
|
|
|
26097
26214
|
diagnostics.push({
|
|
26098
26215
|
message: "Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?",
|
|
26099
26216
|
range: mapRange(token.range),
|
|
26100
|
-
severity:
|
|
26217
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
|
|
26101
26218
|
code: "expression-literal-text-in-condition"
|
|
26102
26219
|
});
|
|
26103
26220
|
}
|
|
@@ -26120,7 +26237,7 @@ async function validateExpression(diagnostics, token, allowedContext, contextPro
|
|
|
26120
26237
|
diagnostics.push(...e.errors.map((e2) => ({
|
|
26121
26238
|
message: e2.message,
|
|
26122
26239
|
range: mapRange(expression.range),
|
|
26123
|
-
severity: e2.severity === "error" ?
|
|
26240
|
+
severity: e2.severity === "error" ? import_vscode_languageserver_types4.DiagnosticSeverity.Error : import_vscode_languageserver_types4.DiagnosticSeverity.Warning
|
|
26124
26241
|
})));
|
|
26125
26242
|
}
|
|
26126
26243
|
}
|
|
@@ -26142,14 +26259,14 @@ function validateConcurrencyDeadlock(diagnostics, template) {
|
|
|
26142
26259
|
diagnostics.push({
|
|
26143
26260
|
message: `Concurrency group '${workflowGroup.value}' is also used by job '${job.id.value}'. This will cause a deadlock.`,
|
|
26144
26261
|
range: mapRange(template.concurrency.range),
|
|
26145
|
-
severity:
|
|
26262
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error
|
|
26146
26263
|
});
|
|
26147
26264
|
}
|
|
26148
26265
|
if (job.concurrency.range) {
|
|
26149
26266
|
diagnostics.push({
|
|
26150
26267
|
message: `Concurrency group '${jobGroup.value}' is also defined at the workflow level. This will cause a deadlock.`,
|
|
26151
26268
|
range: mapRange(job.concurrency.range),
|
|
26152
|
-
severity:
|
|
26269
|
+
severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error
|
|
26153
26270
|
});
|
|
26154
26271
|
}
|
|
26155
26272
|
}
|
|
@@ -30542,7 +30659,8 @@ function initConnection(connection) {
|
|
|
30542
30659
|
hoverProvider: true,
|
|
30543
30660
|
documentLinkProvider: {
|
|
30544
30661
|
resolveProvider: false
|
|
30545
|
-
}
|
|
30662
|
+
},
|
|
30663
|
+
inlayHintProvider: true
|
|
30546
30664
|
}
|
|
30547
30665
|
};
|
|
30548
30666
|
if (hasWorkspaceFolderCapability) {
|
|
@@ -30613,6 +30731,11 @@ function initConnection(connection) {
|
|
|
30613
30731
|
const repoContext = repos.find((repo) => textDocument.uri.startsWith(repo.workspaceUri));
|
|
30614
30732
|
return documentLinks(getDocument(documents, textDocument), repoContext?.workspaceUri);
|
|
30615
30733
|
});
|
|
30734
|
+
connection.languages.inlayHint.on(async ({ textDocument }) => {
|
|
30735
|
+
return timeOperation("inlayHints", () => {
|
|
30736
|
+
return getInlayHints(getDocument(documents, textDocument));
|
|
30737
|
+
});
|
|
30738
|
+
});
|
|
30616
30739
|
documents.listen(connection);
|
|
30617
30740
|
connection.listen();
|
|
30618
30741
|
}
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,UAAU,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,UAAU,EAcX,MAAM,uBAAuB,CAAC;AAe/B,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,QA4IpD"}
|
package/dist/connection.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { documentLinks, hover, validate } from "@actions/languageservice";
|
|
1
|
+
import { documentLinks, getInlayHints, hover, validate } from "@actions/languageservice";
|
|
2
2
|
import { registerLogger, setLogLevel } from "@actions/languageservice/log";
|
|
3
3
|
import { clearCache, clearCacheEntry } from "@actions/languageservice/utils/workflow-cache";
|
|
4
4
|
import { TextDocuments, TextDocumentSyncKind } from "vscode-languageserver";
|
|
@@ -45,7 +45,8 @@ export function initConnection(connection) {
|
|
|
45
45
|
hoverProvider: true,
|
|
46
46
|
documentLinkProvider: {
|
|
47
47
|
resolveProvider: false
|
|
48
|
-
}
|
|
48
|
+
},
|
|
49
|
+
inlayHintProvider: true
|
|
49
50
|
}
|
|
50
51
|
};
|
|
51
52
|
if (hasWorkspaceFolderCapability) {
|
|
@@ -108,6 +109,11 @@ export function initConnection(connection) {
|
|
|
108
109
|
const repoContext = repos.find(repo => textDocument.uri.startsWith(repo.workspaceUri));
|
|
109
110
|
return documentLinks(getDocument(documents, textDocument), repoContext?.workspaceUri);
|
|
110
111
|
});
|
|
112
|
+
connection.languages.inlayHint.on(async ({ textDocument }) => {
|
|
113
|
+
return timeOperation("inlayHints", () => {
|
|
114
|
+
return getInlayHints(getDocument(documents, textDocument));
|
|
115
|
+
});
|
|
116
|
+
});
|
|
111
117
|
// Make the text document manager listen on the connection
|
|
112
118
|
// for open, change and close text document events
|
|
113
119
|
documents.listen(connection);
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actions/languageserver",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.29",
|
|
4
4
|
"description": "Language server for GitHub Actions",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"actions-languageserver": "./bin/actions-languageserver"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@actions/languageservice": "^0.3.
|
|
52
|
-
"@actions/workflow-parser": "^0.3.
|
|
51
|
+
"@actions/languageservice": "^0.3.29",
|
|
52
|
+
"@actions/workflow-parser": "^0.3.29",
|
|
53
53
|
"@octokit/rest": "^21.1.1",
|
|
54
54
|
"@octokit/types": "^9.0.0",
|
|
55
55
|
"vscode-languageserver": "^8.0.2",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"ts-jest": "^29.0.3",
|
|
79
79
|
"typescript": "^4.8.4"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "f84e42c1f1a814b36392486088b0aaa069d33f67"
|
|
82
82
|
}
|