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

Add user config gui.commitAuthorFormat

This commit is contained in:
anikiforov 2024-05-19 16:07:27 +04:00
parent 629b7ba1b8
commit 57f9493770
5 changed files with 32 additions and 2 deletions

View File

@ -181,6 +181,11 @@ gui:
# If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty. # If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.
showFileIcons: true showFileIcons: true
# Whether to show full author names or their shortened form in the commit graph.
# One of 'auto' (default) | 'full' | 'short'
# If 'auto', initials will be shown in small windows, and full names - in larger ones.
commitAuthorFormat: auto
# Length of commit hash in commits view. 0 shows '*' if NF icons aren't on. # Length of commit hash in commits view. 0 shows '*' if NF icons aren't on.
commitHashLength: 8 commitHashLength: 8

View File

@ -125,6 +125,10 @@ type GuiConfig struct {
NerdFontsVersion string `yaml:"nerdFontsVersion" jsonschema:"enum=2,enum=3,enum="` NerdFontsVersion string `yaml:"nerdFontsVersion" jsonschema:"enum=2,enum=3,enum="`
// If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty. // If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.
ShowFileIcons bool `yaml:"showFileIcons"` ShowFileIcons bool `yaml:"showFileIcons"`
// Whether to show full author names or their shortened form in the commit graph.
// One of 'auto' (default) | 'full' | 'short'
// If 'auto', initials will be shown in small windows, and full names - in larger ones.
CommitAuthorFormat string `yaml:"commitAuthorFormat" jsonschema:"enum=auto,enum=short,enum=full"`
// Length of commit hash in commits view. 0 shows '*' if NF icons aren't on. // Length of commit hash in commits view. 0 shows '*' if NF icons aren't on.
CommitHashLength int `yaml:"commitHashLength" jsonschema:"minimum=0"` CommitHashLength int `yaml:"commitHashLength" jsonschema:"minimum=0"`
// If true, show commit hashes alongside branch names in the branches view. // If true, show commit hashes alongside branch names in the branches view.
@ -676,6 +680,7 @@ func GetDefaultConfig() *UserConfig {
UnstagedChangesColor: []string{"red"}, UnstagedChangesColor: []string{"red"},
DefaultFgColor: []string{"default"}, DefaultFgColor: []string{"default"},
}, },
CommitAuthorFormat: "auto",
CommitLength: CommitLengthConfig{Show: true}, CommitLength: CommitLengthConfig{Show: true},
SkipNoStagedFilesWarning: false, SkipNoStagedFilesWarning: false,
ShowListFooter: true, ShowListFooter: true,

View File

@ -7,6 +7,11 @@ import (
) )
func (config *UserConfig) Validate() error { func (config *UserConfig) Validate() error {
if err := validateEnum("gui.commitAuthorFormat", config.Gui.CommitAuthorFormat,
[]string{"auto", "short", "full"}); err != nil {
return err
}
if err := validateEnum("gui.statusPanelView", config.Gui.StatusPanelView, if err := validateEnum("gui.statusPanelView", config.Gui.StatusPanelView,
[]string{"dashboard", "allBranchesLog"}); err != nil { []string{"dashboard", "allBranchesLog"}); err != nil {
return err return err

View File

@ -440,9 +440,14 @@ func displayCommit(
mark = fmt.Sprintf("%s ", willBeRebased) mark = fmt.Sprintf("%s ", willBeRebased)
} }
authorFunc := authors.ShortAuthor var authorFunc func(string) string
if fullDescription { switch common.UserConfig.Gui.CommitAuthorFormat {
case "short":
authorFunc = authors.ShortAuthor
case "full":
authorFunc = authors.LongAuthor authorFunc = authors.LongAuthor
default:
authorFunc = lo.Ternary(fullDescription, authors.LongAuthor, authors.ShortAuthor)
} }
cols := make([]string, 0, 7) cols := make([]string, 0, 7)

View File

@ -320,6 +320,16 @@
"description": "If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.", "description": "If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.",
"default": true "default": true
}, },
"commitAuthorFormat": {
"type": "string",
"enum": [
"auto",
"short",
"full"
],
"description": "Whether to show full author names or their shortened form in the commit graph.\nOne of 'auto' (default) | 'full' | 'short'\nIf 'auto', initials will be shown in small windows, and full names - in larger ones.",
"default": "auto"
},
"commitHashLength": { "commitHashLength": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,