Skip to content

Commit c52b337

Browse files
authored
Merge pull request #203 from ahoppen/not-recommended-to-deprecated
Use SourceKit's not_recommended field to populate deprecated in Code Completion responses
2 parents 8d2a6e9 + acd8843 commit c52b337

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
@@ -448,6 +448,9 @@ extension SwiftLanguageServer {
448448
textEdit = nil
449449
}
450450

451+
// Map SourceKit's not_recommended field to LSP's deprecated
452+
let notRecommended = (value[self.keys.not_recommended] as Int?).map({ $0 != 0 })
453+
451454
let kind: sourcekitd_uid_t? = value[self.keys.kind]
452455
result.items.append(CompletionItem(
453456
label: name,
@@ -458,7 +461,7 @@ extension SwiftLanguageServer {
458461
textEdit: textEdit,
459462
insertText: text,
460463
insertTextFormat: isInsertTextSnippet ? .snippet : .plain,
461-
deprecated: nil
464+
deprecated: notRecommended ?? false
462465
))
463466

464467
return true

Tests/SourceKitTests/SourceKitTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ final class SKTests: XCTestCase {
169169
textEdit: TextEdit(range: Position(line: 1, utf16index: 14)..<Position(line: 1, utf16index: 14), newText: "method(a: )"),
170170
insertText: "method(a: )",
171171
insertTextFormat: .plain,
172-
deprecated: nil),
172+
deprecated: false),
173173
CompletionItem(
174174
label: "self",
175175
kind: .keyword,
@@ -179,7 +179,7 @@ final class SKTests: XCTestCase {
179179
textEdit: TextEdit(range: Position(line: 1, utf16index: 14)..<Position(line: 1, utf16index: 14), newText: "self"),
180180
insertText: "self",
181181
insertTextFormat: .plain,
182-
deprecated: nil),
182+
deprecated: false),
183183
]))
184184
}
185185
}

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
textEdit: TextEdit(range: Position(line: 2, utf16index: 24)..<Position(line: 2, utf16index: 24), newText: "foo()"),
4242
insertText: "foo()",
4343
insertTextFormat: .plain,
44-
deprecated: nil),
44+
deprecated: false),
4545
CompletionItem(
4646
label: "self",
4747
kind: .keyword,
@@ -51,7 +51,7 @@ final class SwiftPMIntegrationTests: XCTestCase {
5151
textEdit: TextEdit(range: Position(line: 2, utf16index: 24)..<Position(line: 2, utf16index: 24), newText: "self"),
5252
insertText: "self",
5353
insertTextFormat: .plain,
54-
deprecated: nil),
54+
deprecated: false),
5555
]))
5656
}
5757
}

0 commit comments

Comments
 (0)