mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 20:36:03 +02:00
Have only one of commit message and description on the context stack at a time
This is how we do it for confirmation with suggestions too, so be consistent. It will make things easier later in this branch if we only have one context per "panel" on the stack, even if the panel consists of two views. Concretely this means: - only push the message context onto the stack when opening the panel (this requires making the description view visible manually; we do the same for suggestions) - when switching between message and description, use ReplaceContext rather than PushContext
This commit is contained in:
parent
c3d1a79a89
commit
22dc7fece9
5 changed files with 9 additions and 25 deletions
|
@ -116,6 +116,8 @@ func (self *CommitMessageContext) SetPanelState(
|
||||||
"togglePanelKeyBinding": keybindings.Label(self.c.UserConfig.Keybinding.Universal.TogglePanel),
|
"togglePanelKeyBinding": keybindings.Label(self.c.UserConfig.Keybinding.Universal.TogglePanel),
|
||||||
"commitMenuKeybinding": keybindings.Label(self.c.UserConfig.Keybinding.CommitMessage.CommitMenu),
|
"commitMenuKeybinding": keybindings.Label(self.c.UserConfig.Keybinding.CommitMessage.CommitMenu),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
self.c.Views().CommitDescription.Visible = true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitMessageContext) RenderCommitLength() {
|
func (self *CommitMessageContext) RenderCommitLength() {
|
||||||
|
|
|
@ -53,7 +53,7 @@ func (self *CommitDescriptionController) context() *context.CommitMessageContext
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitDescriptionController) switchToCommitMessage() error {
|
func (self *CommitDescriptionController) switchToCommitMessage() error {
|
||||||
return self.c.PushContext(self.c.Contexts().CommitMessage)
|
return self.c.ReplaceContext(self.c.Contexts().CommitMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitDescriptionController) close() error {
|
func (self *CommitDescriptionController) close() error {
|
||||||
|
|
|
@ -85,7 +85,7 @@ func (self *CommitMessageController) handleNextCommit() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitMessageController) switchToCommitDescription() error {
|
func (self *CommitMessageController) switchToCommitDescription() error {
|
||||||
if err := self.c.PushContext(self.c.Contexts().CommitDescription); err != nil {
|
if err := self.c.ReplaceContext(self.c.Contexts().CommitDescription); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -214,7 +214,7 @@ func (self *CustomPatchOptionsMenuAction) handlePullPatchIntoNewCommit() error {
|
||||||
PreserveMessage: false,
|
PreserveMessage: false,
|
||||||
OnConfirm: func(summary string, description string) error {
|
OnConfirm: func(summary string, description string) error {
|
||||||
return self.c.WithWaitingStatus(self.c.Tr.RebasingStatus, func(gocui.Task) error {
|
return self.c.WithWaitingStatus(self.c.Tr.RebasingStatus, func(gocui.Task) error {
|
||||||
_ = self.c.Helpers().Commits.PopCommitMessageContexts()
|
_ = self.c.Helpers().Commits.CloseCommitMessagePanel()
|
||||||
self.c.LogAction(self.c.Tr.Actions.MovePatchIntoNewCommit)
|
self.c.LogAction(self.c.Tr.Actions.MovePatchIntoNewCommit)
|
||||||
err := self.c.Git().Patch.PullPatchIntoNewCommit(self.c.Model().Commits, commitIndex, summary, description)
|
err := self.c.Git().Patch.PullPatchIntoNewCommit(self.c.Model().Commits, commitIndex, summary, description)
|
||||||
if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(err); err != nil {
|
if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(err); err != nil {
|
||||||
|
|
|
@ -154,7 +154,7 @@ func (self *CommitsHelper) OpenCommitMessagePanel(opts *OpenCommitMessagePanelOp
|
||||||
|
|
||||||
self.UpdateCommitPanelView(opts.InitialMessage)
|
self.UpdateCommitPanelView(opts.InitialMessage)
|
||||||
|
|
||||||
return self.pushCommitMessageContexts()
|
return self.c.PushContext(self.c.Contexts().CommitMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitsHelper) OnCommitSuccess() {
|
func (self *CommitsHelper) OnCommitSuccess() {
|
||||||
|
@ -190,28 +190,10 @@ func (self *CommitsHelper) CloseCommitMessagePanel() error {
|
||||||
|
|
||||||
self.c.Contexts().CommitMessage.SetHistoryMessage("")
|
self.c.Contexts().CommitMessage.SetHistoryMessage("")
|
||||||
|
|
||||||
return self.PopCommitMessageContexts()
|
self.c.Views().CommitMessage.Visible = false
|
||||||
}
|
self.c.Views().CommitDescription.Visible = false
|
||||||
|
|
||||||
func (self *CommitsHelper) PopCommitMessageContexts() error {
|
return self.c.PopContext()
|
||||||
return self.c.RemoveContexts(self.commitMessageContexts())
|
|
||||||
}
|
|
||||||
|
|
||||||
func (self *CommitsHelper) pushCommitMessageContexts() error {
|
|
||||||
for _, context := range self.commitMessageContexts() {
|
|
||||||
if err := self.c.PushContext(context); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (self *CommitsHelper) commitMessageContexts() []types.Context {
|
|
||||||
return []types.Context{
|
|
||||||
self.c.Contexts().CommitDescription,
|
|
||||||
self.c.Contexts().CommitMessage,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitsHelper) OpenCommitMenu(suggestionFunc func(string) []*types.Suggestion) error {
|
func (self *CommitsHelper) OpenCommitMenu(suggestionFunc func(string) []*types.Suggestion) error {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue