Skip to content

Commit 437d059

Browse files
committed
Use SourceKit's not_recommended field to populate deprecated in Code completion responses
1 parent 36450e4 commit 437d059

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

Sources/SourceKit/sourcekitd/SwiftLanguageServer.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,9 @@ extension SwiftLanguageServer {
406406
textEdit = nil
407407
}
408408

409+
// Map SourceKit's not_recommended field to LSP's deprecated
410+
let notRecommended = (value[self.keys.not_recommended] as Int?).map({ $0 != 0 })
411+
409412
let kind: sourcekitd_uid_t? = value[self.keys.kind]
410413
result.items.append(CompletionItem(
411414
label: name,
@@ -416,7 +419,7 @@ extension SwiftLanguageServer {
416419
insertText: text,
417420
insertTextFormat: isInsertTextSnippet ? .snippet : .plain,
418421
kind: kind?.asCompletionItemKind(self.values) ?? .value,
419-
deprecated: nil
422+
deprecated: notRecommended ?? false
420423
))
421424

422425
return true

Tests/SourceKitTests/SourceKitTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ final class SKTests: XCTestCase {
160160
insertText: "method(a: )",
161161
insertTextFormat: .plain,
162162
kind: .method,
163-
deprecated: nil),
163+
deprecated: false),
164164
CompletionItem(
165165
label: "self",
166166
detail: "A",
@@ -170,7 +170,7 @@ final class SKTests: XCTestCase {
170170
insertText: "self",
171171
insertTextFormat: .plain,
172172
kind: .keyword,
173-
deprecated: nil),
173+
deprecated: false),
174174
]))
175175
}
176176
}

Tests/SourceKitTests/SwiftPMIntegration.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ final class SwiftPMIntegrationTests: XCTestCase {
4141
insertText: "foo()",
4242
insertTextFormat: .plain,
4343
kind: .method,
44-
deprecated: nil),
44+
deprecated: false),
4545
CompletionItem(
4646
label: "self",
4747
detail: "Lib",
@@ -51,7 +51,7 @@ final class SwiftPMIntegrationTests: XCTestCase {
5151
insertText: "self",
5252
insertTextFormat: .plain,
5353
kind: .keyword,
54-
deprecated: nil),
54+
deprecated: false),
5555
]))
5656
}
5757
}

0 commit comments

Comments
 (0)