summaryrefslogtreecommitdiffstats
path: root/pkg/gui/confirmation_panel.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/confirmation_panel.go')
-rw-r--r--pkg/gui/confirmation_panel.go82
1 files changed, 40 insertions, 42 deletions
diff --git a/pkg/gui/confirmation_panel.go b/pkg/gui/confirmation_panel.go
index bf17bcc52..ecb7d26ac 100644
--- a/pkg/gui/confirmation_panel.go
+++ b/pkg/gui/confirmation_panel.go
@@ -54,32 +54,32 @@ func (gui *Gui) createLoaderPanel(prompt string) error {
func (gui *Gui) wrappedConfirmationFunction(handlersManageFocus bool, function func() error) func() error {
return func() error {
+ if err := gui.closeConfirmationPrompt(handlersManageFocus); err != nil {
+ return err
+ }
+
if function != nil {
if err := function(); err != nil {
- return err
+ return gui.surfaceError(err)
}
}
- if err := gui.closeConfirmationPrompt(handlersManageFocus); err != nil {
- return err
- }
-
return nil
}
}
func (gui *Gui) wrappedPromptConfirmationFunction(handlersManageFocus bool, function func(string) error, getResponse func() string) func() error {
return func() error {
+ if err := gui.closeConfirmationPrompt(handlersManageFocus); err != nil {
+ return err
+ }
+
if function != nil {
if err := function(getResponse()); err != nil {
return gui.surfaceError(err)
}
}
- if err := gui.closeConfirmationPrompt(handlersManageFocus); err != nil {
- return err
- }
-
return nil
}
}
@@ -176,45 +176,43 @@ func (gui *Gui) prepareConfirmationPanel(
suggestionsView.Title = fmt.Sprintf(gui.Tr.SuggestionsTitle, gui.UserConfig.Keybinding.Universal.TogglePanel)
}
- gui.g.Update(func(g *gocui.Gui) error {
- return gui.pushContext(gui.State.Contexts.Confirmation)
- })
return nil
}
func (gui *Gui) createPopupPanel(opts createPopupPanelOpts) error {
- gui.g.Update(func(g *gocui.Gui) error {
- // remove any previous keybindings
- gui.clearConfirmationViewKeyBindings()
-
- err := gui.prepareConfirmationPanel(
- opts.title,
- opts.prompt,
- opts.hasLoader,
- opts.findSuggestionsFunc,
- opts.editable,
- )
- if err != nil {
+ // remove any previous keybindings
+ gui.clearConfirmationViewKeyBindings()
+
+ err := gui.prepareConfirmationPanel(
+ opts.title,
+ opts.prompt,
+ opts.hasLoader,
+ opts.findSuggestionsFunc,
+ opts.editable,
+ )
+ if err != nil {
+ return err
+ }
+ confirmationView := gui.Views.Confirmation
+ confirmationView.Editable = opts.editable
+ confirmationView.Editor = gocui.EditorFunc(gui.defaultEditor)
+
+ if opts.editable {
+ textArea := confirmationView.TextArea
+ textArea.Clear()
+ textArea.TypeString(opts.prompt)
+ confirmationView.RenderTextArea()
+ } else {
+ if err := gui.renderString(confirmationView, opts.prompt); err != nil {
return err
}
- confirmationView := gui.Views.Confirmation
- confirmationView.Editable = opts.editable
- confirmationView.Editor = gocui.EditorFunc(gui.defaultEditor)
-
- if opts.editable {
- textArea := confirmationView.TextArea
- textArea.Clear()
- textArea.TypeString(opts.prompt)
- confirmationView.RenderTextArea()
- } else {
- if err := gui.renderStringSync(confirmationView, opts.prompt); err != nil {
- return err
- }
- }
+ }
- return gui.setKeyBindings(opts)
- })
- return nil
+ if err := gui.setKeyBindings(opts); err != nil {
+ return err
+ }
+
+ return gui.pushContext(gui.State.Contexts.Confirmation)
}
func (gui *Gui) setKeyBindings(opts createPopupPanelOpts) error {
@@ -226,7 +224,7 @@ func (gui *Gui) setKeyBindings(opts createPopupPanelOpts) error {
},
)
- gui.renderString(gui.Views.Options, actions)
+ _ = gui.renderString(gui.Views.Options, actions)
var onConfirm func() error
if opts.handleConfirmPrompt != nil {
onConfirm = gui.wrappedPromptConfirmationFunction(opts.handlersManageFocus, opts.handleConfirmPrompt, func() string { return gui.Views.Confirmation.TextArea.GetContent() })