summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/helpers
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-04-29 20:04:43 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-04-30 13:19:54 +1000
commita57310df240405770d37f46362b28fe464ef9531 (patch)
tree20f2e695a8b2c14026b7381a3a51406208145068 /pkg/gui/controllers/helpers
parent9d68b287db57b49eddf4b2b81ca1acd2e16aa5aa (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.go13
-rw-r--r--pkg/gui/controllers/helpers/working_tree_helper.go2
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