WIP Add showDivergenceFromBaseBranch config

This commit is contained in:
Stefan Haller 2024-05-04 12:26:55 +02:00 committed by Jesse Duffield
parent 6d2ec43596
commit 4d2177725f
4 changed files with 56 additions and 31 deletions

View file

@ -74,6 +74,7 @@ gui:
showListFooter: true # for seeing the '5 of 20' message in list panels showListFooter: true # for seeing the '5 of 20' message in list panels
showRandomTip: true showRandomTip: true
showBranchCommitHash: false # show commit hashes alongside branch names showBranchCommitHash: false # show commit hashes alongside branch names
showDivergenceFromBaseBranch: onlyBehind # one of 'off' | 'onlyBehind' | 'behindAndAhead'
showBottomLine: true # for hiding the bottom information line (unless it has important information to tell you) showBottomLine: true # for hiding the bottom information line (unless it has important information to tell you)
showPanelJumps: true # for showing the jump-to-panel keybindings as panel subtitles showPanelJumps: true # for showing the jump-to-panel keybindings as panel subtitles
showCommandLog: true showCommandLog: true

View file

@ -127,6 +127,8 @@ type GuiConfig struct {
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.
ShowBranchCommitHash bool `yaml:"showBranchCommitHash"` ShowBranchCommitHash bool `yaml:"showBranchCommitHash"`
// Whether to show the divergence from the base branch in the branches view.
ShowDivergenceFromBaseBranch string `yaml:"showDivergenceFromBaseBranch" jsonschema:"enum=off,enum=onlyBehind,enum=behindAndAhead"`
// Height of the command log view // Height of the command log view
CommandLogSize int `yaml:"commandLogSize" jsonschema:"minimum=0"` CommandLogSize int `yaml:"commandLogSize" jsonschema:"minimum=0"`
// Whether to split the main window when viewing file changes. // Whether to split the main window when viewing file changes.
@ -681,6 +683,7 @@ func GetDefaultConfig() *UserConfig {
ShowFileIcons: true, ShowFileIcons: true,
CommitHashLength: 8, CommitHashLength: 8,
ShowBranchCommitHash: false, ShowBranchCommitHash: false,
ShowDivergenceFromBaseBranch: "onlyBehind",
CommandLogSize: 8, CommandLogSize: 8,
SplitDiff: "auto", SplitDiff: "auto",
SkipRewordInEditorWarning: false, SkipRewordInEditorWarning: false,

View file

@ -172,8 +172,17 @@ func BranchStatus(
} }
} }
ahead := branch.AheadOfBaseBranch.Load() if userConfig.Gui.ShowDivergenceFromBaseBranch != "off" {
behind := branch.BehindBaseBranch.Load() behind := branch.BehindBaseBranch.Load()
if userConfig.Gui.ShowDivergenceFromBaseBranch == "onlyBehind" {
if behind != 0 {
if result != "" {
result += " "
}
result += style.FgCyan.Sprintf("↓%d", behind)
}
} else {
ahead := branch.AheadOfBaseBranch.Load()
if ahead != 0 || behind != 0 { if ahead != 0 || behind != 0 {
if result != "" { if result != "" {
result += " " result += " "
@ -186,6 +195,8 @@ func BranchStatus(
result += style.FgCyan.Sprintf("↑%d", ahead) result += style.FgCyan.Sprintf("↑%d", ahead)
} }
} }
}
}
return result return result
} }

View file

@ -319,6 +319,16 @@
"type": "boolean", "type": "boolean",
"description": "If true, show commit hashes alongside branch names in the branches view." "description": "If true, show commit hashes alongside branch names in the branches view."
}, },
"showDivergenceFromBaseBranch": {
"type": "string",
"enum": [
"off",
"onlyBehind",
"behindAndAhead"
],
"description": "Whether to show the divergence from the base branch in the branches view.",
"default": "onlyBehind"
},
"commandLogSize": { "commandLogSize": {
"type": "integer", "type": "integer",
"minimum": 0, "minimum": 0,