forked from intitni/CopilotForXcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKeys.swift
More file actions
200 lines (151 loc) · 6.74 KB
/
Keys.swift
File metadata and controls
200 lines (151 loc) · 6.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
import Foundation
public protocol UserDefaultPreferenceKey {
associatedtype Value
var defaultValue: Value { get }
var key: String { get }
}
public struct UserDefaultPreferenceKeys {
public init() {}
public struct NodePath: UserDefaultPreferenceKey {
public let defaultValue: String = ""
public let key = "NodePath"
}
public var nodePath: NodePath { .init() }
public struct RealtimeSuggestionToggle: UserDefaultPreferenceKey {
public let defaultValue: Bool = false
public let key = "RealtimeSuggestionToggle"
}
public var realtimeSuggestionToggle: RealtimeSuggestionToggle { .init() }
public struct RealtimeSuggestionDebounce: UserDefaultPreferenceKey {
public let defaultValue: Double = 1
public let key = "RealtimeSuggestionDebounce"
}
public var realtimeSuggestionDebounce: RealtimeSuggestionDebounce { .init() }
public struct QuitXPCServiceOnXcodeAndAppQuit: UserDefaultPreferenceKey {
public let defaultValue = true
public let key = "QuitXPCServiceOnXcodeAndAppQuit"
}
public var quitXPCServiceOnXcodeAndAppQuit: QuitXPCServiceOnXcodeAndAppQuit { .init() }
public struct SuggestionPresentationMode: UserDefaultPreferenceKey {
public let defaultValue = PresentationMode.floatingWidget
public let key = "SuggestionPresentationMode"
}
public var suggestionPresentationMode: SuggestionPresentationMode { .init() }
public struct AutomaticallyCheckForUpdate: UserDefaultPreferenceKey {
public let defaultValue = false
public let key = "AutomaticallyCheckForUpdate"
}
public var automaticallyCheckForUpdate: AutomaticallyCheckForUpdate { .init() }
public struct SuggestionWidgetPositionModeKey: UserDefaultPreferenceKey {
public let defaultValue = SuggestionWidgetPositionMode.fixedToBottom
public let key = "SuggestionWidgetPositionMode"
}
public var suggestionWidgetPositionMode: SuggestionWidgetPositionModeKey { .init() }
public struct WidgetColorSchemeKey: UserDefaultPreferenceKey {
public let defaultValue = WidgetColorScheme.dark
public let key = "WidgetColorScheme"
}
public var widgetColorScheme: WidgetColorSchemeKey { .init() }
public struct OpenAIAPIKey: UserDefaultPreferenceKey {
public let defaultValue = ""
public let key = "OpenAIAPIKey"
}
public var openAIAPIKey: OpenAIAPIKey { .init() }
public struct ChatGPTEndpoint: UserDefaultPreferenceKey {
public let defaultValue = ""
public let key = "ChatGPTEndpoint"
}
public var chatGPTEndpoint: ChatGPTEndpoint { .init() }
public struct ChatGPTModel: UserDefaultPreferenceKey {
public let defaultValue = Preferences.ChatGPTModel.gpt35Turbo.rawValue
public let key = "ChatGPTModel"
}
public var chatGPTModel: ChatGPTModel { .init() }
public struct ChatGPTMaxToken: UserDefaultPreferenceKey {
public let defaultValue = 2048
public let key = "ChatGPTMaxToken"
}
public var chatGPTMaxToken: ChatGPTMaxToken { .init() }
public struct ChatGPTLanguage: UserDefaultPreferenceKey {
public let defaultValue = ""
public let key = "ChatGPTLanguage"
}
public var chatGPTLanguage: ChatGPTLanguage { .init() }
public struct AcceptSuggestionWithAccessibilityAPI: UserDefaultPreferenceKey {
public let defaultValue = false
public let key = "AcceptSuggestionWithAccessibilityAPI"
}
public var acceptSuggestionWithAccessibilityAPI: AcceptSuggestionWithAccessibilityAPI {
.init()
}
public struct UseGlobalChat: UserDefaultPreferenceKey {
public let defaultValue = false
public let key = "UseGlobalChat"
}
public var useGlobalChat: UseGlobalChat { .init() }
public struct HideCommonPrecedingSpacesInSuggestion: UserDefaultPreferenceKey {
public let defaultValue = false
public let key = "HideCommonPrecedingSpacesInSuggestion"
}
public var hideCommonPrecedingSpacesInSuggestion: HideCommonPrecedingSpacesInSuggestion {
.init()
}
public struct ForceOrderWidgetToFront: UserDefaultPreferenceKey {
public let defaultValue = true
public let key = "ForceOrderWidgetToFront"
}
public var forceOrderWidgetToFront: HideCommonPrecedingSpacesInSuggestion {
.init()
}
public struct DisableSuggestionFeatureGlobally: UserDefaultPreferenceKey {
public let defaultValue = false
public let key = "DisableSuggestionFeatureGlobally"
}
public var disableSuggestionFeatureGlobally: DisableSuggestionFeatureGlobally {
.init()
}
public struct SuggestionFeatureEnabledProjectList: UserDefaultPreferenceKey {
public let defaultValue: [String] = []
public let key = "SuggestionFeatureEnabledProjectList"
}
public var suggestionFeatureEnabledProjectList: SuggestionFeatureEnabledProjectList {
.init()
}
public struct PromptToCodeFeatureProviderKey: UserDefaultPreferenceKey {
public let defaultValue: PromptToCodeFeatureProvider = .openAI
public let key = "PromptToCodeFeatureProvider"
}
public var promptToCodeFeatureProvider: PromptToCodeFeatureProviderKey {
.init()
}
public struct PreferWidgetToStayInsideEditorWhenWidthGreaterThan: UserDefaultPreferenceKey {
public let defaultValue = 1400 as Double
public let key = "PreferWidgetToStayInsideEditorWhenWidthGreaterThan"
}
public var preferWidgetToStayInsideEditorWhenWidthGreaterThan: PreferWidgetToStayInsideEditorWhenWidthGreaterThan {
.init()
}
public var disableLazyVStack: FeatureFlags.DisableLazyVStack { .init() }
public var preCacheOnFileOpen: FeatureFlags.PreCacheOnFileOpen { .init() }
public var runNodeWithInteractiveLoggedInShell: FeatureFlags
.RunNodeWithInteractiveLoggedInShell { .init() }
public var useCustomScrollViewWorkaround: FeatureFlags.UseCustomScrollViewWorkaround { .init() }
}
public enum FeatureFlags {
public struct DisableLazyVStack: UserDefaultPreferenceKey {
public let defaultValue = false
public let key = "FeatureFlag-DisableLazyVStack"
}
public struct PreCacheOnFileOpen: UserDefaultPreferenceKey {
public let defaultValue = true
public let key = "FeatureFlag-PreCacheOnFileOpen"
}
public struct RunNodeWithInteractiveLoggedInShell: UserDefaultPreferenceKey {
public let defaultValue = true
public let key = "FeatureFlag-RunNodeWithInteractiveLoggedInShell"
}
public struct UseCustomScrollViewWorkaround: UserDefaultPreferenceKey {
public let defaultValue = true
public let key = "FeatureFlag-UseCustomScrollViewWorkaround"
}
}