mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-06-24 12:21:58 +02:00
04118be02d
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
43 lines
1.4 KiB
Swift
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?) {}
|
|
}
|