1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-23 12:18:51 +02:00

Merge pull request #2384 from stefanhaller/disable-reword-in-editor-prompt

This commit is contained in:
Jesse Duffield 2023-01-29 13:43:23 +11:00 committed by GitHub
commit 18db5eafd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 65 additions and 56 deletions

View File

@ -61,6 +61,7 @@ gui:
showIcons: false showIcons: false
commandLogSize: 8 commandLogSize: 8
splitDiff: 'auto' # one of 'auto' | 'always' splitDiff: 'auto' # one of 'auto' | 'always'
skipRewordInEditorWarning: false # for skipping the confirmation before launching the reword editor
git: git:
paging: paging:
colorArg: always colorArg: always

View File

@ -27,29 +27,30 @@ type RefresherConfig struct {
} }
type GuiConfig struct { type GuiConfig struct {
AuthorColors map[string]string `yaml:"authorColors"` AuthorColors map[string]string `yaml:"authorColors"`
BranchColors map[string]string `yaml:"branchColors"` BranchColors map[string]string `yaml:"branchColors"`
ScrollHeight int `yaml:"scrollHeight"` ScrollHeight int `yaml:"scrollHeight"`
ScrollPastBottom bool `yaml:"scrollPastBottom"` ScrollPastBottom bool `yaml:"scrollPastBottom"`
MouseEvents bool `yaml:"mouseEvents"` MouseEvents bool `yaml:"mouseEvents"`
SkipUnstageLineWarning bool `yaml:"skipUnstageLineWarning"` SkipUnstageLineWarning bool `yaml:"skipUnstageLineWarning"`
SkipStashWarning bool `yaml:"skipStashWarning"` SkipStashWarning bool `yaml:"skipStashWarning"`
SidePanelWidth float64 `yaml:"sidePanelWidth"` SidePanelWidth float64 `yaml:"sidePanelWidth"`
ExpandFocusedSidePanel bool `yaml:"expandFocusedSidePanel"` ExpandFocusedSidePanel bool `yaml:"expandFocusedSidePanel"`
MainPanelSplitMode string `yaml:"mainPanelSplitMode"` MainPanelSplitMode string `yaml:"mainPanelSplitMode"`
Language string `yaml:"language"` Language string `yaml:"language"`
TimeFormat string `yaml:"timeFormat"` TimeFormat string `yaml:"timeFormat"`
Theme ThemeConfig `yaml:"theme"` Theme ThemeConfig `yaml:"theme"`
CommitLength CommitLengthConfig `yaml:"commitLength"` CommitLength CommitLengthConfig `yaml:"commitLength"`
SkipNoStagedFilesWarning bool `yaml:"skipNoStagedFilesWarning"` SkipNoStagedFilesWarning bool `yaml:"skipNoStagedFilesWarning"`
ShowListFooter bool `yaml:"showListFooter"` ShowListFooter bool `yaml:"showListFooter"`
ShowFileTree bool `yaml:"showFileTree"` ShowFileTree bool `yaml:"showFileTree"`
ShowRandomTip bool `yaml:"showRandomTip"` ShowRandomTip bool `yaml:"showRandomTip"`
ShowCommandLog bool `yaml:"showCommandLog"` ShowCommandLog bool `yaml:"showCommandLog"`
ShowBottomLine bool `yaml:"showBottomLine"` ShowBottomLine bool `yaml:"showBottomLine"`
ShowIcons bool `yaml:"showIcons"` ShowIcons bool `yaml:"showIcons"`
CommandLogSize int `yaml:"commandLogSize"` CommandLogSize int `yaml:"commandLogSize"`
SplitDiff string `yaml:"splitDiff"` SplitDiff string `yaml:"splitDiff"`
SkipRewordInEditorWarning bool `yaml:"skipRewordInEditorWarning"`
} }
type ThemeConfig struct { type ThemeConfig struct {
@ -368,16 +369,17 @@ func GetDefaultConfig() *UserConfig {
UnstagedChangesColor: []string{"red"}, UnstagedChangesColor: []string{"red"},
DefaultFgColor: []string{"default"}, DefaultFgColor: []string{"default"},
}, },
CommitLength: CommitLengthConfig{Show: true}, CommitLength: CommitLengthConfig{Show: true},
SkipNoStagedFilesWarning: false, SkipNoStagedFilesWarning: false,
ShowListFooter: true, ShowListFooter: true,
ShowCommandLog: true, ShowCommandLog: true,
ShowBottomLine: true, ShowBottomLine: true,
ShowFileTree: true, ShowFileTree: true,
ShowRandomTip: true, ShowRandomTip: true,
ShowIcons: false, ShowIcons: false,
CommandLogSize: 8, CommandLogSize: 8,
SplitDiff: "auto", SplitDiff: "auto",
SkipRewordInEditorWarning: false,
}, },
Git: GitConfig{ Git: GitConfig{
Paging: PagingConfig{ Paging: PagingConfig{

View File

@ -226,6 +226,26 @@ func (self *LocalCommitsController) reword(commit *models.Commit) error {
}) })
} }
func (self *LocalCommitsController) doRewordEditor() error {
self.c.LogAction(self.c.Tr.Actions.RewordCommit)
if self.context().GetSelectedLineIdx() == 0 {
return self.c.RunSubprocessAndRefresh(self.os.Cmd.New("git commit --allow-empty --amend --only"))
}
subProcess, err := self.git.Rebase.RewordCommitInEditor(
self.model.Commits, self.context().GetSelectedLineIdx(),
)
if err != nil {
return self.c.Error(err)
}
if subProcess != nil {
return self.c.RunSubprocessAndRefresh(subProcess)
}
return nil
}
func (self *LocalCommitsController) rewordEditor(commit *models.Commit) error { func (self *LocalCommitsController) rewordEditor(commit *models.Commit) error {
midRebase, err := self.handleMidRebaseCommand("reword", commit) midRebase, err := self.handleMidRebaseCommand("reword", commit)
if err != nil { if err != nil {
@ -235,29 +255,15 @@ func (self *LocalCommitsController) rewordEditor(commit *models.Commit) error {
return nil return nil
} }
return self.c.Confirm(types.ConfirmOpts{ if self.c.UserConfig.Gui.SkipRewordInEditorWarning {
Title: self.c.Tr.RewordInEditorTitle, return self.doRewordEditor()
Prompt: self.c.Tr.RewordInEditorPrompt, } else {
HandleConfirm: func() error { return self.c.Confirm(types.ConfirmOpts{
self.c.LogAction(self.c.Tr.Actions.RewordCommit) Title: self.c.Tr.RewordInEditorTitle,
Prompt: self.c.Tr.RewordInEditorPrompt,
if self.context().GetSelectedLineIdx() == 0 { HandleConfirm: self.doRewordEditor,
return self.c.RunSubprocessAndRefresh(self.os.Cmd.New("git commit --allow-empty --amend --only")) })
} }
subProcess, err := self.git.Rebase.RewordCommitInEditor(
self.model.Commits, self.context().GetSelectedLineIdx(),
)
if err != nil {
return self.c.Error(err)
}
if subProcess != nil {
return self.c.RunSubprocessAndRefresh(subProcess)
}
return nil
},
})
} }
func (self *LocalCommitsController) drop(commit *models.Commit) error { func (self *LocalCommitsController) drop(commit *models.Commit) error {