Skip to content

Commit 3f7efb1

Browse files
committed
Display the command name for custom prompt to code command
1 parent 9b59283 commit 3f7efb1

File tree

5 files changed

+30
-10
lines changed

5 files changed

+30
-10
lines changed

Core/Sources/Service/GUI/PromptToCodeProvider+Service.swift

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@ import PromptToCodeService
33
import SuggestionWidget
44

55
extension PromptToCodeProvider {
6-
convenience init(service: PromptToCodeService, onClosePromptToCode: @escaping () -> Void) {
6+
convenience init(
7+
service: PromptToCodeService,
8+
name: String?,
9+
onClosePromptToCode: @escaping () -> Void
10+
) {
711
self.init(
812
code: service.code,
913
language: service.language.rawValue,
1014
description: "",
1115
startLineIndex: service.selectionRange.start.line,
12-
startLineColumn: service.selectionRange.start.character
16+
startLineColumn: service.selectionRange.start.character,
17+
name: name
1318
)
1419

1520
var cancellables = Set<AnyCancellable>()
@@ -44,18 +49,18 @@ extension PromptToCodeProvider {
4449
}
4550
}
4651
}
47-
52+
4853
onStopRespondingTap = {
4954
service.stopResponding()
5055
}
51-
56+
5257
onAcceptSuggestionTapped = {
5358
Task { @ServiceActor in
5459
let handler = PseudoCommandHandler()
5560
await handler.acceptSuggestion()
5661
}
5762
}
58-
63+
5964
onContinuousToggleClick = {
6065
service.isContinuous.toggle()
6166
}

Core/Sources/Service/GUI/WidgetDataSource.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ final class WidgetDataSource {
109109
)
110110
let provider = PromptToCodeProvider(
111111
service: service,
112+
name: name,
112113
onClosePromptToCode: { [weak self] in
113114
self?.removePromptToCode(for: url)
114115
let presenter = PresentInWindowSuggestionPresenter()

Core/Sources/Service/SuggestionCommandHandler/WindowBaseCommandHandler.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ struct WindowBaseCommandHandler: SuggestionCommandHandler {
252252
editor: editor,
253253
extraSystemPrompt: nil,
254254
prompt: nil,
255-
isContinuous: false
255+
isContinuous: false,
256+
name: nil
256257
)
257258
} catch {
258259
presenter.presentError(error)
@@ -303,7 +304,8 @@ extension WindowBaseCommandHandler {
303304
editor: editor,
304305
extraSystemPrompt: extraSystemPrompt,
305306
prompt: prompt,
306-
isContinuous: continuousMode ?? false
307+
isContinuous: continuousMode ?? false,
308+
name: command.name
307309
)
308310
}
309311
}
@@ -312,7 +314,8 @@ extension WindowBaseCommandHandler {
312314
editor: EditorContent,
313315
extraSystemPrompt: String?,
314316
prompt: String?,
315-
isContinuous: Bool
317+
isContinuous: Bool,
318+
name: String?
316319
) async throws {
317320
presenter.markAsProcessing(true)
318321
defer { presenter.markAsProcessing(false) }
@@ -368,7 +371,7 @@ extension WindowBaseCommandHandler {
368371
selectionRange: selection,
369372
language: codeLanguage,
370373
extraSystemPrompt: extraSystemPrompt,
371-
name: nil
374+
name: name
372375
)
373376

374377
promptToCode.isContinuous = isContinuous

Core/Sources/SuggestionWidget/PromptToCodeProvider.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import SwiftUI
33

44
public final class PromptToCodeProvider: ObservableObject {
55
let id = UUID()
6+
let name: String?
67

78
@Published public var code: String
89
@Published public var language: String
@@ -33,6 +34,7 @@ public final class PromptToCodeProvider: ObservableObject {
3334
errorMessage: String = "",
3435
canRevert: Bool = false,
3536
isContinuous: Bool = false,
37+
name: String? = nil,
3638
onRevertTapped: @escaping () -> Void = {},
3739
onStopRespondingTap: @escaping () -> Void = {},
3840
onCancelTapped: @escaping () -> Void = {},
@@ -50,6 +52,7 @@ public final class PromptToCodeProvider: ObservableObject {
5052
self.errorMessage = errorMessage
5153
self.canRevert = canRevert
5254
self.isContinuous = isContinuous
55+
self.name = name
5356
self.onRevertTapped = onRevertTapped
5457
self.onStopRespondingTap = onStopRespondingTap
5558
self.onCancelTapped = onCancelTapped

Core/Sources/SuggestionWidget/SuggestionPanelContent/PromptToCodePanel.swift

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ struct PromptToCodePanelContent: View {
109109
.padding(.vertical, 2)
110110
.background(
111111
Color.red,
112-
in: RoundedRectangle(cornerRadius: 16, style: .continuous)
112+
in: RoundedRectangle(cornerRadius: 8, style: .continuous)
113113
)
114114
.scaleEffect(x: -1, y: -1, anchor: .center)
115115
}
@@ -147,6 +147,14 @@ struct PromptToCodePanelContent: View {
147147
.frame(maxWidth: .infinity)
148148
.scaleEffect(x: -1, y: -1, anchor: .center)
149149
}
150+
151+
if let name = provider.name {
152+
Text(name)
153+
.font(.footnote)
154+
.foregroundColor(.secondary)
155+
.padding(.top, 12)
156+
.scaleEffect(x: -1, y: -1, anchor: .center)
157+
}
150158
}
151159
.scaleEffect(x: -1, y: 1, anchor: .center)
152160
}

0 commit comments

Comments
 (0)