Files
sourcekit-lsp/Sources/BuildServerProtocol/Messages.swift
Alex Hoppen c9a1a08255 Make output paths part of the buildTarget/sources request instead of a separate request
We need a mapping from source file to its output path in order to support source files that are part of multiple targets (because we need the output path to check if we have an up-to-date unit for a file in a given target). To achieve this mapping, it’s easier to tag the output path for each source file onto the `buildTarget/sources` request.
2025-03-14 15:12:38 -07:00

41 lines
1.4 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2019 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
//
//===----------------------------------------------------------------------===//
public import LanguageServerProtocol
fileprivate let requestTypes: [_RequestType.Type] = [
BuildShutdownRequest.self,
BuildTargetPrepareRequest.self,
BuildTargetSourcesRequest.self,
CreateWorkDoneProgressRequest.self,
InitializeBuildRequest.self,
RegisterForChanges.self,
TextDocumentSourceKitOptionsRequest.self,
WorkspaceBuildTargetsRequest.self,
WorkspaceWaitForBuildSystemUpdatesRequest.self,
]
fileprivate let notificationTypes: [NotificationType.Type] = [
CancelRequestNotification.self,
FileOptionsChangedNotification.self,
OnBuildExitNotification.self,
OnBuildInitializedNotification.self,
OnBuildLogMessageNotification.self,
OnBuildTargetDidChangeNotification.self,
OnWatchedFilesDidChangeNotification.self,
TaskFinishNotification.self,
TaskProgressNotification.self,
TaskStartNotification.self,
]
public let bspRegistry = MessageRegistry(requests: requestTypes, notifications: notificationTypes)