1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-11-25 22:32:13 +02:00

implement quick commit when no files staged, if configured to do so

This commit is contained in:
Davyd McColl
2020-11-18 16:17:16 +02:00
committed by Jesse Duffield
parent e05c41828c
commit 26d5444919
3 changed files with 26 additions and 12 deletions

1
.gitignore vendored
View File

@@ -31,3 +31,4 @@ test/integration/*/used_config/
# these sample hooks waste too space space # these sample hooks waste too space space
test/integration/*/expected/.git_keep/hooks/ test/integration/*/expected/.git_keep/hooks/
!.git_keep/ !.git_keep/
lazygit.exe

View File

@@ -17,16 +17,17 @@ type UserConfig struct {
} }
type GuiConfig struct { type GuiConfig struct {
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"`
Theme ThemeConfig `yaml:"theme"` Theme ThemeConfig `yaml:"theme"`
CommitLength CommitLengthConfig `yaml:"commitLength"` CommitLength CommitLengthConfig `yaml:"commitLength"`
SkipNoStagedFilesWarning bool `yaml:"skipNoStagedFilesWarning"`
} }
type ThemeConfig struct { type ThemeConfig struct {
@@ -280,7 +281,8 @@ func GetDefaultConfig() *UserConfig {
SelectedLineBgColor: []string{"default"}, SelectedLineBgColor: []string{"default"},
SelectedRangeBgColor: []string{"blue"}, SelectedRangeBgColor: []string{"blue"},
}, },
CommitLength: CommitLengthConfig{Show: true}, CommitLength: CommitLengthConfig{Show: true},
SkipNoStagedFilesWarning: false,
}, },
Git: GitConfig{ Git: GitConfig{
Paging: PagingConfig{ Paging: PagingConfig{

View File

@@ -301,8 +301,19 @@ func (gui *Gui) commitPrefixConfigForRepo() *config.CommitPrefixConfig {
return &cfg return &cfg
} }
func (gui *Gui) canCommitNow() bool {
if gui.Config.GetUserConfig().Gui.SkipNoStagedFilesWarning {
err := gui.GitCommand.StageAll()
return err == nil
}
if len(gui.stagedFiles()) > 0 {
return true
}
return false
}
func (gui *Gui) handleCommitPress() error { func (gui *Gui) handleCommitPress() error {
if len(gui.stagedFiles()) == 0 { if !gui.canCommitNow() {
return gui.promptToStageAllAndRetry(gui.handleCommitPress) return gui.promptToStageAllAndRetry(gui.handleCommitPress)
} }