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

Lines changed: 13 additions & 4 deletions
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

Lines changed: 7 additions & 5 deletions
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

Lines changed: 3 additions & 0 deletions
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)
Lines changed: 7 additions & 0 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy