mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-23 00:39:13 +02:00
refactor rebase menu panel
This commit is contained in:
@ -7,33 +7,21 @@ import (
|
|||||||
"github.com/jesseduffield/gocui"
|
"github.com/jesseduffield/gocui"
|
||||||
)
|
)
|
||||||
|
|
||||||
type option struct {
|
|
||||||
value string
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetDisplayStrings is a function.
|
|
||||||
func (r *option) GetDisplayStrings(isFocused bool) []string {
|
|
||||||
return []string{r.value}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (gui *Gui) handleCreateRebaseOptionsMenu(g *gocui.Gui, v *gocui.View) error {
|
func (gui *Gui) handleCreateRebaseOptionsMenu(g *gocui.Gui, v *gocui.View) error {
|
||||||
options := []*option{
|
options := []string{"continue", "abort"}
|
||||||
{value: "continue"},
|
|
||||||
{value: "abort"},
|
|
||||||
}
|
|
||||||
|
|
||||||
if gui.State.WorkingTreeState == "rebasing" {
|
if gui.State.WorkingTreeState == "rebasing" {
|
||||||
options = append(options, &option{value: "skip"})
|
options = append(options, "skip")
|
||||||
}
|
}
|
||||||
|
|
||||||
options = append(options, &option{value: "cancel"})
|
menuItems := make([]*menuItem, len(options))
|
||||||
|
for i, option := range options {
|
||||||
handleMenuPress := func(index int) error {
|
menuItems[i] = &menuItem{
|
||||||
command := options[index].value
|
displayString: option,
|
||||||
if command == "cancel" {
|
onPress: func() error {
|
||||||
return nil
|
return gui.genericMergeCommand(option)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
return gui.genericMergeCommand(command)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var title string
|
var title string
|
||||||
@ -43,7 +31,7 @@ func (gui *Gui) handleCreateRebaseOptionsMenu(g *gocui.Gui, v *gocui.View) error
|
|||||||
title = gui.Tr.SLocalize("RebaseOptionsTitle")
|
title = gui.Tr.SLocalize("RebaseOptionsTitle")
|
||||||
}
|
}
|
||||||
|
|
||||||
return gui.createMenu(title, options, len(options), handleMenuPress)
|
return gui.createMenuNew(title, menuItems, createMenuOptions{showCancel: true})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gui *Gui) genericMergeCommand(command string) error {
|
func (gui *Gui) genericMergeCommand(command string) error {
|
||||||
|
Reference in New Issue
Block a user