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 12:17:34 +1000
commit0cd5257523aa201d5e42cb8afe915fb696b2d92e (patch)
tree58976c6ab2e0dc85060a790e9c510aed8a4fb6ea /pkg/gui/controllers/helpers
parent49da7b482d4f3012814e4100a556ecfad3f0742d (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 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