1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-15 11:56:37 +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.
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.
commitHashLength: 8

View File

@ -125,6 +125,10 @@ type GuiConfig struct {
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.
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.
CommitHashLength int `yaml:"commitHashLength" jsonschema:"minimum=0"`
// If true, show commit hashes alongside branch names in the branches view.
@ -676,6 +680,7 @@ func GetDefaultConfig() *UserConfig {
UnstagedChangesColor: []string{"red"},
DefaultFgColor: []string{"default"},
},
CommitAuthorFormat: "auto",
CommitLength: CommitLengthConfig{Show: true},
SkipNoStagedFilesWarning: false,
ShowListFooter: true,

View File

@ -7,6 +7,11 @@ import (
)
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,
[]string{"dashboard", "allBranchesLog"}); err != nil {
return err

View File

@ -440,9 +440,14 @@ func displayCommit(
mark = fmt.Sprintf("%s ", willBeRebased)
}
authorFunc := authors.ShortAuthor
if fullDescription {
var authorFunc func(string) string
switch common.UserConfig.Gui.CommitAuthorFormat {
case "short":
authorFunc = authors.ShortAuthor
case "full":
authorFunc = authors.LongAuthor
default:
authorFunc = lo.Ternary(fullDescription, authors.LongAuthor, authors.ShortAuthor)
}
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.",
"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": {
"type": "integer",
"minimum": 0,