1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-06-15 00:15:32 +02:00

refactor contexts

This commit is contained in:
Jesse Duffield
2022-02-05 17:04:10 +11:00
parent 145c69d9ae
commit d82f175e79
54 changed files with 1562 additions and 1248 deletions

View File

@ -1,7 +1,7 @@
package controllers
import (
"github.com/jesseduffield/gocui"
"github.com/jesseduffield/lazygit/pkg/gui/context"
"github.com/jesseduffield/lazygit/pkg/gui/types"
)
@ -9,24 +9,20 @@ type MenuController struct {
baseController
c *types.ControllerCommon
context types.IListContext
getSelectedMenuItem func() *types.MenuItem
context *context.MenuContext
}
var _ types.IController = &MenuController{}
func NewMenuController(
c *types.ControllerCommon,
context types.IListContext,
getSelectedMenuItem func() *types.MenuItem,
context *context.MenuContext,
) *MenuController {
return &MenuController{
baseController: baseController{},
c: c,
context: context,
getSelectedMenuItem: getSelectedMenuItem,
c: c,
context: context,
}
}
@ -44,17 +40,17 @@ func (self *MenuController) GetKeybindings(opts types.KeybindingsOpts) []*types.
Key: opts.GetKey(opts.Config.Universal.ConfirmAlt1),
Handler: self.press,
},
{
Key: gocui.MouseLeft,
Handler: func() error { return self.context.HandleClick(self.press) },
},
// {
// Key: gocui.MouseLeft,
// Handler: func() error { return self.context.HandleClick(self.press) },
// },
}
return bindings
}
func (self *MenuController) press() error {
selectedItem := self.getSelectedMenuItem()
selectedItem := self.context.GetSelected()
if err := self.c.PopContext(); err != nil {
return err