diff --git a/pkg/gui/confirmation_panel.go b/pkg/gui/confirmation_panel.go index 5518cee7..d5142508 100644 --- a/pkg/gui/confirmation_panel.go +++ b/pkg/gui/confirmation_panel.go @@ -130,10 +130,22 @@ func (gui *Gui) createPopupPanel(g *gocui.Gui, currentView *gocui.View, title, p } func (gui *Gui) setKeyBindings(g *gocui.Gui, handleConfirm, handleClose func(*gocui.Gui, *gocui.View) error) error { + // would use a loop here but because the function takes an interface{} and slices of interfaces require even more boilerplate if err := g.SetKeybinding("confirmation", gocui.KeyEnter, gocui.ModNone, gui.wrappedConfirmationFunction(handleConfirm)); err != nil { return err } - return g.SetKeybinding("confirmation", gocui.KeyEsc, gocui.ModNone, gui.wrappedConfirmationFunction(handleClose)) + if err := g.SetKeybinding("confirmation", 'y', gocui.ModNone, gui.wrappedConfirmationFunction(handleConfirm)); err != nil { + return err + } + + if err := g.SetKeybinding("confirmation", gocui.KeyEsc, gocui.ModNone, gui.wrappedConfirmationFunction(handleClose)); err != nil { + return err + } + if err := g.SetKeybinding("confirmation", 'n', gocui.ModNone, gui.wrappedConfirmationFunction(handleClose)); err != nil { + return err + } + + return nil } func (gui *Gui) createMessagePanel(g *gocui.Gui, currentView *gocui.View, title, prompt string) error { diff --git a/pkg/gui/menu_panel.go b/pkg/gui/menu_panel.go index 7e9ea1e3..372c5d72 100644 --- a/pkg/gui/menu_panel.go +++ b/pkg/gui/menu_panel.go @@ -33,13 +33,13 @@ func (gui *Gui) renderMenuOptions() error { optionsMap := map[string]string{ "esc/q": gui.Tr.Close, "↑ ↓": gui.Tr.Navigate, - "space": gui.Tr.Execute, + "enter": gui.Tr.Execute, } return gui.renderOptionsMap(optionsMap) } func (gui *Gui) handleMenuClose(g *gocui.Gui, v *gocui.View) error { - for _, key := range []gocui.Key{gocui.KeySpace, gocui.KeyEnter} { + for _, key := range []gocui.Key{gocui.KeySpace, gocui.KeyEnter, 'y'} { if err := g.DeleteKeybinding("menu", key, gocui.ModNone); err != nil { return err }