Skip to content

Commit

Permalink
[gardening] Rename CodeCompletionOptions -> SKCompletionOptions
Browse files Browse the repository at this point in the history
Since it is being used in the LSP protocol layer, give it a name that
clarifies that it is SourceKit-specific.
  • Loading branch information
benlangmuir committed Oct 16, 2020
1 parent 947e15d commit 8c1ef32
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ public struct CompletionRequest: TextDocumentRequest, Hashable {

public var context: CompletionContext?

public var sourcekitlspOptions: CodeCompletionOptions?
public var sourcekitlspOptions: SKCompletionOptions?

public init(
textDocument: TextDocumentIdentifier,
position: Position,
context: CompletionContext? = nil,
sourcekitlspOptions: CodeCompletionOptions? = nil)
sourcekitlspOptions: SKCompletionOptions? = nil)
{
self.textDocument = textDocument
self.position = position
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
///
/// **(LSP Extension)**: This is used as part of an extension to the
/// code-completion request.
public struct CodeCompletionOptions: Codable, Hashable {
public struct SKCompletionOptions: Codable, Hashable {

/// Whether to use server-side filtering or to return all results and let the
/// client handle all filtering.
Expand Down
4 changes: 2 additions & 2 deletions Sources/SourceKit/SourceKitServer+Options.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ extension SourceKitServer {
public var indexOptions: IndexOptions

/// Options for code-completion.
public var completionOptions: CodeCompletionOptions
public var completionOptions: SKCompletionOptions

public init(
buildSetup: BuildSetup = .default,
clangdOptions: [String] = [],
indexOptions: IndexOptions = .init(),
completionOptions: CodeCompletionOptions = .init())
completionOptions: SKCompletionOptions = .init())
{
self.buildSetup = buildSetup
self.clangdOptions = clangdOptions
Expand Down
12 changes: 6 additions & 6 deletions Sources/SourceKit/sourcekitd/CodeCompletion.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class CodeCompletionSession {
self.compileCommand = compileCommand
}

func update(filterText: String, position: Position, in snapshot: DocumentSnapshot, options: CodeCompletionOptions, completion: @escaping (LSPResult<CompletionList>) -> Void) {
func update(filterText: String, position: Position, in snapshot: DocumentSnapshot, options: SKCompletionOptions, completion: @escaping (LSPResult<CompletionList>) -> Void) {
queue.async {
switch self.state {
case .closed:
Expand All @@ -70,7 +70,7 @@ class CodeCompletionSession {
}
}

func _open(filterText: String, position: Position, in snapshot: DocumentSnapshot, options: CodeCompletionOptions, completion: @escaping (LSPResult<CompletionList>) -> Void) {
func _open(filterText: String, position: Position, in snapshot: DocumentSnapshot, options: SKCompletionOptions, completion: @escaping (LSPResult<CompletionList>) -> Void) {
log("\(Self.self) Open: \(self) filter=\(filterText)")

let req = SKDRequestDictionary(sourcekitd: server.sourcekitd)
Expand Down Expand Up @@ -114,7 +114,7 @@ class CodeCompletionSession {
_ = handle
}

func _update(filterText: String, position: Position, in snapshot: DocumentSnapshot, options: CodeCompletionOptions, completion: @escaping (LSPResult<CompletionList>) -> Void) {
func _update(filterText: String, position: Position, in snapshot: DocumentSnapshot, options: SKCompletionOptions, completion: @escaping (LSPResult<CompletionList>) -> Void) {
// FIXME: Assertion for prefix of snapshot matching what we started with.

log("\(Self.self) Update: \(self) filter=\(filterText)")
Expand All @@ -140,7 +140,7 @@ class CodeCompletionSession {
_ = handle
}

private func optionsDictionary(filterText: String, options: CodeCompletionOptions) -> SKDRequestDictionary {
private func optionsDictionary(filterText: String, options: SKCompletionOptions) -> SKDRequestDictionary {
let dict = SKDRequestDictionary(sourcekitd: server.sourcekitd)
let keys = server.sourcekitd.keys
// Sorting and priority options.
Expand Down Expand Up @@ -216,7 +216,7 @@ extension SwiftLanguageServer {
}

/// Must be called on `queue`.
func _completionWithServerFiltering(offset: Int, completionPos: Position, snapshot: DocumentSnapshot, request req: Request<CompletionRequest>, options: CodeCompletionOptions) {
func _completionWithServerFiltering(offset: Int, completionPos: Position, snapshot: DocumentSnapshot, request req: Request<CompletionRequest>, options: SKCompletionOptions) {
guard let start = snapshot.indexOf(utf8Offset: offset),
let end = snapshot.index(of: req.params.position) else {
log("invalid completion position \(req.params.position)")
Expand Down Expand Up @@ -254,7 +254,7 @@ extension SwiftLanguageServer {
}

/// Must be called on `queue`.
func _completionWithClientFiltering(offset: Int, completionPos: Position, snapshot: DocumentSnapshot, request req: Request<CompletionRequest>, options: CodeCompletionOptions) {
func _completionWithClientFiltering(offset: Int, completionPos: Position, snapshot: DocumentSnapshot, request req: Request<CompletionRequest>, options: SKCompletionOptions) {
let skreq = SKDRequestDictionary(sourcekitd: sourcekitd)
skreq[keys.request] = requests.codecomplete
skreq[keys.offset] = offset
Expand Down
36 changes: 18 additions & 18 deletions Tests/SourceKitTests/SwiftCompletionTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ final class SwiftCompletionTests: XCTestCase {
connection = nil
}

func initializeServer(options: CodeCompletionOptions = .init(), capabilities: CompletionCapabilities? = nil) {
func initializeServer(options: SKCompletionOptions = .init(), capabilities: CompletionCapabilities? = nil) {
connection = TestSourceKitServer()
sk = connection.client
var documentCapabilities: TextDocumentClientCapabilities?
Expand Down Expand Up @@ -85,18 +85,18 @@ final class SwiftCompletionTests: XCTestCase {
}

func testCompletionClientFilter() {
testCompletionBasic(options: CodeCompletionOptions(serverSideFiltering: false, maxResults: nil))
testCompletionBasic(options: SKCompletionOptions(serverSideFiltering: false, maxResults: nil))
}

func testCompletionServerFilter() {
testCompletionBasic(options: CodeCompletionOptions(serverSideFiltering: true, maxResults: nil))
testCompletionBasic(options: SKCompletionOptions(serverSideFiltering: true, maxResults: nil))
}

func testCompletionDefaultFilter() {
testCompletionBasic(options: CodeCompletionOptions())
testCompletionBasic(options: SKCompletionOptions())
}

func testCompletionBasic(options: CodeCompletionOptions) {
func testCompletionBasic(options: SKCompletionOptions) {
initializeServer(options: options)
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
openDocument(url: url)
Expand Down Expand Up @@ -217,14 +217,14 @@ final class SwiftCompletionTests: XCTestCase {
}

func testCompletionPositionClientFilter() {
testCompletionPosition(options: CodeCompletionOptions(serverSideFiltering: false, maxResults: nil))
testCompletionPosition(options: SKCompletionOptions(serverSideFiltering: false, maxResults: nil))
}

func testCompletionPositionServerFilter() {
testCompletionPosition(options: CodeCompletionOptions(serverSideFiltering: true, maxResults: nil))
testCompletionPosition(options: SKCompletionOptions(serverSideFiltering: true, maxResults: nil))
}

func testCompletionPosition(options: CodeCompletionOptions) {
func testCompletionPosition(options: SKCompletionOptions) {
initializeServer(options: options)
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
openDocument(text: "foo", url: url)
Expand Down Expand Up @@ -326,7 +326,7 @@ final class SwiftCompletionTests: XCTestCase {
}

func testMaxResults() {
initializeServer(options: CodeCompletionOptions(serverSideFiltering: true, maxResults: nil))
initializeServer(options: SKCompletionOptions(serverSideFiltering: true, maxResults: nil))
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
openDocument(text: """
struct S {
Expand All @@ -351,7 +351,7 @@ final class SwiftCompletionTests: XCTestCase {
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 9),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: nil)))))

Expand All @@ -361,22 +361,22 @@ final class SwiftCompletionTests: XCTestCase {
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 9),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: 1000)))))

XCTAssertEqual(3, countFs(try! sk.sendSync(CompletionRequest(
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 9),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: 3)))))
XCTAssertEqual(1, countFs(try! sk.sendSync(CompletionRequest(
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 9),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: 1)))))

Expand All @@ -385,7 +385,7 @@ final class SwiftCompletionTests: XCTestCase {
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 9),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: 0)))))

Expand All @@ -395,21 +395,21 @@ final class SwiftCompletionTests: XCTestCase {
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 10),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: nil)))))
XCTAssertEqual(3, countFs(try! sk.sendSync(CompletionRequest(
textDocument: TextDocumentIdentifier(url),
position: Position(line: 7, utf16index: 10),
sourcekitlspOptions:
CodeCompletionOptions(
SKCompletionOptions(
serverSideFiltering: true,
maxResults: 3)))))

}

func testRefilterAfterIncompleteResults() {
initializeServer(options: CodeCompletionOptions(serverSideFiltering: true, maxResults: 20))
initializeServer(options: SKCompletionOptions(serverSideFiltering: true, maxResults: 20))
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
openDocument(text: """
struct S {
Expand Down Expand Up @@ -470,7 +470,7 @@ final class SwiftCompletionTests: XCTestCase {
}

func testRefilterAfterIncompleteResultsWithEdits() {
initializeServer(options: CodeCompletionOptions(serverSideFiltering: true, maxResults: nil))
initializeServer(options: SKCompletionOptions(serverSideFiltering: true, maxResults: nil))
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
openDocument(text: """
struct S {
Expand Down

0 comments on commit 8c1ef32

Please sign in to comment.