Skip to content

Commit 61b8194

Browse files
committed
Return both breif & full doc in codeCompleteDocumentation request
1 parent c5a6b1c commit 61b8194

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
@@ -264,17 +264,11 @@ actor CompletionProvider {
264264
func handleCompletionDocumentation(_ request: SKDRequestDictionaryReader) throws -> SKDResponseDictionaryBuilder {
265265
let info = try handleExtendedCompletionRequest(request)
266266

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

280274
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)