Skip to content

Commit 47b1d61

Browse files
committed
Never return error for diagnostics request
VS Code does not request diagnostics again for a document if the diagnostics request failed. Since sourcekit-lsp usually recovers from failures (e.g. after sourcekitd crashes), this is undesirable. Instead of returning an error, return empty results.
1 parent 2e93309 commit 47b1d61

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

Sources/SourceKitLSP/Swift/SwiftLanguageServer.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,9 +1476,10 @@ extension SwiftLanguageServer {
14761476
req.reply(.full(.init(items: diagnostics)))
14771477

14781478
case .failure(let error):
1479-
let message = "document diagnostic failed \(uri): \(error)"
1480-
log(message, level: .warning)
1481-
return req.reply(.failure(.unknown(message)))
1479+
// VS Code does not request diagnostics again for a document if the diagnostics request failed.
1480+
// Since sourcekit-lsp usually recovers from failures (e.g. after sourcekitd crashes), this is undesirable.
1481+
// Instead of returning an error, return empty results.
1482+
return req.reply(.full(.init(items: [])))
14821483
}
14831484
}
14841485
}

0 commit comments

Comments
 (0)