diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-04-29 20:04:43 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-04-30 13:19:54 +1000 |
commit | a57310df240405770d37f46362b28fe464ef9531 (patch) | |
tree | 20f2e695a8b2c14026b7381a3a51406208145068 /pkg/gui/controllers/helpers | |
parent | 9d68b287db57b49eddf4b2b81ca1acd2e16aa5aa (diff) |
Retain commit message when cycling history
When cycling history, we want to make it so that upon returning to the original prompt, you get your text back.
Importantly, we don't want to use the existing preservedMessage field for that because that's only for preserving
a NEW commit message, and we don't want the history stuff of the commit reword flow to overwrite that.
Diffstat (limited to 'pkg/gui/controllers/helpers')
-rw-r--r-- | pkg/gui/controllers/helpers/commits_helper.go | 13 | ||||
-rw-r--r-- | pkg/gui/controllers/helpers/working_tree_helper.go | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/pkg/gui/controllers/helpers/commits_helper.go b/pkg/gui/controllers/helpers/commits_helper.go index ce1b3a9e2..262f970de 100644 --- a/pkg/gui/controllers/helpers/commits_helper.go +++ b/pkg/gui/controllers/helpers/commits_helper.go @@ -55,7 +55,7 @@ func (self *CommitsHelper) SetMessageAndDescriptionInView(message string) { self.c.Contexts().CommitMessage.RenderCommitLength() } -func (self *CommitsHelper) joinCommitMessageAndDescription() string { +func (self *CommitsHelper) JoinCommitMessageAndDescription() string { if len(self.getCommitDescription()) == 0 { return self.getCommitSummary() } @@ -106,7 +106,7 @@ func (self *CommitsHelper) OnCommitSuccess() { } func (self *CommitsHelper) HandleCommitConfirm() error { - fullMessage := self.joinCommitMessageAndDescription() + fullMessage := self.JoinCommitMessageAndDescription() if fullMessage == "" { return self.c.ErrorMsg(self.c.Tr.CommitWithoutMessageErr) @@ -122,16 +122,19 @@ func (self *CommitsHelper) HandleCommitConfirm() error { func (self *CommitsHelper) CloseCommitMessagePanel() error { if self.c.Contexts().CommitMessage.GetPreserveMessage() { - message := self.joinCommitMessageAndDescription() + message := self.JoinCommitMessageAndDescription() self.c.Contexts().CommitMessage.SetPreservedMessage(message) } else { self.SetMessageAndDescriptionInView("") } - return self.EscapeCommitsPanel() + + self.c.Contexts().CommitMessage.SetHistoryMessage("") + + return self.PopCommitMessageContexts() } -func (self *CommitsHelper) EscapeCommitsPanel() error { +func (self *CommitsHelper) PopCommitMessageContexts() error { return self.c.RemoveContexts(self.commitMessageContexts()) } diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index e78c8edf5..2679310f9 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -111,7 +111,7 @@ func (self *WorkingTreeHelper) HandleCommitPressWithMessage(initialMessage strin func (self *WorkingTreeHelper) handleCommit(message string) error { cmdObj := self.c.Git().Commit.CommitCmdObj(message) self.c.LogAction(self.c.Tr.Actions.Commit) - _ = self.commitsHelper.EscapeCommitsPanel() + _ = self.commitsHelper.PopCommitMessageContexts() return self.gpgHelper.WithGpgHandling(cmdObj, self.c.Tr.CommittingStatus, func() error { self.commitsHelper.OnCommitSuccess() return nil |