Skip to content

Commit e7a46c9

Browse files
authored
Merge pull request swiftlang#258 from rintaro/sourcekitd-completion-optionalsort-rdar60799439
[sourcekitd] Add an option to completion request to sort results
2 parents babf190 + a27470d commit e7a46c9

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

Sources/SourceKit/sourcekitd/SwiftLanguageServer.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,10 @@ extension SwiftLanguageServer {
460460
skreq[keys.sourcefile] = snapshot.document.uri.pseudoPath
461461
skreq[keys.sourcetext] = snapshot.text
462462

463+
let skreqOptions = SKRequestDictionary(sourcekitd: self.sourcekitd)
464+
skreqOptions[keys.codecomplete_sort_byname] = 1
465+
skreq[keys.codecomplete_options] = skreqOptions
466+
463467
// FIXME: SourceKit should probably cache this for us.
464468
if let settings = self.buildSettingsByFile[snapshot.document.uri] {
465469
skreq[keys.compilerargs] = settings.compilerArguments

Sources/SourceKit/sourcekitd/SwiftSourceKitFramework.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ struct sourcekitd_keys {
245245
let text: sourcekitd_uid_t
246246

247247
// Code Completion related keys.
248+
let codecomplete_options: sourcekitd_uid_t
249+
let codecomplete_sort_byname: sourcekitd_uid_t
248250
let context: sourcekitd_uid_t
249251
let doc: sourcekitd_uid_t
250252
let not_recommended: sourcekitd_uid_t
@@ -294,6 +296,8 @@ struct sourcekitd_keys {
294296
text = api.uid_get_from_cstr("key.text")!
295297

296298
// Code Completion related keys.
299+
codecomplete_options = api.uid_get_from_cstr("key.codecomplete.options")!
300+
codecomplete_sort_byname = api.uid_get_from_cstr("key.codecomplete.sort.byname")!
297301
context = api.uid_get_from_cstr("key.context")!
298302
doc = api.uid_get_from_cstr("key.doc.brief")!
299303
not_recommended = api.uid_get_from_cstr("key.not_recommended")!

0 commit comments

Comments
 (0)