Skip to content

Commit 2f77852

Browse files
committed
Return both breif & full doc in codeCompleteDocumentation request
1 parent 9d56a93 commit 2f77852

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

Sources/SwiftSourceKitPlugin/CompletionProvider.swift

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -262,17 +262,11 @@ actor CompletionProvider {
262262
func handleCompletionDocumentation(_ request: SKDRequestDictionaryReader) throws -> SKDResponseDictionaryBuilder {
263263
let info = try handleExtendedCompletionRequest(request)
264264

265-
let response = request.sourcekitd.responseDictionary([
266-
request.sourcekitd.keys.associatedUSRs: info.associatedUSRs as [SKDResponseValue]?
265+
return request.sourcekitd.responseDictionary([
266+
request.sourcekitd.keys.docBrief: info.briefDocumentation,
267+
request.sourcekitd.keys.docFullAsXML: info.fullDocumentation,
268+
request.sourcekitd.keys.associatedUSRs: info.associatedUSRs as [SKDResponseValue]?,
267269
])
268-
269-
if let fullDocumentation = info.fullDocumentation {
270-
response.set(request.sourcekitd.keys.docFullAsXML, to: fullDocumentation)
271-
} else {
272-
response.set(request.sourcekitd.keys.docBrief, to: info.briefDocumentation)
273-
}
274-
275-
return response
276270
}
277271

278272
func handleCompletionDiagnostic(_ dict: SKDRequestDictionaryReader) throws -> SKDResponseDictionaryBuilder {

Tests/SwiftSourceKitPluginTests/SwiftSourceKitPluginTests.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@ final class SwiftSourceKitPluginTests: XCTestCase {
457457
</Function>
458458
"""
459459
)
460+
XCTAssertEqual(sym1Doc.docBrief, "Protocol P foo1")
460461
XCTAssertEqual(sym1Doc.associatedUSRs, ["s:1a1SV4foo1yyF", "s:1a1PP4foo1yyF"])
461462

462463
let sym2Doc = try await sourcekitd.completeDocumentation(id: sym2.id)
@@ -473,10 +474,12 @@ final class SwiftSourceKitPluginTests: XCTestCase {
473474
</Function>
474475
"""
475476
)
477+
XCTAssertEqual(sym2Doc.docBrief, "Struct S foo2")
476478
XCTAssertEqual(sym2Doc.associatedUSRs, ["s:1a1SV4foo2yyF"])
477479

478480
let sym3Doc = try await sourcekitd.completeDocumentation(id: sym3.id)
479481
XCTAssertNil(sym3Doc.docFullAsXML)
482+
XCTAssertNil(sym3Doc.docBrief)
480483
XCTAssertEqual(sym3Doc.associatedUSRs, ["s:1a1SV4foo3yyF"])
481484
}
482485

0 commit comments

Comments
 (0)