diff --git a/internal/ls/hover.go b/internal/ls/hover.go index 25a961e316..c7a573f745 100644 --- a/internal/ls/hover.go +++ b/internal/ls/hover.go @@ -109,8 +109,24 @@ func (l *LanguageService) getDocumentationFromDeclaration(c *checker.Checker, de } comments := tag.Comments() if tag.Kind == ast.KindJSDocTag && tag.TagName().Text() == "example" { - b.WriteString("\n") commentText := strings.TrimRight(getCommentText(comments), " \t\r\n") + if strings.HasPrefix(commentText, "") { + if captionEnd := strings.Index(commentText, ""); captionEnd > 0 { + b.WriteString(" — ") + b.WriteString(commentText[len(""):captionEnd]) + commentText = commentText[captionEnd+len(""):] + // Trim leading blank lines from commentText + for { + s1 := strings.TrimLeft(commentText, " \t") + s2 := strings.TrimLeft(s1, "\r\n") + if len(s1) == len(s2) { + break + } + commentText = s2 + } + } + } + b.WriteString("\n") if len(commentText) > 6 && strings.HasPrefix(commentText, "```") && strings.HasSuffix(commentText, "```") && strings.Contains(commentText, "\n") { b.WriteString(commentText) b.WriteString("\n")