File tree Expand file tree Collapse file tree 5 files changed +30
-10
lines changed
Expand file tree Collapse file tree 5 files changed +30
-10
lines changed Original file line number Diff line number Diff line change @@ -3,13 +3,18 @@ import PromptToCodeService
33import SuggestionWidget
44
55extension 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 }
Original file line number Diff line number Diff 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 ( )
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import SwiftUI
33
44public 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
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments