Skip to content

Commit 8353a90

Browse files
committed
Release 0.28.0
1 parent 887f789 commit 8353a90

File tree

4 files changed

+30
-9
lines changed

4 files changed

+30
-9
lines changed

Core/Sources/SuggestionWidget/FeatureReducers/WidgetFeature.swift

+13-4
Original file line numberDiff line numberDiff line change
@@ -281,16 +281,22 @@ public struct WidgetFeature {
281281
return .run { send in
282282
await send(.updateColorScheme)
283283
let stream = AsyncStream<Void> { continuation in
284-
userDefaultsObservers.colorSchemeChangeObserver.onChange = {
284+
userDefaultsObservers.xcodeColorSchemeChangeObserver.onChange = {
285285
continuation.yield()
286286
}
287287

288288
userDefaultsObservers.systemColorSchemeChangeObserver.onChange = {
289289
continuation.yield()
290290
}
291291

292+
Task { @MainActor in
293+
Timer.scheduledTimer(withTimeInterval: 60, repeats: true) { _ in
294+
continuation.yield()
295+
}
296+
}
297+
292298
continuation.onTermination = { _ in
293-
userDefaultsObservers.colorSchemeChangeObserver.onChange = {}
299+
userDefaultsObservers.xcodeColorSchemeChangeObserver.onChange = {}
294300
userDefaultsObservers.systemColorSchemeChangeObserver.onChange = {}
295301
}
296302
}
@@ -301,17 +307,20 @@ public struct WidgetFeature {
301307
}
302308
}.cancellable(id: CancelID.observeUserDefaults, cancelInFlight: true)
303309

310+
304311
case .updateActiveApplication:
305312
return .none
306313

307314
case .updateColorScheme:
308-
let widgetColorScheme = UserDefaults.shared.value(for: \.widgetColorScheme)
315+
let xcodePref = UserDefaults(suiteName: "com.apple.dt.Xcode")!
316+
.value(forKey: "IDEAppearance") as? Int ?? 0
317+
let xcodeColorScheme: XcodeColorScheme = .init(rawValue: xcodePref) ?? .system
309318
let systemColorScheme: ColorScheme = NSApp.effectiveAppearance.name == .darkAqua
310319
? .dark
311320
: .light
312321

313322
let scheme: ColorScheme = {
314-
switch (widgetColorScheme, systemColorScheme) {
323+
switch (xcodeColorScheme, systemColorScheme) {
315324
case (.system, .dark), (.dark, _):
316325
return .dark
317326
case (.system, .light), (.light, _):

Core/Sources/SuggestionWidget/ModuleDependency.swift

+7-5
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ public final class WidgetUserDefaultsObservers {
2525
UserDefaultPreferenceKeys().suggestionPresentationMode.key,
2626
], context: nil
2727
)
28-
let colorSchemeChangeObserver = UserDefaultsObserver(
29-
object: UserDefaults.shared, forKeyPaths: [
30-
UserDefaultPreferenceKeys().widgetColorScheme.key,
31-
], context: nil
28+
let xcodeColorSchemeChangeObserver = UserDefaultsObserver(
29+
object: UserDefaults(suiteName: "com.apple.dt.Xcode")!,
30+
forKeyPaths: ["xcodeColorScheme"],
31+
context: nil
3232
)
3333
let systemColorSchemeChangeObserver = UserDefaultsObserver(
34-
object: UserDefaults.standard, forKeyPaths: ["AppleInterfaceStyle"], context: nil
34+
object: UserDefaults.standard,
35+
forKeyPaths: ["AppleInterfaceStyle"],
36+
context: nil
3537
)
3638

3739
public init() {}

Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotService.swift

+3
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ public class GitHubCopilotBaseService {
160160
currentDirectoryURL: urls.supportURL
161161
)
162162

163+
Logger.gitHubCopilot.info("Starting language server in \(urls.supportURL), \(environment)")
164+
Logger.gitHubCopilot.info("Running on Xcode \(xcodeVersion), extension version \(versionNumber)")
165+
163166
let localServer = CopilotLocalProcessServer(executionParameters: executionParams)
164167
localServer.notificationHandler = { _, respond in
165168
respond(.timeout)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import SwiftUI
2+
3+
public enum XcodeColorScheme: Int, CaseIterable {
4+
case system = 0
5+
case light = 1
6+
case dark = 2
7+
}

0 commit comments

Comments
 (0)