mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-04 10:34:55 +02:00
cleanup
This commit is contained in:
parent
eab00de273
commit
1253100431
@ -42,12 +42,12 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [
|
||||
outsideFilterModeBindings := []*types.Binding{
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.SquashDown),
|
||||
Handler: self.squashDown,
|
||||
Handler: self.checkSelected(self.squashDown),
|
||||
Description: self.c.Tr.LcSquashDown,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.MarkCommitAsFixup),
|
||||
Handler: self.fixup,
|
||||
Handler: self.checkSelected(self.fixup),
|
||||
Description: self.c.Tr.LcFixupCommit,
|
||||
},
|
||||
{
|
||||
@ -57,22 +57,22 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.RenameCommitWithEditor),
|
||||
Handler: self.rewordEditor,
|
||||
Handler: self.checkSelected(self.rewordEditor),
|
||||
Description: self.c.Tr.LcRenameCommitEditor,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.Remove),
|
||||
Handler: self.drop,
|
||||
Handler: self.checkSelected(self.drop),
|
||||
Description: self.c.Tr.LcDeleteCommit,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.Edit),
|
||||
Handler: self.edit,
|
||||
Handler: self.checkSelected(self.edit),
|
||||
Description: self.c.Tr.LcEditCommit,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.PickCommit),
|
||||
Handler: self.pick,
|
||||
Handler: self.checkSelected(self.pick),
|
||||
Description: self.c.Tr.LcPickCommit,
|
||||
},
|
||||
{
|
||||
@ -87,17 +87,17 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.MoveDownCommit),
|
||||
Handler: self.handleCommitMoveDown,
|
||||
Handler: self.checkSelected(self.handleCommitMoveDown),
|
||||
Description: self.c.Tr.LcMoveDownCommit,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.MoveUpCommit),
|
||||
Handler: self.handleCommitMoveUp,
|
||||
Handler: self.checkSelected(self.handleCommitMoveUp),
|
||||
Description: self.c.Tr.LcMoveUpCommit,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.AmendToCommit),
|
||||
Handler: self.handleCommitAmendTo,
|
||||
Handler: self.checkSelected(self.handleCommitAmendTo),
|
||||
Description: self.c.Tr.LcAmendToCommit,
|
||||
},
|
||||
{
|
||||
@ -192,12 +192,12 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [
|
||||
return bindings
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) squashDown() error {
|
||||
func (self *LocalCommitsController) squashDown(commit *models.Commit) error {
|
||||
if len(self.model.Commits) <= 1 {
|
||||
return self.c.ErrorMsg(self.c.Tr.YouNoCommitsToSquash)
|
||||
}
|
||||
|
||||
applied, err := self.handleMidRebaseCommand("squash")
|
||||
applied, err := self.handleMidRebaseCommand("squash", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -217,12 +217,12 @@ func (self *LocalCommitsController) squashDown() error {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) fixup() error {
|
||||
func (self *LocalCommitsController) fixup(commit *models.Commit) error {
|
||||
if len(self.model.Commits) <= 1 {
|
||||
return self.c.ErrorMsg(self.c.Tr.YouNoCommitsToSquash)
|
||||
}
|
||||
|
||||
applied, err := self.handleMidRebaseCommand("fixup")
|
||||
applied, err := self.handleMidRebaseCommand("fixup", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -243,7 +243,7 @@ func (self *LocalCommitsController) fixup() error {
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) reword(commit *models.Commit) error {
|
||||
applied, err := self.handleMidRebaseCommand("reword")
|
||||
applied, err := self.handleMidRebaseCommand("reword", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -271,8 +271,8 @@ func (self *LocalCommitsController) reword(commit *models.Commit) error {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) rewordEditor() error {
|
||||
applied, err := self.handleMidRebaseCommand("reword")
|
||||
func (self *LocalCommitsController) rewordEditor(commit *models.Commit) error {
|
||||
applied, err := self.handleMidRebaseCommand("reword", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -294,8 +294,8 @@ func (self *LocalCommitsController) rewordEditor() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) drop() error {
|
||||
applied, err := self.handleMidRebaseCommand("drop")
|
||||
func (self *LocalCommitsController) drop(commit *models.Commit) error {
|
||||
applied, err := self.handleMidRebaseCommand("drop", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -315,8 +315,8 @@ func (self *LocalCommitsController) drop() error {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) edit() error {
|
||||
applied, err := self.handleMidRebaseCommand("edit")
|
||||
func (self *LocalCommitsController) edit(commit *models.Commit) error {
|
||||
applied, err := self.handleMidRebaseCommand("edit", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -330,8 +330,8 @@ func (self *LocalCommitsController) edit() error {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) pick() error {
|
||||
applied, err := self.handleMidRebaseCommand("pick")
|
||||
func (self *LocalCommitsController) pick(commit *models.Commit) error {
|
||||
applied, err := self.handleMidRebaseCommand("pick", commit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -352,9 +352,8 @@ func (self *LocalCommitsController) interactiveRebase(action string) error {
|
||||
// handleMidRebaseCommand sees if the selected commit is in fact a rebasing
|
||||
// commit meaning you are trying to edit the todo file rather than actually
|
||||
// begin a rebase. It then updates the todo file with that action
|
||||
func (self *LocalCommitsController) handleMidRebaseCommand(action string) (bool, error) {
|
||||
selectedCommit := self.context().GetSelected()
|
||||
if selectedCommit.Status != "rebasing" {
|
||||
func (self *LocalCommitsController) handleMidRebaseCommand(action string, commit *models.Commit) (bool, error) {
|
||||
if commit.Status != "rebasing" {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
@ -368,7 +367,7 @@ func (self *LocalCommitsController) handleMidRebaseCommand(action string) (bool,
|
||||
|
||||
self.c.LogAction("Update rebase TODO")
|
||||
self.c.LogCommand(
|
||||
fmt.Sprintf("Updating rebase action of commit %s to '%s'", selectedCommit.ShortSha(), action),
|
||||
fmt.Sprintf("Updating rebase action of commit %s to '%s'", commit.ShortSha(), action),
|
||||
false,
|
||||
)
|
||||
|
||||
@ -383,11 +382,10 @@ func (self *LocalCommitsController) handleMidRebaseCommand(action string) (bool,
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) handleCommitMoveDown() error {
|
||||
func (self *LocalCommitsController) handleCommitMoveDown(commit *models.Commit) error {
|
||||
index := self.context().GetSelectedLineIdx()
|
||||
commits := self.model.Commits
|
||||
selectedCommit := self.model.Commits[index]
|
||||
if selectedCommit.Status == "rebasing" {
|
||||
if commit.Status == "rebasing" {
|
||||
if commits[index+1].Status != "rebasing" {
|
||||
return nil
|
||||
}
|
||||
@ -395,7 +393,7 @@ func (self *LocalCommitsController) handleCommitMoveDown() error {
|
||||
// logging directly here because MoveTodoDown doesn't have enough information
|
||||
// to provide a useful log
|
||||
self.c.LogAction(self.c.Tr.Actions.MoveCommitDown)
|
||||
self.c.LogCommand(fmt.Sprintf("Moving commit %s down", selectedCommit.ShortSha()), false)
|
||||
self.c.LogCommand(fmt.Sprintf("Moving commit %s down", commit.ShortSha()), false)
|
||||
|
||||
if err := self.git.Rebase.MoveTodoDown(index); err != nil {
|
||||
return self.c.Error(err)
|
||||
@ -416,19 +414,18 @@ func (self *LocalCommitsController) handleCommitMoveDown() error {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) handleCommitMoveUp() error {
|
||||
func (self *LocalCommitsController) handleCommitMoveUp(commit *models.Commit) error {
|
||||
index := self.context().GetSelectedLineIdx()
|
||||
if index == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
selectedCommit := self.model.Commits[index]
|
||||
if selectedCommit.Status == "rebasing" {
|
||||
if commit.Status == "rebasing" {
|
||||
// logging directly here because MoveTodoDown doesn't have enough information
|
||||
// to provide a useful log
|
||||
self.c.LogAction(self.c.Tr.Actions.MoveCommitUp)
|
||||
self.c.LogCommand(
|
||||
fmt.Sprintf("Moving commit %s up", selectedCommit.ShortSha()),
|
||||
fmt.Sprintf("Moving commit %s up", commit.ShortSha()),
|
||||
false,
|
||||
)
|
||||
|
||||
@ -451,14 +448,14 @@ func (self *LocalCommitsController) handleCommitMoveUp() error {
|
||||
})
|
||||
}
|
||||
|
||||
func (self *LocalCommitsController) handleCommitAmendTo() error {
|
||||
func (self *LocalCommitsController) handleCommitAmendTo(commit *models.Commit) error {
|
||||
return self.c.Ask(types.AskOpts{
|
||||
Title: self.c.Tr.AmendCommitTitle,
|
||||
Prompt: self.c.Tr.AmendCommitPrompt,
|
||||
HandleConfirm: func() error {
|
||||
return self.c.WithWaitingStatus(self.c.Tr.AmendingStatus, func() error {
|
||||
self.c.LogAction(self.c.Tr.Actions.AmendCommit)
|
||||
err := self.git.Rebase.AmendTo(self.context().GetSelected().Sha)
|
||||
err := self.git.Rebase.AmendTo(commit.Sha)
|
||||
return self.helpers.MergeAndRebase.CheckMergeOrRebase(err)
|
||||
})
|
||||
},
|
||||
|
@ -30,28 +30,28 @@ func (self *ReflogController) GetKeybindings(opts types.KeybindingsOpts) []*type
|
||||
bindings := []*types.Binding{
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.GoInto),
|
||||
Handler: self.checkSelected(self.handleViewReflogCommitFiles),
|
||||
Handler: self.checkSelected(self.enter),
|
||||
Description: self.c.Tr.LcViewCommitFiles,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.Select),
|
||||
Handler: self.checkSelected(self.CheckoutReflogCommit),
|
||||
Handler: self.checkSelected(self.checkout),
|
||||
Description: self.c.Tr.LcCheckoutCommit,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.ViewResetOptions),
|
||||
Handler: self.checkSelected(self.handleCreateReflogResetMenu),
|
||||
Handler: self.checkSelected(self.openResetMenu),
|
||||
Description: self.c.Tr.LcViewResetOptions,
|
||||
OpensMenu: true,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.CherryPickCopy),
|
||||
Handler: opts.Guards.OutsideFilterMode(self.checkSelected(self.handleCopyReflogCommit)),
|
||||
Handler: opts.Guards.OutsideFilterMode(self.checkSelected(self.copy)),
|
||||
Description: self.c.Tr.LcCherryPickCopy,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.CherryPickCopyRange),
|
||||
Handler: opts.Guards.OutsideFilterMode(self.checkSelected(self.handleCopyReflogCommitRange)),
|
||||
Handler: opts.Guards.OutsideFilterMode(self.checkSelected(self.copyRange)),
|
||||
Description: self.c.Tr.LcCherryPickCopyRange,
|
||||
},
|
||||
{
|
||||
@ -83,7 +83,7 @@ func (self *ReflogController) context() *context.ReflogCommitsContext {
|
||||
return self.contexts.ReflogCommits
|
||||
}
|
||||
|
||||
func (self *ReflogController) CheckoutReflogCommit(commit *models.Commit) error {
|
||||
func (self *ReflogController) checkout(commit *models.Commit) error {
|
||||
err := self.c.Ask(types.AskOpts{
|
||||
Title: self.c.Tr.LcCheckoutCommit,
|
||||
Prompt: self.c.Tr.SureCheckoutThisCommit,
|
||||
@ -99,11 +99,11 @@ func (self *ReflogController) CheckoutReflogCommit(commit *models.Commit) error
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *ReflogController) handleCreateReflogResetMenu(commit *models.Commit) error {
|
||||
func (self *ReflogController) openResetMenu(commit *models.Commit) error {
|
||||
return self.helpers.Refs.CreateGitResetMenu(commit.Sha)
|
||||
}
|
||||
|
||||
func (self *ReflogController) handleViewReflogCommitFiles(commit *models.Commit) error {
|
||||
func (self *ReflogController) enter(commit *models.Commit) error {
|
||||
return self.switchToCommitFilesContext(SwitchToCommitFilesContextOpts{
|
||||
RefName: commit.Sha,
|
||||
CanRebase: false,
|
||||
@ -111,10 +111,10 @@ func (self *ReflogController) handleViewReflogCommitFiles(commit *models.Commit)
|
||||
})
|
||||
}
|
||||
|
||||
func (self *ReflogController) handleCopyReflogCommit(commit *models.Commit) error {
|
||||
func (self *ReflogController) copy(commit *models.Commit) error {
|
||||
return self.helpers.CherryPick.Copy(commit, self.model.FilteredReflogCommits, self.context())
|
||||
}
|
||||
|
||||
func (self *ReflogController) handleCopyReflogCommitRange(commit *models.Commit) error {
|
||||
func (self *ReflogController) copyRange(commit *models.Commit) error {
|
||||
return self.helpers.CherryPick.CopyRange(self.context().GetSelectedLineIdx(), self.model.FilteredReflogCommits, self.context())
|
||||
}
|
||||
|
131
pkg/gui/controllers/sub_commits_controller.go
Normal file
131
pkg/gui/controllers/sub_commits_controller.go
Normal file
@ -0,0 +1,131 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||
"github.com/jesseduffield/lazygit/pkg/gui/context"
|
||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||
)
|
||||
|
||||
type SubCommitsController struct {
|
||||
baseController
|
||||
*controllerCommon
|
||||
|
||||
switchToCommitFilesContext SwitchToCommitFilesContextFn
|
||||
}
|
||||
|
||||
var _ types.IController = &SubCommitsController{}
|
||||
|
||||
func NewSubCommitsController(
|
||||
common *controllerCommon,
|
||||
switchToCommitFilesContext SwitchToCommitFilesContextFn,
|
||||
) *SubCommitsController {
|
||||
return &SubCommitsController{
|
||||
baseController: baseController{},
|
||||
controllerCommon: common,
|
||||
switchToCommitFilesContext: switchToCommitFilesContext,
|
||||
}
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding {
|
||||
bindings := []*types.Binding{
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.GoInto),
|
||||
Handler: self.checkSelected(self.enter),
|
||||
Description: self.c.Tr.LcViewCommitFiles,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.Select),
|
||||
Handler: self.checkSelected(self.checkout),
|
||||
Description: self.c.Tr.LcCheckoutCommit,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.ViewResetOptions),
|
||||
Handler: self.checkSelected(self.openResetMenu),
|
||||
Description: self.c.Tr.LcViewResetOptions,
|
||||
OpensMenu: true,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Universal.New),
|
||||
Handler: self.checkSelected(self.newBranch),
|
||||
Description: self.c.Tr.LcNewBranch,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.CherryPickCopy),
|
||||
Handler: self.checkSelected(self.copy),
|
||||
Description: self.c.Tr.LcCherryPickCopy,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.CherryPickCopyRange),
|
||||
Handler: self.checkSelected(self.copyRange),
|
||||
Description: self.c.Tr.LcCherryPickCopyRange,
|
||||
},
|
||||
{
|
||||
Key: opts.GetKey(opts.Config.Commits.ResetCherryPick),
|
||||
Handler: self.helpers.CherryPick.Reset,
|
||||
Description: self.c.Tr.LcResetCherryPick,
|
||||
},
|
||||
}
|
||||
|
||||
return bindings
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) checkSelected(callback func(*models.Commit) error) func() error {
|
||||
return func() error {
|
||||
commit := self.context().GetSelected()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return callback(commit)
|
||||
}
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) Context() types.Context {
|
||||
return self.context()
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) context() *context.ReflogCommitsContext {
|
||||
return self.contexts.ReflogCommits
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) checkout(commit *models.Commit) error {
|
||||
err := self.c.Ask(types.AskOpts{
|
||||
Title: self.c.Tr.LcCheckoutCommit,
|
||||
Prompt: self.c.Tr.SureCheckoutThisCommit,
|
||||
HandleConfirm: func() error {
|
||||
self.c.LogAction(self.c.Tr.Actions.CheckoutCommit)
|
||||
return self.helpers.Refs.CheckoutRef(commit.Sha, types.CheckoutRefOptions{})
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
self.context().SetSelectedLineIdx(0)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) openResetMenu(commit *models.Commit) error {
|
||||
return self.helpers.Refs.CreateGitResetMenu(commit.Sha)
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) enter(commit *models.Commit) error {
|
||||
return self.switchToCommitFilesContext(SwitchToCommitFilesContextOpts{
|
||||
RefName: commit.Sha,
|
||||
CanRebase: false,
|
||||
Context: self.context(),
|
||||
})
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) newBranch(commit *models.Commit) error {
|
||||
return self.helpers.Refs.NewBranch(commit.RefName(), commit.Description(), "")
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) copy(commit *models.Commit) error {
|
||||
return self.helpers.CherryPick.Copy(commit, self.model.SubCommits, self.context())
|
||||
}
|
||||
|
||||
func (self *SubCommitsController) copyRange(commit *models.Commit) error {
|
||||
return self.helpers.CherryPick.CopyRange(self.context().GetSelectedLineIdx(), self.model.SubCommits, self.context())
|
||||
}
|
@ -431,56 +431,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
|
||||
Handler: self.handleCopySelectedSideContextItemToClipboard,
|
||||
Description: self.c.Tr.LcCopyCommitShaToClipboard,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Universal.GoInto),
|
||||
Handler: self.handleViewSubCommitFiles,
|
||||
Description: self.c.Tr.LcViewCommitFiles,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Universal.Select),
|
||||
Handler: self.handleCheckoutSubCommit,
|
||||
Description: self.c.Tr.LcCheckoutCommit,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Commits.ViewResetOptions),
|
||||
Handler: self.handleCreateSubCommitResetMenu,
|
||||
Description: self.c.Tr.LcViewResetOptions,
|
||||
OpensMenu: true,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Universal.New),
|
||||
Handler: self.handleNewBranchOffSubCommit,
|
||||
Description: self.c.Tr.LcNewBranch,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Commits.CherryPickCopy),
|
||||
Handler: self.handleCopySubCommit,
|
||||
Description: self.c.Tr.LcCherryPickCopy,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Commits.CherryPickCopyRange),
|
||||
Handler: self.handleCopySubCommitRange,
|
||||
Description: self.c.Tr.LcCherryPickCopyRange,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
Key: opts.GetKey(opts.Config.Commits.ResetCherryPick),
|
||||
Handler: self.helpers.CherryPick.Reset,
|
||||
Description: self.c.Tr.LcResetCherryPick,
|
||||
},
|
||||
{
|
||||
ViewName: "branches",
|
||||
Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
|
||||
|
@ -1,10 +1,5 @@
|
||||
package gui
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/gui/controllers"
|
||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||
)
|
||||
|
||||
// list panel functions
|
||||
|
||||
func (gui *Gui) subCommitsRenderToMain() error {
|
||||
@ -25,73 +20,3 @@ func (gui *Gui) subCommitsRenderToMain() error {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func (gui *Gui) handleCheckoutSubCommit() error {
|
||||
commit := gui.State.Contexts.SubCommits.GetSelected()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
err := gui.c.Ask(types.AskOpts{
|
||||
Title: gui.c.Tr.LcCheckoutCommit,
|
||||
Prompt: gui.c.Tr.SureCheckoutThisCommit,
|
||||
HandleConfirm: func() error {
|
||||
gui.c.LogAction(gui.c.Tr.Actions.CheckoutCommit)
|
||||
return gui.helpers.Refs.CheckoutRef(commit.Sha, types.CheckoutRefOptions{})
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
gui.State.Contexts.SubCommits.SetSelectedLineIdx(0)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (gui *Gui) handleCreateSubCommitResetMenu() error {
|
||||
commit := gui.State.Contexts.SubCommits.GetSelected()
|
||||
|
||||
return gui.helpers.Refs.CreateGitResetMenu(commit.Sha)
|
||||
}
|
||||
|
||||
func (gui *Gui) handleViewSubCommitFiles() error {
|
||||
commit := gui.State.Contexts.SubCommits.GetSelected()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.SwitchToCommitFilesContext(controllers.SwitchToCommitFilesContextOpts{
|
||||
RefName: commit.Sha,
|
||||
CanRebase: false,
|
||||
Context: gui.State.Contexts.SubCommits,
|
||||
})
|
||||
}
|
||||
|
||||
func (gui *Gui) handleNewBranchOffSubCommit() error {
|
||||
commit := gui.State.Contexts.SubCommits.GetSelected()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.helpers.Refs.NewBranch(commit.RefName(), commit.Description(), "")
|
||||
}
|
||||
|
||||
func (gui *Gui) handleCopySubCommit() error {
|
||||
commit := gui.State.Contexts.SubCommits.GetSelected()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.helpers.CherryPick.Copy(commit, gui.State.Model.SubCommits, gui.State.Contexts.SubCommits)
|
||||
}
|
||||
|
||||
func (gui *Gui) handleCopySubCommitRange() error {
|
||||
// just doing this to ensure something is selected
|
||||
commit := gui.State.Contexts.SubCommits.GetSelected()
|
||||
if commit == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return gui.helpers.CherryPick.CopyRange(gui.State.Contexts.SubCommits.GetSelectedLineIdx(), gui.State.Model.SubCommits, gui.State.Contexts.SubCommits)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user