mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 21:55:38 +00:00
parent
cba84fba5e
commit
3e7bb120c7
|
@ -60,12 +60,26 @@ class TypeScriptSignatureHelpProvider implements vscode.SignatureHelpProvider {
|
|||
Previewer.plain(item.prefixDisplayParts),
|
||||
Previewer.markdownDocumentation(item.documentation, item.tags.filter(x => x.name !== 'param')));
|
||||
|
||||
signature.parameters = item.parameters.map(p =>
|
||||
new vscode.ParameterInformation(
|
||||
Previewer.plain(p.displayParts),
|
||||
Previewer.markdownDocumentation(p.documentation, [])));
|
||||
let textIndex = signature.label.length;
|
||||
const separatorLabel = Previewer.plain(item.separatorDisplayParts);
|
||||
for (let i = 0; i < item.parameters.length; ++i) {
|
||||
const parameter = item.parameters[i];
|
||||
const label = Previewer.plain(parameter.displayParts);
|
||||
|
||||
signature.parameters.push(
|
||||
new vscode.ParameterInformation(
|
||||
[textIndex, textIndex + label.length],
|
||||
Previewer.markdownDocumentation(parameter.documentation, [])));
|
||||
|
||||
textIndex += label.length;
|
||||
signature.label += label;
|
||||
|
||||
if (i !== item.parameters.length - 1) {
|
||||
signature.label += separatorLabel;
|
||||
textIndex += separatorLabel.length;
|
||||
}
|
||||
}
|
||||
|
||||
signature.label += signature.parameters.map(parameter => parameter.label).join(Previewer.plain(item.separatorDisplayParts));
|
||||
signature.label += Previewer.plain(item.suffixDisplayParts);
|
||||
return signature;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue