Skip to content

Commit 1dc28b4

Browse files
authored
Merge pull request #691 from ahoppen/ahoppen/markdown-comment
Ensure there are always newlines in a generated markdown comment
2 parents 7ef89a0 + b7da2a6 commit 1dc28b4

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

Sources/SourceKitLSP/Swift/CommentXML.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ private struct XMLToMarkdown {
128128
out += "```\(node.attributes?.first(where: { $0.name == "language" })?.stringValue ?? "")\n"
129129
toMarkdown(node.children, separator: "\n")
130130
out += "```"
131+
newlineIfNeeded(count: 2)
131132

132133
case "zCodeLineNumbered":
133134
lineNumber += 1

Tests/SourceKitLSPTests/LocalSwiftTests.swift

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,8 @@ final class LocalSwiftTests: XCTestCase {
917917
```
918918
a
919919
```
920+
921+
920922
""")
921923

922924
XCTAssertEqual(try! xmlDocumentationToMarkdown("""
@@ -925,6 +927,8 @@ final class LocalSwiftTests: XCTestCase {
925927
```
926928
1.\ta
927929
```
930+
931+
928932
""")
929933
XCTAssertEqual(try! xmlDocumentationToMarkdown("""
930934
<CodeListing><zCodeLineNumbered>a</zCodeLineNumbered><zCodeLineNumbered>b</zCodeLineNumbered></CodeListing>
@@ -933,6 +937,8 @@ final class LocalSwiftTests: XCTestCase {
933937
1.\ta
934938
2.\tb
935939
```
940+
941+
936942
""")
937943
XCTAssertEqual(try! xmlDocumentationToMarkdown("""
938944
<Class><CodeListing><zCodeLineNumbered>a</zCodeLineNumbered><zCodeLineNumbered>b</zCodeLineNumbered></CodeListing><CodeListing><zCodeLineNumbered>c</zCodeLineNumbered><zCodeLineNumbered>d</zCodeLineNumbered></CodeListing></Class>
@@ -946,6 +952,8 @@ final class LocalSwiftTests: XCTestCase {
946952
1.\tc
947953
2.\td
948954
```
955+
956+
949957
""")
950958

951959
XCTAssertEqual(try! xmlDocumentationToMarkdown("""
@@ -1038,6 +1046,8 @@ final class LocalSwiftTests: XCTestCase {
10381046
1.\tlet greeting = "Welcome!"
10391047
2.\t
10401048
```
1049+
1050+
10411051
""")
10421052

10431053
XCTAssertEqual(try! xmlDocumentationToMarkdown(
@@ -1080,6 +1090,45 @@ final class LocalSwiftTests: XCTestCase {
10801090
10811091
Error.missingDocument if the document is not open.
10821092
""")
1093+
1094+
XCTAssertEqual(try! xmlDocumentationToMarkdown(
1095+
"<Class>" +
1096+
"<Name>S</Name>" +
1097+
"<USR>s:1a1SV</USR>" +
1098+
"<Declaration>struct S</Declaration>" +
1099+
"<CommentParts>" +
1100+
"<Discussion>" +
1101+
#"<CodeListing language="swift">"# +
1102+
"<zCodeLineNumbered>" +
1103+
"<![CDATA[let S = 12456]]>" +
1104+
"</zCodeLineNumbered>" +
1105+
"<zCodeLineNumbered></zCodeLineNumbered>" +
1106+
"</CodeListing>" +
1107+
"<rawHTML>" +
1108+
"<![CDATA[<h2>]]>" +
1109+
"</rawHTML>Title<rawHTML>" +
1110+
"<![CDATA[</h2>]]>" +
1111+
"</rawHTML>" +
1112+
"<Para>Details.</Para>" +
1113+
"</Discussion>" +
1114+
"</CommentParts>" +
1115+
"</Class>"), """
1116+
```swift
1117+
struct S
1118+
```
1119+
1120+
---
1121+
### Discussion
1122+
1123+
```swift
1124+
1.\tlet S = 12456
1125+
2.\t
1126+
```
1127+
1128+
<h2>Title</h2>
1129+
1130+
Details.
1131+
""")
10831132
}
10841133

10851134
func testSymbolInfo() {

0 commit comments

Comments
 (0)