mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
This builds on the indexer changes to support test projects using the tibs build system. See the commit message from IndexStoreDB for more information. This commit adds a couple of simple tests using test fixtures in the INPUTS directory. It is a fairly minimal change for using the indexer's test support code to prove the model works. One missing piece here is support for mutable sources and updating the index, which is supported on the IndexStoreDB side, but needs a bit more work here. This also doesn't include any tests using swiftpm's build system.
45 lines
1.9 KiB
Swift
45 lines
1.9 KiB
Swift
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2018 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
/// Request to find all references to the symbol at the given location across the workspace.
|
|
///
|
|
/// Looks up the symbol at the given position and returns a list of all references to that symbol
|
|
/// across the whole workspace. Unlike `documentHighlight`, this is not scoped to a single document.
|
|
///
|
|
/// Servers that provide document highlights should set the`referencesProvider` server capability.
|
|
///
|
|
/// - Parameters:
|
|
/// - textDocument: The document in which to lookup the symbol location.
|
|
/// - position: The document location at which to lookup symbol information.
|
|
/// - includeDeclaration: Whether to include the declaration in the list of symbols.
|
|
///
|
|
/// - Returns: An array of locations, one for each reference.
|
|
public struct ReferencesRequest: RequestType, Hashable {
|
|
public static let method: String = "textDocument/references"
|
|
public typealias Response = [Location]
|
|
|
|
/// The document in which to lookup the symbol location.
|
|
public var textDocument: TextDocumentIdentifier
|
|
|
|
/// The document location at which to lookup symbol information.
|
|
public var position: Position
|
|
|
|
/// Whether to include the declaration in the list of symbols, or just the references.
|
|
public var includeDeclaration: Bool?
|
|
|
|
public init(textDocument: TextDocumentIdentifier, position: Position, includeDeclaration: Bool? = nil) {
|
|
self.textDocument = textDocument
|
|
self.position = position
|
|
self.includeDeclaration = includeDeclaration
|
|
}
|
|
}
|