diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-04-29 20:04:43 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-04-30 12:17:34 +1000 |
commit | 0cd5257523aa201d5e42cb8afe915fb696b2d92e (patch) | |
tree | 58976c6ab2e0dc85060a790e9c510aed8a4fb6ea /pkg/gui/controllers/helpers | |
parent | 49da7b482d4f3012814e4100a556ecfad3f0742d (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 2b8c4688b..4126d9ee5 100644 --- a/pkg/gui/controllers/helpers/commits_helper.go +++ b/pkg/gui/controllers/helpers/commits_helper.go @@ -65,7 +65,7 @@ func (self *CommitsHelper) SetMessageAndDescriptionInView(message string) { self.renderCommitLength() } -func (self *CommitsHelper) joinCommitMessageAndDescription() string { +func (self *CommitsHelper) JoinCommitMessageAndDescription() string { if len(self.getCommitDescription()) == 0 { return self.getCommitSummary() } @@ -116,7 +116,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) @@ -132,16 +132,19 @@ func (self *CommitsHelper) HandleCommitConfirm() error { func (self *CommitsHelper) CloseCommitMessagePanel() error { if self.contexts.CommitMessage.GetPreserveMessage() { - message := self.joinCommitMessageAndDescription() + message := self.JoinCommitMessageAndDescription() self.contexts.CommitMessage.SetPreservedMessage(message) } else { self.SetMessageAndDescriptionInView("") } - return self.EscapeCommitsPanel() + + self.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 d205a98dc..6fa85bc35 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -124,7 +124,7 @@ func (self *WorkingTreeHelper) HandleCommitPressWithMessage(initialMessage strin func (self *WorkingTreeHelper) handleCommit(message string) error { cmdObj := self.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 |