diff --git a/Sources/SKCore/BuildSystemManager.swift b/Sources/SKCore/BuildSystemManager.swift index 3bd16a1c..cc4a3301 100644 --- a/Sources/SKCore/BuildSystemManager.swift +++ b/Sources/SKCore/BuildSystemManager.swift @@ -120,7 +120,6 @@ public actor BuildSystemManager { public func filesDidChange(_ events: [FileEvent]) async { await self.buildSystem?.filesDidChange(events) - self.fallbackBuildSystem?.filesDidChange(events) } } @@ -206,7 +205,6 @@ extension BuildSystemManager { } await buildSystem?.registerForChangeNotifications(for: mainFile, language: language) - fallbackBuildSystem?.registerForChangeNotifications(for: mainFile, language: language) } /// Return settings for `file` based on the `change` settings for `mainFile`. @@ -248,7 +246,7 @@ extension BuildSystemManager { public func fileHandlingCapability(for uri: DocumentURI) async -> FileHandlingCapability { return max( await buildSystem?.fileHandlingCapability(for: uri) ?? .unhandled, - fallbackBuildSystem?.fileHandlingCapability(for: uri) ?? .unhandled + fallbackBuildSystem != nil ? .fallback : .unhandled ) } } diff --git a/Sources/SKCore/FallbackBuildSystem.swift b/Sources/SKCore/FallbackBuildSystem.swift index 80a6f79c..039cdf8e 100644 --- a/Sources/SKCore/FallbackBuildSystem.swift +++ b/Sources/SKCore/FallbackBuildSystem.swift @@ -21,7 +21,7 @@ import class TSCBasic.Process import struct TSCBasic.AbsolutePath /// A simple BuildSystem suitable as a fallback when accurate settings are unknown. -public final class FallbackBuildSystem: BuildSystem { +public final class FallbackBuildSystem { let buildSetup: BuildSetup @@ -59,13 +59,6 @@ public final class FallbackBuildSystem: BuildSystem { } } - public func registerForChangeNotifications(for uri: DocumentURI, language: Language) { - // Fallback build systems never change. - } - - /// We don't support change watching. - public func unregisterForChangeNotifications(for: DocumentURI) {} - func settingsSwift(_ file: String) -> FileBuildSettings { var args: [String] = [] args.append(contentsOf: self.buildSetup.flags.swiftCompilerFlags) @@ -98,10 +91,4 @@ public final class FallbackBuildSystem: BuildSystem { args.append(file) return FileBuildSettings(compilerArguments: args) } - - public func filesDidChange(_ events: [FileEvent]) {} - - public func fileHandlingCapability(for uri: DocumentURI) -> FileHandlingCapability { - return .fallback - } } diff --git a/Tests/SKCoreTests/BuildSystemManagerTests.swift b/Tests/SKCoreTests/BuildSystemManagerTests.swift index 267fad4b..7e429642 100644 --- a/Tests/SKCoreTests/BuildSystemManagerTests.swift +++ b/Tests/SKCoreTests/BuildSystemManagerTests.swift @@ -34,8 +34,8 @@ final class BuildSystemManagerTests: XCTestCase { ] let bsm = await BuildSystemManager( - buildSystem: FallbackBuildSystem(buildSetup: .default), - fallbackBuildSystem: nil, + buildSystem: nil, + fallbackBuildSystem: FallbackBuildSystem(buildSetup: .default), mainFilesProvider: mainFiles) defer { withExtendedLifetime(bsm) {} } // Keep BSM alive for callbacks.