diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-26 16:42:56 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-26 17:22:42 +1100 |
commit | 45dab51214d7deca689279a6a162d80ee27befc8 (patch) | |
tree | fc06fe1b646f37f46ea2461f2b90f41235775ede /pkg/gui/controllers/local_commits_controller.go | |
parent | 540edb0bf46df2dce32f9bcc554c482cfa0cbc7b (diff) |
add basic commits controller for handling actions that apply to all commit contexts
Diffstat (limited to 'pkg/gui/controllers/local_commits_controller.go')
-rw-r--r-- | pkg/gui/controllers/local_commits_controller.go | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 2c3618b82..41433068d 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -3,7 +3,6 @@ package controllers import ( "fmt" - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/gui/context" "github.com/jesseduffield/lazygit/pkg/gui/types" @@ -102,22 +101,6 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ Description: self.c.Tr.LcRevertCommit, }, { - Key: opts.GetKey(opts.Config.Universal.New), - Modifier: gocui.ModNone, - Handler: self.checkSelected(self.newBranch), - Description: self.c.Tr.LcCreateNewBranchFromCommit, - }, - { - 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.PasteCommits), Handler: opts.Guards.OutsideFilterMode(self.paste), Description: self.c.Tr.LcPasteCommits, @@ -150,31 +133,10 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.ViewResetOptions), - Handler: self.checkSelected(self.createResetMenu), - Description: self.c.Tr.LcResetToThisCommit, - }, - { - Key: opts.GetKey(opts.Config.Commits.CheckoutCommit), - Handler: self.checkSelected(self.checkout), - Description: self.c.Tr.LcCheckoutCommit, - }, - { Key: opts.GetKey(opts.Config.Commits.TagCommit), Handler: self.checkSelected(self.createTag), Description: self.c.Tr.LcTagCommit, }, - { - Key: opts.GetKey(opts.Config.Commits.CopyCommitAttributeToClipboard), - Handler: self.checkSelected(self.copyCommitAttribute), - Description: self.c.Tr.LcCopyCommitAttributeToClipboard, - OpensMenu: true, - }, - { - Key: opts.GetKey(opts.Config.Commits.OpenInBrowser), - Handler: self.checkSelected(self.openInBrowser), - Description: self.c.Tr.LcOpenCommitInBrowser, - }, }...) return bindings @@ -557,21 +519,6 @@ func (self *LocalCommitsController) createTag(commit *models.Commit) error { return self.helpers.Tags.CreateTagMenu(commit.Sha, func() {}) } -func (self *LocalCommitsController) checkout(commit *models.Commit) error { - return 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{}) - }, - }) -} - -func (self *LocalCommitsController) createResetMenu(commit *models.Commit) error { - return self.helpers.Refs.CreateGitResetMenu(commit.Sha) -} - func (self *LocalCommitsController) openSearch() error { // we usually lazyload these commits but now that we're searching we need to load them now if self.context().GetLimitCommits() { @@ -600,93 +547,6 @@ func (self *LocalCommitsController) gotoBottom() error { return nil } -func (self *LocalCommitsController) copyCommitAttribute(commit *models.Commit) error { - return self.c.Menu(types.CreateMenuOptions{ - Title: self.c.Tr.Actions.CopyCommitAttributeToClipboard, - Items: []*types.MenuItem{ - { - DisplayString: self.c.Tr.LcCommitSha, - OnPress: func() error { - return self.copyCommitSHAToClipboard(commit) - }, - }, - { - DisplayString: self.c.Tr.LcCommitURL, - OnPress: func() error { - return self.copyCommitURLToClipboard(commit) - }, - }, - { - DisplayString: self.c.Tr.LcCommitDiff, - OnPress: func() error { - return self.copyCommitDiffToClipboard(commit) - }, - }, - { - DisplayString: self.c.Tr.LcCommitMessage, - OnPress: func() error { - return self.copyCommitMessageToClipboard(commit) - }, - }, - }, - }) -} - -func (self *LocalCommitsController) copyCommitSHAToClipboard(commit *models.Commit) error { - self.c.LogAction(self.c.Tr.Actions.CopyCommitSHAToClipboard) - if err := self.os.CopyToClipboard(commit.Sha); err != nil { - return self.c.Error(err) - } - - self.c.Toast(self.c.Tr.CommitSHACopiedToClipboard) - return nil -} - -func (self *LocalCommitsController) copyCommitURLToClipboard(commit *models.Commit) error { - url, err := self.helpers.Host.GetCommitURL(commit.Sha) - if err != nil { - return err - } - - self.c.LogAction(self.c.Tr.Actions.CopyCommitURLToClipboard) - if err := self.os.CopyToClipboard(url); err != nil { - return self.c.Error(err) - } - - self.c.Toast(self.c.Tr.CommitURLCopiedToClipboard) - return nil -} - -func (self *LocalCommitsController) copyCommitDiffToClipboard(commit *models.Commit) error { - diff, err := self.git.Commit.GetCommitDiff(commit.Sha) - if err != nil { - return self.c.Error(err) - } - - self.c.LogAction(self.c.Tr.Actions.CopyCommitDiffToClipboard) - if err := self.os.CopyToClipboard(diff); err != nil { - return self.c.Error(err) - } - - self.c.Toast(self.c.Tr.CommitDiffCopiedToClipboard) - return nil -} - -func (self *LocalCommitsController) copyCommitMessageToClipboard(commit *models.Commit) error { - message, err := self.git.Commit.GetCommitMessage(commit.Sha) - if err != nil { - return self.c.Error(err) - } - - self.c.LogAction(self.c.Tr.Actions.CopyCommitMessageToClipboard) - if err := self.os.CopyToClipboard(message); err != nil { - return self.c.Error(err) - } - - self.c.Toast(self.c.Tr.CommitMessageCopiedToClipboard) - return nil -} - func (self *LocalCommitsController) handleOpenLogMenu() error { return self.c.Menu(types.CreateMenuOptions{ Title: self.c.Tr.LogMenuTitle, @@ -770,20 +630,6 @@ func (self *LocalCommitsController) handleOpenLogMenu() error { }) } -func (self *LocalCommitsController) openInBrowser(commit *models.Commit) error { - url, err := self.helpers.Host.GetCommitURL(commit.Sha) - if err != nil { - return self.c.Error(err) - } - - self.c.LogAction(self.c.Tr.Actions.OpenCommitInBrowser) - if err := self.os.OpenLink(url); err != nil { - return self.c.Error(err) - } - - return nil -} - func (self *LocalCommitsController) checkSelected(callback func(*models.Commit) error) func() error { return func() error { commit := self.context().GetSelected() @@ -803,18 +649,6 @@ func (self *LocalCommitsController) context() *context.LocalCommitsContext { return self.contexts.LocalCommits } -func (self *LocalCommitsController) newBranch(commit *models.Commit) error { - return self.helpers.Refs.NewBranch(commit.RefName(), commit.Description(), "") -} - -func (self *LocalCommitsController) copy(commit *models.Commit) error { - return self.helpers.CherryPick.Copy(commit, self.model.Commits, self.context()) -} - -func (self *LocalCommitsController) copyRange(*models.Commit) error { - return self.helpers.CherryPick.CopyRange(self.context().GetSelectedLineIdx(), self.model.Commits, self.context()) -} - func (self *LocalCommitsController) paste() error { return self.helpers.CherryPick.Paste() } |