Skip to content

Commit

Permalink
add tests and rename option
Browse files Browse the repository at this point in the history
Signed-off-by: marcoSven <me@marcosven.com>
  • Loading branch information
marcoSven committed Apr 16, 2024
1 parent 2f3dbab commit 33eb0cf
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .gitmux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,4 @@ tmux:
hide_clean: false
# Swaps order of behind & ahead upstream counts - "↓·1↑·1" -> "↑·1↓·1"
swap_divergence: false
space_between_divergence: false
divergence_space: false
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ tmux:
ellipsis:
hide_clean: false
swap_divergence: false
space_between_divergence: false
divergence_space: false
```
First, save the default configuration to a new file:
Expand Down Expand Up @@ -272,7 +272,7 @@ This is the list of additional configuration `options`:
| `ellipsis` | Character to show branch name has been truncated | `…` |
| `hide_clean` | Hides the clean flag entirely | `false` |
| `swap_divergence` | Swaps order of behind & ahead upstream counts | `false` |
| `space_between_divergence`| Add space between behind & ahead upstream counts | `false` |
| `divergence_space` | Add space between behind & ahead upstream counts | `false` |


## Troubleshooting
Expand Down
20 changes: 10 additions & 10 deletions tmux/formater.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ func (d *direction) UnmarshalYAML(value *yaml.Node) error {
}

type options struct {
BranchMaxLen int `yaml:"branch_max_len"`
BranchTrim direction `yaml:"branch_trim"`
Ellipsis string `yaml:"ellipsis"`
HideClean bool `yaml:"hide_clean"`
SpaceBetweenDivergence bool `yaml:"space_between_divergence"`
SwapDivergence bool `yaml:"swap_divergence"`
BranchMaxLen int `yaml:"branch_max_len"`
BranchTrim direction `yaml:"branch_trim"`
Ellipsis string `yaml:"ellipsis"`
HideClean bool `yaml:"hide_clean"`
DivergenceSpace bool `yaml:"divergence_space"`
SwapDivergence bool `yaml:"swap_divergence"`
}

// A Formater formats git status to a tmux style string.
Expand Down Expand Up @@ -246,13 +246,13 @@ func (f *Formater) divergence() string {

behind := ""
ahead := ""
space := ""
space := ""

s := f.Styles.Clear + f.Styles.Divergence
if f.st.BehindCount != 0 {
if f.Options.SpaceBetweenDivergence {
space = " "
}
if f.Options.DivergenceSpace {
space = " "
}
behind = fmt.Sprintf("%s%d", f.Symbols.Behind, f.st.BehindCount)
}

Expand Down
82 changes: 82 additions & 0 deletions tmux/formater_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,88 @@ func TestDivergence(t *testing.T) {
},
want: "StyleClear" + "↑·128↓·41",
},
{
name: "space between behind only",
styles: styles{
Clear: "StyleClear",
},
symbols: symbols{
Ahead: "↓·",
Behind: "↑·",
},
options: options{
DivergenceSpace: true,
},
st: &gitstatus.Status{
Porcelain: gitstatus.Porcelain{
AheadCount: 0,
BehindCount: 12,
},
},
want: "StyleClear" + "↑·12",
},
{
name: "space between diverged both way",
styles: styles{
Clear: "StyleClear",
},
symbols: symbols{
Ahead: "↓·",
Behind: "↑·",
},
options: options{
DivergenceSpace: true,
SwapDivergence: false
},
st: &gitstatus.Status{
Porcelain: gitstatus.Porcelain{
AheadCount: 41,
BehindCount: 128,
},
},
want: "StyleClear" + "↑·128 ↓·41",
},
{
name: "space between swap divergence both ways",
styles: styles{
Clear: "StyleClear",
},
symbols: symbols{
Ahead: "↓·",
Behind: "↑·",
},
options: options{
DivergenceSpace: true,
SwapDivergence: true,
},
st: &gitstatus.Status{
Porcelain: gitstatus.Porcelain{
AheadCount: 41,
BehindCount: 128,
},
},
want: "StyleClear" + "↓·41 ↑·128",
},
{
name: "no space between diverged both way",
styles: styles{
Clear: "StyleClear",
},
symbols: symbols{
Ahead: "↓·",
Behind: "↑·",
},
options: options{
DivergenceSpace: false,
},
st: &gitstatus.Status{
Porcelain: gitstatus.Porcelain{
AheadCount: 41,
BehindCount: 128,
},
},
want: "StyleClear" + "↑·128↓·41",
},
{
name: "swap divergence ahead only",
styles: styles{
Expand Down

0 comments on commit 33eb0cf

Please sign in to comment.