@@ -397,16 +397,15 @@ public actor SourceKitServer {
397397
398398 private func handleRequest< RequestType: TextDocumentRequest > (
399399 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
402401 ) async {
403402 await handleRequest ( request) { request in
404403 let doc = request. textDocument. uri
405404 guard let workspace = await self . workspaceForDocument ( uri: request. textDocument. uri) else {
406405 throw ResponseError . workspaceNotOpen ( request. textDocument. uri)
407406 }
408407 guard let languageService = workspace. documentService [ doc] else {
409- return fallback
408+ throw ResponseError . unknown ( " No language service for ' \( request . textDocument . uri ) ' found " )
410409 }
411410 return try await requestHandler ( request, workspace, languageService)
412411 }
@@ -757,55 +756,47 @@ extension SourceKitServer: MessageHandler {
757756 case let request as Request < TypeHierarchySubtypesRequest > :
758757 await self . handleRequest ( request, handler: self . subtypes)
759758 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)
765760 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)
767762 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)
769764 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)
771766 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)
773768 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)
775770 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)
777772 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)
779774 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)
781776 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)
783778 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)
785780 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)
787782 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)
789784 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)
791786 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)
793788 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)
795790 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)
797792 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)
799794 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)
801796 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)
803798 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)
809800 // IMPORTANT: When adding a new entry to this switch, also add it to the `TaskMetadata` initializer.
810801 default :
811802 reply ( . failure( ResponseError . methodNotFound ( R . method) ) )
0 commit comments