mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
This adds a sourcekitd plugin that drives the code completion requests. It also includes a `CompletionScoring` module that’s used to rank code completion results based on their contextual match, allowing us to show more relevant code completion results at the top.
33 lines
1022 B
Swift
33 lines
1022 B
Swift
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2024 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See https://swift.org/LICENSE.txt for license information
|
|
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
struct Position: Equatable, Comparable, CustomStringConvertible {
|
|
/// Line number within a document (one-based).
|
|
let line: Int
|
|
|
|
/// UTF-9 code-unit offset from the start of a line (one-based).
|
|
let utf8Column: Int
|
|
|
|
init(line: Int, utf8Column: Int) {
|
|
self.line = line
|
|
self.utf8Column = utf8Column
|
|
}
|
|
|
|
static func < (lhs: Position, rhs: Position) -> Bool {
|
|
return (lhs.line, lhs.utf8Column) < (rhs.line, rhs.utf8Column)
|
|
}
|
|
|
|
var description: String {
|
|
"\(line):\(utf8Column)"
|
|
}
|
|
}
|