Skip to content

Commit a912da4

Browse files
committed
Fix issue that caused the Reloading Package progress indicator to be stuck
If any method in `reloadPacakge` threw, the `Reloading Package` progress indicator was stuck. Also, change the message of the indicator to `SourceKit-LSP: Reloading Package` to make it easier to differentiate from status generated by the VS Code extension. Fixes #1050 rdar://122899093
1 parent 789ec94 commit a912da4

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

Sources/SKSwiftPMWorkspace/SwiftPMWorkspace.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,11 @@ extension SwiftPMWorkspace {
205205
/// dependencies.
206206
func reloadPackage() async throws {
207207
await reloadPackageStatusCallback(.start)
208+
defer {
209+
Task {
210+
await reloadPackageStatusCallback(.end)
211+
}
212+
}
208213

209214
let observabilitySystem = ObservabilitySystem({ scope, diagnostic in
210215
logger.log(level: diagnostic.severity.asLogLevel, "SwiftPM log: \(diagnostic.description)")
@@ -260,12 +265,10 @@ extension SwiftPMWorkspace {
260265
)
261266

262267
guard let delegate = self.delegate else {
263-
await reloadPackageStatusCallback(.end)
264268
return
265269
}
266270
await delegate.fileBuildSettingsChanged(self.watchedFiles)
267271
await delegate.fileHandlingCapabilityChanged()
268-
await reloadPackageStatusCallback(.end)
269272
}
270273
}
271274

Sources/SourceKitLSP/SourceKitServer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ public actor SourceKitServer {
395395

396396
private var packageLoadingWorkDoneProgress = WorkDoneProgressState(
397397
"SourceKitLSP.SourceKitServer.reloadPackage",
398-
title: "Reloading Package"
398+
title: "SourceKit-LSP: Reloading Package"
399399
)
400400

401401
/// **Public for testing**

0 commit comments

Comments
 (0)