@@ -395,16 +395,15 @@ public actor SourceKitServer {
395
395
396
396
private func handleRequest< RequestType: TextDocumentRequest > (
397
397
for request: Request < RequestType > ,
398
- requestHandler: @escaping ( RequestType , Workspace , ToolchainLanguageServer ) async throws -> RequestType . Response ,
399
- fallback: RequestType . Response
398
+ requestHandler: @escaping ( RequestType , Workspace , ToolchainLanguageServer ) async throws -> RequestType . Response
400
399
) async {
401
400
await handleRequest ( request) { request in
402
401
let doc = request. textDocument. uri
403
402
guard let workspace = await self . workspaceForDocument ( uri: request. textDocument. uri) else {
404
403
throw ResponseError . workspaceNotOpen ( request. textDocument. uri)
405
404
}
406
405
guard let languageService = workspace. documentService [ doc] else {
407
- return fallback
406
+ throw ResponseError . unknown ( " No language service for ' \( request . textDocument . uri ) ' found " )
408
407
}
409
408
return try await requestHandler ( request, workspace, languageService)
410
409
}
@@ -747,55 +746,47 @@ extension SourceKitServer: MessageHandler {
747
746
case let request as Request < TypeHierarchySubtypesRequest > :
748
747
await self . handleRequest ( request, handler: self . subtypes)
749
748
case let request as Request < CompletionRequest > :
750
- await self . handleRequest (
751
- for: request,
752
- requestHandler: self . completion,
753
- fallback: CompletionList ( isIncomplete: false , items: [ ] )
754
- )
749
+ await self . handleRequest ( for: request, requestHandler: self . completion)
755
750
case let request as Request < HoverRequest > :
756
- await self . handleRequest ( for: request, requestHandler: self . hover, fallback : nil )
751
+ await self . handleRequest ( for: request, requestHandler: self . hover)
757
752
case let request as Request < OpenInterfaceRequest > :
758
- await self . handleRequest ( for: request, requestHandler: self . openInterface, fallback : nil )
753
+ await self . handleRequest ( for: request, requestHandler: self . openInterface)
759
754
case let request as Request < DeclarationRequest > :
760
- await self . handleRequest ( for: request, requestHandler: self . declaration, fallback : nil )
755
+ await self . handleRequest ( for: request, requestHandler: self . declaration)
761
756
case let request as Request < DefinitionRequest > :
762
- await self . handleRequest ( for: request, requestHandler: self . definition, fallback : . locations ( [ ] ) )
757
+ await self . handleRequest ( for: request, requestHandler: self . definition)
763
758
case let request as Request < ReferencesRequest > :
764
- await self . handleRequest ( for: request, requestHandler: self . references, fallback : [ ] )
759
+ await self . handleRequest ( for: request, requestHandler: self . references)
765
760
case let request as Request < ImplementationRequest > :
766
- await self . handleRequest ( for: request, requestHandler: self . implementation, fallback : . locations ( [ ] ) )
761
+ await self . handleRequest ( for: request, requestHandler: self . implementation)
767
762
case let request as Request < CallHierarchyPrepareRequest > :
768
- await self . handleRequest ( for: request, requestHandler: self . prepareCallHierarchy, fallback : [ ] )
763
+ await self . handleRequest ( for: request, requestHandler: self . prepareCallHierarchy)
769
764
case let request as Request < TypeHierarchyPrepareRequest > :
770
- await self . handleRequest ( for: request, requestHandler: self . prepareTypeHierarchy, fallback : [ ] )
765
+ await self . handleRequest ( for: request, requestHandler: self . prepareTypeHierarchy)
771
766
case let request as Request < SymbolInfoRequest > :
772
- await self . handleRequest ( for: request, requestHandler: self . symbolInfo, fallback : [ ] )
767
+ await self . handleRequest ( for: request, requestHandler: self . symbolInfo)
773
768
case let request as Request < DocumentHighlightRequest > :
774
- await self . handleRequest ( for: request, requestHandler: self . documentSymbolHighlight, fallback : nil )
769
+ await self . handleRequest ( for: request, requestHandler: self . documentSymbolHighlight)
775
770
case let request as Request < FoldingRangeRequest > :
776
- await self . handleRequest ( for: request, requestHandler: self . foldingRange, fallback : nil )
771
+ await self . handleRequest ( for: request, requestHandler: self . foldingRange)
777
772
case let request as Request < DocumentSymbolRequest > :
778
- await self . handleRequest ( for: request, requestHandler: self . documentSymbol, fallback : nil )
773
+ await self . handleRequest ( for: request, requestHandler: self . documentSymbol)
779
774
case let request as Request < DocumentColorRequest > :
780
- await self . handleRequest ( for: request, requestHandler: self . documentColor, fallback : [ ] )
775
+ await self . handleRequest ( for: request, requestHandler: self . documentColor)
781
776
case let request as Request < DocumentSemanticTokensRequest > :
782
- await self . handleRequest ( for: request, requestHandler: self . documentSemanticTokens, fallback : nil )
777
+ await self . handleRequest ( for: request, requestHandler: self . documentSemanticTokens)
783
778
case let request as Request < DocumentSemanticTokensDeltaRequest > :
784
- await self . handleRequest ( for: request, requestHandler: self . documentSemanticTokensDelta, fallback : nil )
779
+ await self . handleRequest ( for: request, requestHandler: self . documentSemanticTokensDelta)
785
780
case let request as Request < DocumentSemanticTokensRangeRequest > :
786
- await self . handleRequest ( for: request, requestHandler: self . documentSemanticTokensRange, fallback : nil )
781
+ await self . handleRequest ( for: request, requestHandler: self . documentSemanticTokensRange)
787
782
case let request as Request < ColorPresentationRequest > :
788
- await self . handleRequest ( for: request, requestHandler: self . colorPresentation, fallback : [ ] )
783
+ await self . handleRequest ( for: request, requestHandler: self . colorPresentation)
789
784
case let request as Request < CodeActionRequest > :
790
- await self . handleRequest ( for: request, requestHandler: self . codeAction, fallback : nil )
785
+ await self . handleRequest ( for: request, requestHandler: self . codeAction)
791
786
case let request as Request < InlayHintRequest > :
792
- await self . handleRequest ( for: request, requestHandler: self . inlayHint, fallback : [ ] )
787
+ await self . handleRequest ( for: request, requestHandler: self . inlayHint)
793
788
case let request as Request < DocumentDiagnosticsRequest > :
794
- await self . handleRequest (
795
- for: request,
796
- requestHandler: self . documentDiagnostic,
797
- fallback: . full( . init( items: [ ] ) )
798
- )
789
+ await self . handleRequest ( for: request, requestHandler: self . documentDiagnostic)
799
790
// IMPORTANT: When adding a new entry to this switch, also add it to the `TaskMetadata` initializer.
800
791
default :
801
792
reply ( . failure( ResponseError . methodNotFound ( R . method) ) )
0 commit comments