Files
sourcekit-lsp/Sources/SwiftSourceKitPlugin/CodeCompletion/Position.swift
Alex Hoppen 5709e1a864 Add a SourceKit plugin to handle code completion requests
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.
2025-01-03 14:21:54 +01:00

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)"
}
}