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