Files
sourcekit-lsp/Sources/SKTestSupport/DummyBuildServerManagerConnectionToClient.swift
T
Rintaro Ishizaki 04118be02d Prefix SourceKit-LSP extension methods with sourcekit/
Rename all SourceKit-LSP–specific LSP and BSP extension requests and
notifications to use the `sourcekit/` prefix (e.g. `workspace/tests`
→ `sourcekit/workspace/tests`).

* Register the legacy name alias in `MessageRegistry` so incoming
  messages from existing clients are still dispatched correctly.
* Advertise both the new and legacy method names in the `experimental`
  capability dict so old clients can still discover the capabilities
  they know.
* Accept legacy names advertised by old clients in `CapabilityRegistry`.
* Use `LegacyNameFallbackConnection` to retry requests with the legacy
  method name when the peer returns `methodNotFound` for a
  `sourcekit/`-prefixed request. Used in:
  * `SourceKitLSPServer.client` (server→client) to keep old editors working
  * `ExternalBuildServerAdapter.connectionToBuildServer` (SourceKit-LSP→BSP)
    to keep old build servers working
2026-06-22 11:16:37 -07:00

43 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
//
//===----------------------------------------------------------------------===//
import BuildServerIntegration
import Foundation
@_spi(SourceKitLSP) package import LanguageServerProtocol
package struct DummyBuildServerManagerConnectionToClient: BuildServerManagerConnectionToClient {
package var clientSupportsWorkDoneProgress: Bool = false
package init() {}
package func waitUntilInitialized() async {}
package func send(_ notification: some NotificationType) {}
package func nextRequestID() -> RequestID {
return .string(UUID().uuidString)
}
package func send<Request: RequestType>(
_ request: Request,
method: String,
id: RequestID,
reply: @escaping @Sendable (LSPResult<Request.Response>) -> Void
) {
reply(.failure(ResponseError.unknown("Not implemented")))
}
package func watchFiles(_ fileWatchers: [FileSystemWatcher]) async {}
func logMessageToIndexLog(message: String, type: WindowMessageType, structure: StructuredLogKind?) {}
}