diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/config/user_config.go | 5 | ||||
-rw-r--r-- | pkg/config/user_config_validation.go | 5 | ||||
-rw-r--r-- | pkg/gui/presentation/commits.go | 9 |
3 files changed, 17 insertions, 2 deletions
diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go index c8895710e..47fbe2eea 100644 --- a/pkg/config/user_config.go +++ b/pkg/config/user_config.go @@ -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, diff --git a/pkg/config/user_config_validation.go b/pkg/config/user_config_validation.go index 403119ada..ed248fc44 100644 --- a/pkg/config/user_config_validation.go +++ b/pkg/config/user_config_validation.go @@ -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 diff --git a/pkg/gui/presentation/commits.go b/pkg/gui/presentation/commits.go index c385d3407..d8e1a45ce 100644 --- a/pkg/gui/presentation/commits.go +++ b/pkg/gui/presentation/commits.go @@ -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) |