mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
When the build system sends an update for build targets, update the index for the files in those targets
For each file in the changed targets, we still check whether it has an up-to-date unit based on timestamps. The important thing for this change is that we start indexing files for which we only receive build settings after an update from the build server.
This commit is contained in:
@@ -37,9 +37,15 @@ package actor TestBuildSystem: MessageHandler {
|
||||
connectionToSourceKitLSP.send(OnBuildTargetDidChangeNotification(changes: nil))
|
||||
}
|
||||
|
||||
package nonisolated var supportsPreparation: Bool { false }
|
||||
private let initializeData: SourceKitInitializeBuildResponseData
|
||||
|
||||
package init(connectionToSourceKitLSP: any Connection) {
|
||||
package init(
|
||||
initializeData: SourceKitInitializeBuildResponseData = SourceKitInitializeBuildResponseData(
|
||||
sourceKitOptionsProvider: true
|
||||
),
|
||||
connectionToSourceKitLSP: any Connection
|
||||
) {
|
||||
self.initializeData = initializeData
|
||||
self.connectionToSourceKitLSP = connectionToSourceKitLSP
|
||||
}
|
||||
|
||||
@@ -90,6 +96,8 @@ package actor TestBuildSystem: MessageHandler {
|
||||
handle(request, using: self.workspaceBuildTargetsRequest)
|
||||
case let request as WorkspaceWaitForBuildSystemUpdatesRequest:
|
||||
handle(request, using: self.workspaceWaitForBuildSystemUpdatesRequest)
|
||||
case let request as BuildTargetPrepareRequest:
|
||||
handle(request, using: self.prepareTarget)
|
||||
default:
|
||||
reply(.failure(ResponseError.methodNotFound(type(of: request).method)))
|
||||
}
|
||||
@@ -101,7 +109,8 @@ package actor TestBuildSystem: MessageHandler {
|
||||
version: "",
|
||||
bspVersion: "2.2.0",
|
||||
capabilities: BuildServerCapabilities(),
|
||||
data: nil
|
||||
dataKind: .sourceKit,
|
||||
data: initializeData.encodeToLSPAny()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -148,6 +157,10 @@ package actor TestBuildSystem: MessageHandler {
|
||||
return buildSettingsByFile[request.textDocument.uri]
|
||||
}
|
||||
|
||||
func prepareTarget(_ request: BuildTargetPrepareRequest) async throws -> VoidResponse {
|
||||
return VoidResponse()
|
||||
}
|
||||
|
||||
package func waitForBuildSystemUpdates(request: WorkspaceWaitForBuildSystemUpdatesRequest) async -> VoidResponse {
|
||||
return VoidResponse()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user