1
0
Эх сурвалжийг харах

Include tags in documentation string of suggestion items

Sebastian Pahnke 4 жил өмнө
parent
commit
5f2d3f73ab
1 өөрчлөгдсөн 20 нэмэгдсэн , 1 устгасан
  1. 20 1
      src/languageFeatures.ts

+ 20 - 1
src/languageFeatures.ts

@@ -508,7 +508,7 @@ export class SuggestAdapter
 			kind: SuggestAdapter.convertKind(details.kind),
 			detail: displayPartsToString(details.displayParts),
 			documentation: {
-				value: displayPartsToString(details.documentation)
+				value: SuggestAdapter.createDocumentationString(details)
 			}
 		};
 	}
@@ -545,6 +545,25 @@ export class SuggestAdapter
 
 		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