@@ -2,7 +2,7 @@ import LaunchAgentManager
22import SwiftUI
33import XPCShared
44
5- struct SettingsView : View {
5+ final class Settings : ObservableObject {
66 @AppStorage ( SettingsKey . quitXPCServiceOnXcodeAndAppQuit, store: . shared)
77 var quitXPCServiceOnXcodeAndAppQuit : Bool = false
88 @AppStorage ( SettingsKey . realtimeSuggestionToggle, store: . shared)
@@ -11,18 +11,24 @@ struct SettingsView: View {
1111 var realtimeSuggestionDebounce : Double = 0.7
1212 @AppStorage ( SettingsKey . suggestionPresentationMode, store: . shared)
1313 var suggestionPresentationModeRawValue : Int = 0
14+ init ( ) { }
15+ }
16+
17+ #warning("MUSTDO: Settings are not synced.")
18+ struct SettingsView : View {
19+ @StateObject var settings = Settings ( )
1420 @State var editingRealtimeSuggestionDebounce : Double = UserDefaults . shared
1521 . value ( forKey: SettingsKey . realtimeSuggestionDebounce) as? Double ?? 0.7
16-
22+
1723 var body : some View {
1824 Section {
1925 Form {
20- Toggle ( isOn: $quitXPCServiceOnXcodeAndAppQuit) {
26+ Toggle ( isOn: $settings . quitXPCServiceOnXcodeAndAppQuit) {
2127 Text ( " Quit service when Xcode and host app are terminated " )
2228 }
2329 . toggleStyle ( . switch)
2430
25- Picker ( selection: $suggestionPresentationModeRawValue) {
31+ Picker ( selection: $settings . suggestionPresentationModeRawValue) {
2632 ForEach ( PresentationMode . allCases, id: \. rawValue) {
2733 switch $0 {
2834 case . comment:
@@ -34,8 +40,8 @@ struct SettingsView: View {
3440 } label: {
3541 Text ( " Present suggestions in " )
3642 }
37-
38- Toggle ( isOn: $realtimeSuggestionToggle) {
43+
44+ Toggle ( isOn: $settings . realtimeSuggestionToggle) {
3945 Text ( " Real-time suggestion " )
4046 }
4147 . toggleStyle ( . switch)
@@ -44,7 +50,7 @@ struct SettingsView: View {
4450 Slider ( value: $editingRealtimeSuggestionDebounce, in: 0 ... 2 , step: 0.1 ) {
4551 Text ( " Real-time suggestion fetch debounce " )
4652 } onEditingChanged: { _ in
47- realtimeSuggestionDebounce = editingRealtimeSuggestionDebounce
53+ settings . realtimeSuggestionDebounce = editingRealtimeSuggestionDebounce
4854 }
4955
5056 Text (
0 commit comments