Skip to content

Commit fc2a8a6

Browse files
committed
Add extra system prompt to prompt to code custom command
1 parent 413d387 commit fc2a8a6

File tree

4 files changed

+16
-6
lines changed

4 files changed

+16
-6
lines changed

Copilot for Xcode/CustomCommandView.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,10 @@ struct EditCustomCommandView: View {
176176
self.systemPrompt = systemPrompt ?? ""
177177
self.prompt = prompt ?? ""
178178
continuousMode = false
179-
case let .promptToCode(prompt, continuousMode):
179+
case let .promptToCode(extraSystemPrompt, prompt, continuousMode):
180180
commandType = .promptToCode
181181
self.prompt = prompt ?? ""
182-
systemPrompt = ""
182+
systemPrompt = extraSystemPrompt ?? ""
183183
self.continuousMode = continuousMode ?? false
184184
case .none:
185185
commandType = .chatWithSelection
@@ -214,6 +214,7 @@ struct EditCustomCommandView: View {
214214
systemPromptTextField(title: "Extra System Prompt")
215215
promptTextField
216216
case .promptToCode:
217+
systemPromptTextField(title: "Extra System Prompt")
217218
promptTextField
218219
continuousModeToggle
219220
case .customChat:
@@ -244,7 +245,11 @@ struct EditCustomCommandView: View {
244245
prompt: prompt
245246
)
246247
case .promptToCode:
247-
return .promptToCode(prompt: prompt, continuousMode: continuousMode)
248+
return .promptToCode(
249+
extraSystemPrompt: systemPrompt,
250+
prompt: prompt,
251+
continuousMode: continuousMode
252+
)
248253
case .customChat:
249254
return .customChat(systemPrompt: systemPrompt, prompt: prompt)
250255
}
@@ -335,7 +340,11 @@ struct CustomCommandView_Preview: PreviewProvider {
335340
),
336341
.init(
337342
name: "Refactor Code",
338-
feature: .promptToCode(prompt: "Refactor", continuousMode: false)
343+
feature: .promptToCode(
344+
extraSystemPrompt: nil,
345+
prompt: "Refactor",
346+
continuousMode: false
347+
)
339348
),
340349
.init(
341350
name: "Tell Me A Joke",

Core/Sources/Preferences/CustomCommand.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ public struct CustomCommand: Codable {
55
///
66
/// Keep everything optional so nothing will break when the format changes.
77
public enum Feature: Codable {
8-
case promptToCode(prompt: String?, continuousMode: Bool?)
8+
case promptToCode(extraSystemPrompt: String?, prompt: String?, continuousMode: Bool?)
99
case chatWithSelection(extraSystemPrompt: String?, prompt: String?)
1010
case customChat(systemPrompt: String?, prompt: String?)
1111
}

Core/Sources/Preferences/Keys.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ public extension UserDefaultPreferenceKeys {
236236
.init(
237237
name: "Add Documentation to Selection",
238238
feature: .promptToCode(
239+
extraSystemPrompt: nil,
239240
prompt: "Add documentation on top of the code. Use triple slash if the language supports it.",
240241
continuousMode: false
241242
)

Core/Sources/Service/SuggestionCommandHandler/WindowBaseCommandHandler.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ extension WindowBaseCommandHandler {
293293
extraSystemPrompt: nil,
294294
sendingMessageImmediately: prompt
295295
)
296-
case let .promptToCode(prompt, continuousMode):
296+
case let .promptToCode(_, prompt, continuousMode):
297297
try await presentPromptToCode(
298298
editor: editor,
299299
prompt: prompt,

0 commit comments

Comments
 (0)