Skip to content

Commit 62b966b

Browse files
authored
Reset fb and bg to default at the end of the output (#96)
Fix #95
1 parent 25d89f7 commit 62b966b

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

testdata/default.output.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ with some different content
5151

5252
-- empty_file --
5353
-- output.golden --
54-
#[fg=default]#[fg=default]#[fg=white,bold]⎇ #[fg=default]#[fg=white,bold]main#[fg=default] - #[fg=default]#[fg=green,bold]● 1 #[fg=red,bold]✚ 1 #[fg=cyan,bold]⚑ 1 #[fg=magenta,bold]… 2
54+
#[fg=default]#[fg=default]#[fg=white,bold]⎇ #[fg=default]#[fg=white,bold]main#[fg=default] - #[fg=default]#[fg=green,bold]● 1 #[fg=red,bold]✚ 1 #[fg=cyan,bold]⚑ 1 #[fg=magenta,bold]… 2#[fg=default,bg=default]

tmux/formater.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ func (f *Formater) Format(w io.Writer, st *gitstatus.Status) error {
148148
return err
149149
}
150150

151+
const resetStyles = "#[fg=default,bg=default]"
152+
151153
func (f *Formater) format() string {
152154
var comps []string
153155

@@ -188,6 +190,10 @@ func (f *Formater) format() string {
188190
}
189191

190192
sb.WriteString(joinComps())
193+
194+
// Reset foreground and background styles to default, since there could be
195+
// successive elements in user tmux status strings.
196+
sb.WriteString(resetStyles)
191197
return sb.String()
192198
}
193199

tmux/formater_test.go

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,8 @@ func TestFormat(t *testing.T) {
396396
"StyleClear" + " .. " +
397397
"StyleClear" + "StyleRemoteRemote" +
398398
"StyleClear" + " - " +
399-
"StyleClear" + "StyleModSymbolMod2",
399+
"StyleClear" + "StyleModSymbolMod2" +
400+
resetStyles,
400401
},
401402
{
402403
name: "branch, different delimiter, flags",
@@ -423,7 +424,8 @@ func TestFormat(t *testing.T) {
423424
want: "StyleClear" + "StyleBranchSymbolBranch" +
424425
"StyleClear" + "StyleBranch" + "Local" +
425426
"StyleClear" + "~~" +
426-
"StyleClear" + "StyleModSymbolMod2",
427+
"StyleClear" + "StyleModSymbolMod2" +
428+
resetStyles,
427429
},
428430
{
429431
name: "remote only",
@@ -445,7 +447,8 @@ func TestFormat(t *testing.T) {
445447
},
446448
},
447449
want: "StyleClear" + "StyleRemoteRemote " +
448-
"StyleClear" + "SymbolAhead1",
450+
"StyleClear" + "SymbolAhead1" +
451+
resetStyles,
449452
},
450453
{
451454
name: "empty",
@@ -465,7 +468,7 @@ func TestFormat(t *testing.T) {
465468
NumModified: 2,
466469
},
467470
},
468-
want: "",
471+
want: resetStyles,
469472
},
470473
{
471474
name: "branch and remote, branch_max_len not zero",
@@ -492,7 +495,8 @@ func TestFormat(t *testing.T) {
492495
want: "StyleClear" + "StyleBranch" + "SymbolBranch" +
493496
"StyleClear" + "StyleBranch" + "branchNa…" +
494497
"StyleClear" + "/" +
495-
"StyleClear" + "StyleRemote" + "remote/b…",
498+
"StyleClear" + "StyleRemote" + "remote/b…" +
499+
resetStyles,
496500
},
497501
{
498502
name: "branch and remote, branch_max_len not zero and trim left",
@@ -518,7 +522,8 @@ func TestFormat(t *testing.T) {
518522
},
519523
want: "StyleClear" + "StyleBranch" + "SymbolBranch" +
520524
"StyleClear" + "StyleBranch" + "...Branch " +
521-
"StyleClear" + "StyleRemote" + "...Branch",
525+
"StyleClear" + "StyleRemote" + "...Branch" +
526+
resetStyles,
522527
},
523528
{
524529
name: "issue-32",
@@ -536,7 +541,8 @@ func TestFormat(t *testing.T) {
536541
},
537542
},
538543
want: "StyleClear" + "StyleBranch" + "SymbolBranch" +
539-
"StyleClear" + "StyleBranch" + "branchName",
544+
"StyleClear" + "StyleBranch" + "branchName" +
545+
resetStyles,
540546
},
541547
{
542548
name: "hide clean option true",
@@ -554,7 +560,7 @@ func TestFormat(t *testing.T) {
554560
options: options{
555561
HideClean: true,
556562
},
557-
want: "",
563+
want: resetStyles,
558564
},
559565
{
560566
name: "hide clean option false",
@@ -572,7 +578,7 @@ func TestFormat(t *testing.T) {
572578
options: options{
573579
HideClean: false,
574580
},
575-
want: "StyleClear" + "StyleCleanSymbolClean",
581+
want: "StyleClear" + "StyleCleanSymbolClean" + resetStyles,
576582
},
577583
}
578584
for _, tt := range tests {

0 commit comments

Comments
 (0)