Include tags in documentation string of suggestion items

pull/2748/head
Sebastian Pahnke 5 years ago
parent a258f3a296
commit 5f2d3f73ab

@ -508,7 +508,7 @@ export class SuggestAdapter
kind: SuggestAdapter.convertKind(details.kind), kind: SuggestAdapter.convertKind(details.kind),
detail: displayPartsToString(details.displayParts), detail: displayPartsToString(details.displayParts),
documentation: { documentation: {
value: displayPartsToString(details.documentation) value: SuggestAdapter.createDocumentationString(details)
} }
}; };
} }
@ -545,6 +545,25 @@ export class SuggestAdapter
return languages.CompletionItemKind.Property; return languages.CompletionItemKind.Property;
} }
private static createDocumentationString(
details: ts.CompletionEntryDetails
): string {
let documentationString = displayPartsToString(details.documentation);
if (details.tags) {
for (const tag of details.tags) {
documentationString += `\n\n*@${tag.name}*`;
if (tag.name === 'param' && tag.text) {
const [paramName, ...rest] = tag.text.split(' ');
documentationString += `\`${paramName}\``;
if (rest.length > 0) documentationString += `${rest.join(' ')}`;
} else if (tag.text) {
documentationString += `${tag.text}`;
}
}
}
return documentationString;
}
} }
export class SignatureHelpAdapter export class SignatureHelpAdapter

Loading…
Cancel
Save